diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 67abe374a..1eb40ceb8 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -570,7 +570,7 @@ public class HikvisionCall { public void retrySyncHikvision() throws Exception { HashMap newListMap = new HashMap<>(); newListMap.put("isSuccess", 0); - newListMap.put("createDateBegin", DateUtil.formatDateTime(DateUtil.offsetHour(new Date(),-1))); + newListMap.put("createDateBegin", DateUtil.formatDateTime(DateUtil.offsetHour(new Date(), -1))); List newestList = xzHikvisionSyncService.getNewestList(newListMap); for (XzHikvisionSync xzHikvisionSync : newestList) { log.info("海康同步的定时重试失败的记录,id:{}", xzHikvisionSync.getId()); @@ -977,36 +977,59 @@ public class HikvisionCall { xzHikvisionSync.setIsSuccess(1); xzHikvisionSyncMapper.updateById(xzHikvisionSync); + if (type >= 4) { + Integer fail = getFailOrSucCount(projectSn, whoId, now, 0); + if (fail == 0) { + carInfoMapper.update(null, new LambdaUpdateWrapper() + .eq(CarInfo::getId, whoId) + .set(CarInfo::getSendSuccessStatus, 1) + ); + } else { + Integer sc = getFailOrSucCount(projectSn, whoId, now, 1); + if (sc == 0) { + carInfoMapper.update(null, new LambdaUpdateWrapper() + .eq(CarInfo::getId, whoId) + .set(CarInfo::getSendSuccessStatus, 2) + ); + } else { + carInfoMapper.update(null, new LambdaUpdateWrapper() + .eq(CarInfo::getId, whoId) + .set(CarInfo::getSendSuccessStatus, 3) + ); + } + } + } else { + Integer fail = getFailOrSucCount(projectSn, whoId, now, 0); + if (fail == 0) { + workerInfoMapper.update(null, new LambdaUpdateWrapper() + .eq(WorkerInfo::getId, whoId) + .set(WorkerInfo::getSendSuccessStatus, 1) + ); + } else { + Integer sc = getFailOrSucCount(projectSn, whoId, now, 1); + if (sc == 0) { + workerInfoMapper.update(null, new LambdaUpdateWrapper() + .eq(WorkerInfo::getId, whoId) + .set(WorkerInfo::getSendSuccessStatus, 2) + ); + } else { + workerInfoMapper.update(null, new LambdaUpdateWrapper() + .eq(WorkerInfo::getId, whoId) + .set(WorkerInfo::getSendSuccessStatus, 3) + ); + } + } + } + } + + private Integer getFailOrSucCount(String projectSn, Long whoId, Date now, int val) { Integer fail = xzHikvisionSyncMapper.selectCount(new LambdaQueryWrapper() .eq(XzHikvisionSync::getProjectSn, projectSn) .eq(XzHikvisionSync::getWhoId, whoId) .eq(XzHikvisionSync::getCreateDate, now) - .eq(XzHikvisionSync::getIsSuccess, 0) + .eq(XzHikvisionSync::getIsSuccess, val) ); - if (fail == 0) { - workerInfoMapper.update(null, new LambdaUpdateWrapper() - .eq(WorkerInfo::getId, whoId) - .set(WorkerInfo::getSendSuccessStatus, 1) - ); - } else { - Integer sc = xzHikvisionSyncMapper.selectCount(new LambdaQueryWrapper() - .eq(XzHikvisionSync::getProjectSn, projectSn) - .eq(XzHikvisionSync::getWhoId, whoId) - .eq(XzHikvisionSync::getCreateDate, now) - .eq(XzHikvisionSync::getIsSuccess, 1) - ); - if (sc == 0) { - workerInfoMapper.update(null, new LambdaUpdateWrapper() - .eq(WorkerInfo::getId, whoId) - .set(WorkerInfo::getSendSuccessStatus, 2) - ); - } else { - workerInfoMapper.update(null, new LambdaUpdateWrapper() - .eq(WorkerInfo::getId, whoId) - .set(WorkerInfo::getSendSuccessStatus, 3) - ); - } - } + return fail; } /** diff --git a/src/main/java/com/zhgd/xmgl/modules/car/entity/CarInfo.java b/src/main/java/com/zhgd/xmgl/modules/car/entity/CarInfo.java index 19005a787..16a9420f3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/entity/CarInfo.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/entity/CarInfo.java @@ -125,7 +125,8 @@ public class CarInfo implements Serializable { private java.lang.String jqx; @ApiModelProperty(value = "其他证明") private java.lang.String otherProve; - + @ApiModelProperty(value = "下发状态:1成功2失败3部分成功") + private Integer sendSuccessStatus; @TableField(exist = false) @ApiModelProperty(value = "企业名称") private String enterpriseName;