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 washList=videoItemMapper.selectVideoItemISCPlayConfigList(carCamera.getWashVideoItemId(),carPassRecord.getProjectSn()); if(washList!=null&&washList.size()>0){ Map 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 airtightList=videoItemMapper.selectVideoItemISCPlayConfigList(carCamera.getAirtightVideoItemId(),carPassRecord.getProjectSn()); if(airtightList!=null&&airtightList.size()>0){ Map 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> list=new ArrayList<>(); Map 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 alarmIdList=new ArrayList<>(); Map 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)); } }