diff --git a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java index d324a2172..c9bdb4b39 100644 --- a/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java +++ b/src/main/java/com/zhgd/xmgl/async/AsyncHikvision.java @@ -493,29 +493,31 @@ public class AsyncHikvision { @Async("sendBatchExecutor") public void sendBatchWorkerInfoAsync(List allDevList, List workerList, List workerAndDevSnList, Long userId, String projectSn) { try { - Map workerIdMap = workerList.stream().collect(Collectors.toMap(workerInfo -> workerInfo.getId() + "", Function.identity())); - Map devSnMap = allDevList.stream().collect(Collectors.toMap(UfaceDev::getDevSn, Function.identity())); - ProjectInfoExtVo project = projectService.getProjectInfoBySn(projectSn); - Map> devSnToJoMap = workerAndDevSnList.stream().collect(Collectors.groupingBy(jsonObject -> jsonObject.getString("devSn"))); - JSONObject gdvJo = HikvisionUtil.getDoorsV2(project, HikvisionUtil.addPageParamIfAbsent(new JSONObject())); - JSONObject gdvDataJo = HikvisionUtil.getJSONObjectData(gdvJo); - //门禁设备编号:parentIndexCode,门禁点编号:indexCode,门禁设备资源通道号:channelNo - Map devSnToIscDevSnMap = gdvDataJo.getJSONArray("list").stream().collect(Collectors.toMap(o -> ((JSONObject) o).getString("indexCode"), o -> (JSONObject) o)); - Map> iscDevSnToMyMap = gdvDataJo.getJSONArray("list").stream().collect(Collectors.toMap(o -> ((JSONObject) o).getString("parentIndexCode"), o -> { - HashMap m1 = new HashMap<>(); - m1.put(((JSONObject) o).getString("channelNo"), (JSONObject) o); - return m1; - }, (o1, o2) -> { - o1.putAll(o2); - return o1; - })); - ArrayList futures = new ArrayList<>(); - for (Map.Entry> entry : devSnToJoMap.entrySet()) { - Future future = asyncHikvision.sendBatchWorkersForOneDevAsync(workerIdMap, devSnMap, project, devSnToIscDevSnMap, iscDevSnToMyMap, entry, projectSn); - futures.add(future); - } - for (Future future : futures) { - while (!future.isDone()) { + if (CollUtil.isNotEmpty(workerAndDevSnList)) { + Map workerIdMap = workerList.stream().collect(Collectors.toMap(workerInfo -> workerInfo.getId() + "", Function.identity())); + Map devSnMap = allDevList.stream().collect(Collectors.toMap(UfaceDev::getDevSn, Function.identity())); + ProjectInfoExtVo project = projectService.getProjectInfoBySn(projectSn); + Map> devSnToJoMap = workerAndDevSnList.stream().collect(Collectors.groupingBy(jsonObject -> jsonObject.getString("devSn"))); + JSONObject gdvJo = HikvisionUtil.getDoorsV2(project, HikvisionUtil.addPageParamIfAbsent(new JSONObject())); + JSONObject gdvDataJo = HikvisionUtil.getJSONObjectData(gdvJo); + //门禁设备编号:parentIndexCode,门禁点编号:indexCode,门禁设备资源通道号:channelNo + Map devSnToIscDevSnMap = gdvDataJo.getJSONArray("list").stream().collect(Collectors.toMap(o -> ((JSONObject) o).getString("indexCode"), o -> (JSONObject) o)); + Map> iscDevSnToMyMap = gdvDataJo.getJSONArray("list").stream().collect(Collectors.toMap(o -> ((JSONObject) o).getString("parentIndexCode"), o -> { + HashMap m1 = new HashMap<>(); + m1.put(((JSONObject) o).getString("channelNo"), (JSONObject) o); + return m1; + }, (o1, o2) -> { + o1.putAll(o2); + return o1; + })); + ArrayList futures = new ArrayList<>(); + for (Map.Entry> entry : devSnToJoMap.entrySet()) { + Future future = asyncHikvision.sendBatchWorkersForOneDevAsync(workerIdMap, devSnMap, project, devSnToIscDevSnMap, iscDevSnToMyMap, entry, projectSn); + futures.add(future); + } + for (Future future : futures) { + while (!future.isDone()) { + } } } //下发完成 diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index cc14ebf65..9a04b19ec 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -1224,9 +1224,9 @@ public class HikvisionCall { .eq(XzHikvisionSync::getWhoId, whoId) .eq(XzHikvisionSync::getBigType, bigType) ); - Integer sendSuccessStatus = null; + Integer sendSuccessStatus = 4; if (CollUtil.isEmpty(xzHikvisionSyncs) || xzHikvisionSyncs.stream().allMatch(xzHikvisionSync1 -> xzHikvisionSync1.getIsSuccess() == null)) { - sendSuccessStatus = null; + sendSuccessStatus = 4; } else if (xzHikvisionSyncs.stream().allMatch(xzHikvisionSync1 -> Objects.equals(xzHikvisionSync1.getIsSuccess(), 1))) { sendSuccessStatus = 1; } else if (xzHikvisionSyncs.stream().allMatch(xzHikvisionSync1 -> xzHikvisionSync1.getIsSuccess() == null || Objects.equals(xzHikvisionSync1.getIsSuccess(), 0))) { 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 b90b90068..0571d1677 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 @@ -128,7 +128,7 @@ public class CarInfo implements Serializable { private java.lang.String jqx; @ApiModelProperty(value = "其他证明") private java.lang.String otherProve; - @ApiModelProperty(value = "下发状态:1成功2失败3部分成功") + @ApiModelProperty(value = "下发状态:1成功2失败3部分成功4未下发") private Integer sendSuccessStatus; @ApiModelProperty(value = "外来车人员身份证号") private java.lang.String outsideDriverIdCard; diff --git a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java index 97c1acae9..057b7b68e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/service/impl/CarInfoServiceImpl.java @@ -117,7 +117,7 @@ public class CarInfoServiceImpl extends ServiceImpl impl queryWrapper.lambda().eq(CarInfo::getProjectSn, c.getProjectSn()) .eq(CarInfo::getCarNumber, c.getCarNumber()); CarInfo old = carInfoMapper.selectOne(queryWrapper); - c.setSendSuccessStatus(null); + c.setSendSuccessStatus(4); if (old != null) { if (Objects.equals(old.getCarModuleType(), 1)) { throw new OpenAlertException("该车辆已添加,请勿重复添加!"); @@ -232,7 +232,7 @@ public class CarInfoServiceImpl extends ServiceImpl impl CarInfo old = carInfoMapper.selectById(carInfo.getId()); carInfoMapper.updateById(carInfo); carInfoMapper.update(null, new LambdaUpdateWrapper() - .set(CarInfo::getSendSuccessStatus, null) + .set(CarInfo::getSendSuccessStatus, 4) .eq(CarInfo::getId, carInfo.getId())); if (isReservationType(old)) { diff --git a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java index f47b68637..3e55d395f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/project/service/impl/ProjectUfaceConfigServiceImpl.java @@ -538,9 +538,6 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl s.equals(activeEnvironment)); } + /** + * 是否星纵环境 + * + * @return + */ + public static boolean isXingZong() { + return Stream.of("xingzong", "xingzong-test").anyMatch(s -> s.equals(activeEnvironment)); + } + }