package com.ycl.smoke.task;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.ycl.smoke.dto.EventAddParamDto;
|
import com.ycl.smoke.dto.EventAddResponseDto;
|
import com.ycl.smoke.dto.ResultResponseDto;
|
import com.ycl.smoke.entity.BaseCase;
|
import com.ycl.smoke.entity.VideoAlarmReport;
|
import com.ycl.smoke.entity.Violations;
|
import com.ycl.smoke.mapper.BaseCaseMapper;
|
import com.ycl.smoke.mapper.VideoAlarmReportMapper;
|
import com.ycl.smoke.mapper.ViolationsMapper;
|
import com.ycl.smoke.service.CityPlatformService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
@Component
|
public class CityUploadTask {
|
|
@Resource
|
BaseCaseMapper baseCaseMapper;
|
|
@Resource
|
ViolationsMapper violationsMapper;
|
|
|
@Resource
|
VideoAlarmReportMapper videoAlarmReportMapper;
|
|
@Autowired
|
CityPlatformService cityPlatformService;
|
|
|
@Scheduled(cron = "0 */5 * * * ?") // 每5分钟执行
|
public void upload() {
|
QueryWrapper<BaseCase> wrapperWc = new QueryWrapper<>();
|
wrapperWc.lambda().eq(BaseCase::getState, 10);
|
List<BaseCase> baseCases = baseCaseMapper.selectList(wrapperWc);
|
|
baseCases.forEach(o -> {
|
|
Violations violations = violationsMapper.selectById(o.getId());
|
String medias = "";
|
String eventDesc = "";
|
if (violations != null) {
|
eventDesc = violations.getDescription();
|
VideoAlarmReport videoAlarmReport = videoAlarmReportMapper.selectById(violations.getVideoAlarmReportId());
|
if (videoAlarmReport != null) {
|
StringBuilder stringBuilder = new StringBuilder().append("[{'mediaURL':'").append(videoAlarmReport.getPicData()).append(videoAlarmReport.getPicData()).append("'}]");
|
medias = stringBuilder.toString();
|
}
|
}
|
EventAddParamDto dto = EventAddParamDto.builder().y84(o.getLatitude() != null ? o.getLatitude().toString() : "")
|
.x84(o.getLongitude() != null ? o.getLongitude().toString() : "")
|
.source(11).address(o.getSite()).eventDesc(eventDesc).eventSign(o.getCode())
|
.medias(medias).build();
|
String msg = cityPlatformService.addEvent(dto);
|
ResultResponseDto result = JSONObject.parseObject(msg, ResultResponseDto.class);
|
System.out.println("--" + result.toString());
|
if (result.getCode() == 0) {
|
try {
|
|
// EventAddResponseDto responseDto = JSONObject.parseObject(result.getResult(), EventAddResponseDto.class);
|
// o.setTaskCode(responseDto.getTaskcode());
|
o.setTaskCode(result.getResult());
|
o.setState(2);
|
baseCaseMapper.updateById(o);
|
System.out.println("--更新成功");
|
|
} catch (Exception ex) {
|
|
System.out.println("--" + ex.getMessage());
|
}
|
}
|
|
});
|
}
|
}
|