diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java index 20b82ba..4badb3e 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java @@ -9,6 +9,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.text.StrPool; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -111,7 +112,6 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl queryWrap = new LambdaQueryWrapper<>(); - queryWrap.eq(CsTerminalLogs::getDeviceId,id); - csTerminalLogsService.remove(queryWrap); - if (update) { refreshDeviceDataCache(); } //新增操作日志 CsTerminalLogs csTerminalLogs = new CsTerminalLogs(); + csTerminalLogs.setId(IdUtil.simpleUUID()); csTerminalLogs.setDeviceId(id); csTerminalLogs.setOperateType(2); csTerminalLogs.setIsPush(0); diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalLogsServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalLogsServiceImpl.java index 518ad94..14fc451 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalLogsServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalLogsServiceImpl.java @@ -66,6 +66,8 @@ public class CsTerminalLogsServiceImpl extends ServiceImpl list = this.list(wrapper); if (CollectionUtil.isNotEmpty(list)) { + //先清空缓存 + redisUtil.delete(RequestUtil.getUserIndex()+"reply"); //新增台账集合 List addList = new ArrayList<>(); //修改台账集合 @@ -97,42 +99,44 @@ public class CsTerminalLogsServiceImpl extends ServiceImpl devList = Stream.of(addList, updateList, deleteList).flatMap(List::stream).collect(Collectors.toList()); - //获取设备集合 - List deviceList = csEquipmentDeliveryService.listByIds(devList); - //按照前置机id分组 - Map> nodeMap = deviceList.stream().collect(Collectors.groupingBy(CsEquipmentDeliveryPO::getNodeId)); - nodeMap.forEach((k,v)->{ - int maxProcessNum = nodeService.getNodeById(k).getMaxProcessNum(); - //按照进程号分组 - Map> nodeProcessMap = v.stream().collect(Collectors.groupingBy(CsEquipmentDeliveryPO::getNodeProcess)); - nodeProcessMap.forEach((k1,v1)->{ - if (v1.size() > 10) { - //一个进程下修改的设备数量超过10台,重启该进程号下的前置 - CldControlMessage cldControlMessage = new CldControlMessage(); - cldControlMessage.setGuid(IdUtil.simpleUUID()); - cldControlMessage.setCode("set_process"); - cldControlMessage.setProcessNo(k1); - cldControlMessage.setFun("delete"); - cldControlMessage.setProcessNum(maxProcessNum); - controlMessageTemplate.sendMember(cldControlMessage,k); - } + if (CollectionUtil.isNotEmpty(devList)) { + //获取设备集合 + List deviceList = csEquipmentDeliveryService.listByIds(devList); + //按照前置机id分组 + Map> nodeMap = deviceList.stream().collect(Collectors.groupingBy(CsEquipmentDeliveryPO::getNodeId)); + nodeMap.forEach((k,v)->{ + int maxProcessNum = nodeService.getNodeById(k).getMaxProcessNum(); + //按照进程号分组 + Map> nodeProcessMap = v.stream().collect(Collectors.groupingBy(CsEquipmentDeliveryPO::getNodeProcess)); + nodeProcessMap.forEach((k1,v1)->{ + if (v1.size() > 10) { + //一个进程下修改的设备数量超过10台,重启该进程号下的前置 + CldControlMessage cldControlMessage = new CldControlMessage(); + cldControlMessage.setGuid(IdUtil.simpleUUID()); + cldControlMessage.setCode("set_process"); + cldControlMessage.setProcessNo(k1); + cldControlMessage.setFun("delete"); + cldControlMessage.setProcessNum(maxProcessNum); + controlMessageTemplate.sendMember(cldControlMessage,k); + } + }); }); - }); - if (CollectionUtil.isNotEmpty(addList)) { - sendMessage(addList, deviceList, "add_terminal"); - } - if (CollectionUtil.isNotEmpty(updateList)) { - sendMessage(updateList, deviceList, "ledger_modify"); - } - if (CollectionUtil.isNotEmpty(deleteList)) { - sendDeleteMessage(deleteList, list, "delete_terminal"); - } + if (CollectionUtil.isNotEmpty(addList)) { + sendMessage(addList, deviceList, "add_terminal"); + } + if (CollectionUtil.isNotEmpty(updateList)) { + sendMessage(updateList, deviceList, "ledger_modify"); + } + if (CollectionUtil.isNotEmpty(deleteList)) { + sendDeleteMessage(deleteList, list, "delete_terminal"); + } - //推送完将数据改成推送 - LambdaUpdateWrapper wrapper2 = new LambdaUpdateWrapper<>(); - wrapper2.set(CsTerminalLogs::getIsPush, 1); - this.update(wrapper2); + //推送完将数据改成推送 + LambdaUpdateWrapper wrapper2 = new LambdaUpdateWrapper<>(); + wrapper2.set(CsTerminalLogs::getIsPush, 1); + this.update(wrapper2); + } } else { return "暂无需要推送的数据"; }