115 lines
5.2 KiB
Java
Raw Normal View History

2023-02-16 15:28:15 +08:00
package com.zhgd.xmgl.async;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.car.entity.CarCamera;
import com.zhgd.xmgl.modules.car.entity.CarPassRecord;
import com.zhgd.xmgl.modules.car.mapper.CarPassRecordMapper;
import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @program: wisdomSite
* @description:
* @author: Mr.Peng
* @create: 2021-12-03 14:33
**/
@Slf4j
@Component
public class AsyncCar {
@Autowired
private VideoItemMapper videoItemMapper;
@Autowired
private CarPassRecordMapper carPassRecordMapper;
@Value("${video-analysis-url}")
private String videoAnalysisUrl;
@Value("${serverUrl}")
private String serverUrl;
/**
* 转发车辆分析视频数据
*/
@Async("environmentNoiseDataExecutor")
public void sendCarVideoAnalysisData(CarPassRecord carPassRecord, CarCamera carCamera) {
try {
if(carPassRecord.getType()==1) {
if (carCamera != null && (StringUtils.isNotEmpty(carCamera.getWashVideoItemId()) || StringUtils.isNotEmpty(carCamera.getAirtightVideoItemId()))) {
String enterTime=carPassRecordMapper.selectCarEnterTime(carPassRecord.getProjectSn(),carPassRecord.getCarNumber());
JSONObject jsonObject=new JSONObject();
jsonObject.put("enterTime",enterTime);
jsonObject.put("outTime",carPassRecord.getPassTime());
jsonObject.put("carNumber",carPassRecord.getCarNumber());
jsonObject.put("carColor",carPassRecord.getCarColor());
jsonObject.put("color",carPassRecord.getColor());
//车辆冲洗
List<EntityMap> washList=videoItemMapper.selectVideoItemISCPlayConfigList(carCamera.getWashVideoItemId(),carPassRecord.getProjectSn());
if(washList!=null&&washList.size()>0){
Map<String,Object> object=new HashMap<>();
object.put("projectSn",carPassRecord.getProjectSn());
object.put("videoList",washList);
object.put("resultUrl",serverUrl+"/xmgl/carVideoWashData/saveCarVideoAnalyWashResult");
object.put("type",3);
object.put("data",jsonObject);
if(StringUtils.isNotEmpty(videoAnalysisUrl)){
HttpUtil.post(videoAnalysisUrl, JSONUtil.toJsonStr(object));
}
}
List<EntityMap> airtightList=videoItemMapper.selectVideoItemISCPlayConfigList(carCamera.getAirtightVideoItemId(),carPassRecord.getProjectSn());
if(airtightList!=null&&airtightList.size()>0){
Map<String,Object> object=new HashMap<>();
object.put("projectSn",carPassRecord.getProjectSn());
object.put("videoList",airtightList);
object.put("resultUrl",serverUrl+"/xmgl/carVideoAirtightData/saveCarVideoAnalyAirtightResult");
object.put("type",4);
object.put("data",jsonObject);
if(StringUtils.isNotEmpty(videoAnalysisUrl)){
HttpUtil.post(videoAnalysisUrl, JSONUtil.toJsonStr(object));
}
}
}
}
}catch (Exception e){
2024-04-14 21:05:01 +08:00
log.error("error", e);
2023-02-16 15:28:15 +08:00
}
}
public static void main(String[] args) {
JSONObject jsonObject=new JSONObject();
jsonObject.put("enterTime","2021-12-03 11:00:00");
jsonObject.put("outTime","2021-12-03 16:00:00");
jsonObject.put("carNumber","鄂A88888");
jsonObject.put("carColor","蓝色");
jsonObject.put("color","蓝色");
List<Map<String,Object>> list=new ArrayList<>();
Map<String,Object> video=new HashMap<>();
video.put("appId","24017757");
video.put("appSecret","VJz0FbzmE6drPQ7egsBi");
video.put("ip","182.101.141.23");
video.put("port","18443");
video.put("serialNumber","34ad8813a79d4cbaaebdbeaddaa53598");
list.add(video);
List<Integer> alarmIdList=new ArrayList<>();
Map<String,Object> object=new HashMap<>();
object.put("projectSn","11111");
object.put("videoList",list);
object.put("resultUrl","http://127.0.0.1:6023/xmgl/carVideoAirtightData/saveCarVideoAnalyAirtightResult");
object.put("type",4);
object.put("data",jsonObject);
log.info(JSONUtil.toJsonStr(object));
String resulut=HttpUtil.post("http://127.0.0.1:6500/api/analysisVideo", JSONUtil.toJsonStr(object));
}
}