包头修改

This commit is contained in:
guoshengxiong 2025-11-27 18:34:14 +08:00
parent 649320930f
commit c89c0dd3d6
4 changed files with 17 additions and 9 deletions

View File

@ -19,6 +19,7 @@ import java.io.Serializable;
@Data @Data
@TableName("car_danger_detect") @TableName("car_danger_detect")
@ApiModel(value = "CarDangerDetect实体类", description = "CarDangerDetect") @ApiModel(value = "CarDangerDetect实体类", description = "CarDangerDetect")
@Deprecated//使用车辆测速设备
public class CarDangerDetect implements Serializable { public class CarDangerDetect implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@ -91,6 +91,7 @@ public class ProjectHomeNameServiceImpl extends ServiceImpl<ProjectHomeNameMappe
public void saveName(ProjectHomeName projectHomeName) { public void saveName(ProjectHomeName projectHomeName) {
ProjectHomeName name = projectHomeNameMapper.selectOne(new LambdaQueryWrapper<ProjectHomeName>() ProjectHomeName name = projectHomeNameMapper.selectOne(new LambdaQueryWrapper<ProjectHomeName>()
.eq(ProjectHomeName::getWhichType, projectHomeName.getWhichType()) .eq(ProjectHomeName::getWhichType, projectHomeName.getWhichType())
.eq(ProjectHomeName::getWhichModule, projectHomeName.getWhichModule())
.eq(ProjectHomeName::getProjectSn, projectHomeName.getProjectSn()) .eq(ProjectHomeName::getProjectSn, projectHomeName.getProjectSn())
); );
if (name == null) { if (name == null) {

View File

@ -327,6 +327,8 @@ public class Project implements Serializable {
private String workerSafeWatchTime; private String workerSafeWatchTime;
@ApiModelProperty(value = "是否需要项目管理员做AI抓拍初筛") @ApiModelProperty(value = "是否需要项目管理员做AI抓拍初筛")
private Integer aiAlarmNeedManageApprove; private Integer aiAlarmNeedManageApprove;
@ApiModelProperty(value = "是否需要项目管理员做车辆不安全行为监测抓拍初筛")
private Integer carDangerNeedManageApprove;
/** /**
* runde平台token * runde平台token
*/ */

View File

@ -26,6 +26,7 @@ import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDataService;
import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDevService; import com.zhgd.xmgl.modules.car.service.ICarMeasureSpeedDevService;
import com.zhgd.xmgl.modules.car.service.impl.CarInfoServiceImpl; import com.zhgd.xmgl.modules.car.service.impl.CarInfoServiceImpl;
import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.entity.Project;
import com.zhgd.xmgl.modules.project.entity.vo.ProjectInfoExtVo;
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
import com.zhgd.xmgl.util.HikvisionUtil; import com.zhgd.xmgl.util.HikvisionUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -125,7 +126,6 @@ public class CarInfoTask {
List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>() List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>()
.eq(Project::getSyncHikvision, 1)); .eq(Project::getSyncHikvision, 1));
Map<String, List<CarMeasureSpeedDev>> projectMap = carMeasureSpeedDevService.list().stream().collect(Collectors.groupingBy(CarMeasureSpeedDev::getProjectSn)); Map<String, List<CarMeasureSpeedDev>> projectMap = carMeasureSpeedDevService.list().stream().collect(Collectors.groupingBy(CarMeasureSpeedDev::getProjectSn));
Map<String, List<CarDangerDetect>> dangerDetectProjectMap = carDangerDetectService.list().stream().collect(Collectors.groupingBy(CarDangerDetect::getProjectSn));
for (Project project : projects) { for (Project project : projects) {
try { try {
JSONArray listJa = getSpeedDataList(start, project); JSONArray listJa = getSpeedDataList(start, project);
@ -138,11 +138,15 @@ public class CarInfoTask {
carMeasureSpeedDataService.saveBatch(speedDatas); carMeasureSpeedDataService.saveBatch(speedDatas);
} }
Map<String, CarDangerDetect> carDangerDevMap = Optional.ofNullable(dangerDetectProjectMap.get(project.getProjectSn())).map(m -> m.stream().collect(Collectors.toMap(CarDangerDetect::getHardwareId, Function.identity()))).orElse(null); List<CarDangerDetectRecord> carDangers = buildCarDangerData(listJa, devMap, project);
List<CarDangerDetectRecord> carDangers = buildCarDangerData(listJa, carDangerDevMap, project);
if (CollUtil.isNotEmpty(carDangers)) { if (CollUtil.isNotEmpty(carDangers)) {
carDangerDetectRecordService.saveBatch(carDangers); carDangerDetectRecordService.saveBatch(carDangers);
} }
if (Objects.equals(project.getCarDangerNeedManageApprove(), 0)) {
for (CarDangerDetectRecord danger : carDangers) {
carDangerDetectRecordService.violationPush(danger.getId());
}
}
} catch (Exception e) { } catch (Exception e) {
log.error("定时到海康拉取车辆超速错误:", e); log.error("定时到海康拉取车辆超速错误:", e);
@ -151,7 +155,7 @@ public class CarInfoTask {
} }
private List<CarDangerDetectRecord> buildCarDangerData(JSONArray listJa, Map<String, CarDangerDetect> carDangerDevMap, Project project) throws Exception { private List<CarDangerDetectRecord> buildCarDangerData(JSONArray listJa, Map<String, CarMeasureSpeedDev> carDangerDevMap, Project project) throws Exception {
List<CarDangerDetectRecord> datas = new ArrayList<>(); List<CarDangerDetectRecord> datas = new ArrayList<>();
if (CollUtil.isNotEmpty(listJa)) { if (CollUtil.isNotEmpty(listJa)) {
for (int i = 0; i < listJa.size(); i++) { for (int i = 0; i < listJa.size(); i++) {
@ -161,7 +165,7 @@ public class CarInfoTask {
continue; continue;
} }
String monitoringId = jo.getString("monitoringId"); String monitoringId = jo.getString("monitoringId");
CarDangerDetect dev = carDangerDevMap.get(monitoringId); CarMeasureSpeedDev dev = carDangerDevMap.get(monitoringId);
if (dev == null) { if (dev == null) {
continue; continue;
} }
@ -170,16 +174,16 @@ public class CarInfoTask {
Date time = DateUtil.parse(jo.getString("crossTime")); Date time = DateUtil.parse(jo.getString("crossTime"));
CarDangerDetectRecord data = new CarDangerDetectRecord(); CarDangerDetectRecord data = new CarDangerDetectRecord();
data.setProjectSn(dev.getProjectSn()); data.setProjectSn(dev.getProjectSn());
data.setHardwareName(dev.getHardwareName()); data.setHardwareName(dev.getDeviceName());
data.setHardwareId(dev.getHardwareId()); data.setHardwareId(dev.getDevSn());
String platePicUrl = jo.getString("carPicUri"); String platePicUrl = jo.getString("carPicUri");
String svrIndex = jo.getString("aswSyscode"); String svrIndex = jo.getString("aswSyscode");
if (StringUtils.isNotBlank(platePicUrl)) { if (StringUtils.isNotBlank(platePicUrl)) {
data.setImageUrl(hikvisionCall.saveToLocal(HikvisionCall.getHikvisionEventsPicture(new HikvisionEventsPictureRq(svrIndex, platePicUrl), project.getArtemisConfigHost(), project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()))); data.setImageUrl(hikvisionCall.saveToLocal(HikvisionCall.getHikvisionEventsPicture(new HikvisionEventsPictureRq(svrIndex, platePicUrl), project.getArtemisConfigHost(), project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret())));
} }
data.setAlarmDesc(dev.getHardwareName()); data.setAlarmDesc(dev.getDeviceName());
data.setAlarmType(1); data.setAlarmType(1);
data.setLocation(dev.getHardwareName()); data.setLocation(dev.getDeviceName());
data.setCreateTime(DateUtil.formatDateTime(time)); data.setCreateTime(DateUtil.formatDateTime(time));
data.setIsPushed(false); data.setIsPushed(false);
data.setCarNumber(plateNo); data.setCarNumber(plateNo);