115 lines
5.2 KiB
Java
115 lines
5.2 KiB
Java
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){
|
||
log.error("error:", e);
|
||
}
|
||
}
|
||
|
||
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));
|
||
}
|
||
}
|