处理bug

This commit is contained in:
hzj
2025-05-20 08:57:12 +08:00
parent ab268a4a20
commit 89f075f395

View File

@@ -3882,31 +3882,52 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
}else {
//调用重启设备接口先删除设备,在新增,在修改在重启设备
List<String> deleteDevIds = new ArrayList<>();
List<String> addDevIds = new ArrayList<>();
List<String> modifyDevIds = new ArrayList<>();
Map<String, List<PqsTerminalPushLogDTO>> collect = tempPqsTerminalPushLogDTOList.stream().collect(Collectors.groupingBy(PqsTerminalPushLogDTO::getOperateType));
if(collect.containsKey(DeviceRebootType.DELETE_TERMINAL)){
List<PqsTerminalPushLogDTO> pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.DELETE_TERMINAL);
deleteDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList());
String devNameString = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevName).distinct().collect(Collectors.joining(","));
PreCommandDTO preCommandDTO = new PreCommandDTO();
String guid = IdUtil.simpleUUID();
}
if(collect.containsKey(DeviceRebootType.ADD_TERMINAL)){
List<PqsTerminalPushLogDTO> pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.ADD_TERMINAL);
addDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList());
}
if(collect.containsKey(DeviceRebootType.LEDGER_MODIFY)){
List<PqsTerminalPushLogDTO> pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.LEDGER_MODIFY);
modifyDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList());
}
if(collect.containsKey(DeviceRebootType.DELETE_TERMINAL)){
List<PqsTerminalPushLogDTO> pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.DELETE_TERMINAL);
List<String> finalAddDevIds = addDevIds;
//过滤本次新增的设备,因为前置那边还没有新增该装备
pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> finalAddDevIds.contains(temp.getDevId())).distinct().collect(Collectors.toList());
if(!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)){
String devNameString = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevName).distinct().collect(Collectors.joining(","));
List<String> resultDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList());
PreCommandDTO preCommandDTO = new PreCommandDTO();
String guid = IdUtil.simpleUUID();
String command = "删除前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId+"下终端"+devNameString;
preCommandDTO.setGuid(guid);
preCommandDTO.setCommand(command);
preCommandDTO.setResult("2");
String command = "删除前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId+"下终端"+devNameString;
preCommandDTO.setGuid(guid);
preCommandDTO.setCommand(command);
preCommandDTO.setResult("2");
//调用重启设备接口
this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),resultDevIds,DeviceRebootType.DELETE_TERMINAL,processId);
preCommandDTOList.add(preCommandDTO);
}
//调用重启进程接口
this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),deleteDevIds,DeviceRebootType.DELETE_TERMINAL,processId);
preCommandDTOList.add(preCommandDTO);
}
if(collect.containsKey(DeviceRebootType.ADD_TERMINAL)){
List<PqsTerminalPushLogDTO> pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.ADD_TERMINAL);
List<String> addDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList());
addDevIds.removeAll(deleteDevIds);
if(!CollectionUtils.isEmpty(addDevIds)){
String devNameString = deleteDevIds.stream().map(temp->{return lineMap.get(temp).getName();}).collect(Collectors.joining(","));
PreCommandDTO preCommandDTO = new PreCommandDTO();
List<String> finalDeleteDevIds = deleteDevIds;
pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> finalDeleteDevIds.contains(temp.getDevId())).distinct().collect(Collectors.toList());
if(!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)){
String devNameString = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevName).distinct().collect(Collectors.joining(","));
List<String> resultDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); PreCommandDTO preCommandDTO = new PreCommandDTO();
String guid = IdUtil.simpleUUID();
String command = "新增前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId+"下终端"+devNameString;
preCommandDTO.setGuid(guid);
@@ -3914,7 +3935,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
preCommandDTO.setResult("2");
//调用重启进程接口
this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),deleteDevIds,DeviceRebootType.ADD_TERMINAL,processId);
this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),resultDevIds,DeviceRebootType.ADD_TERMINAL,processId);
preCommandDTOList.add(preCommandDTO);
}
@@ -3922,18 +3943,20 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
}
if(collect.containsKey(DeviceRebootType.LEDGER_MODIFY)){
List<PqsTerminalPushLogDTO> pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.LEDGER_MODIFY);
List<String> modifyDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList());
modifyDevIds.removeAll(deleteDevIds);
if(!CollectionUtils.isEmpty(modifyDevIds)){
String devNameString = modifyDevIds.stream().map(temp->{return lineMap.get(temp).getName();}).collect(Collectors.joining(","));
PreCommandDTO preCommandDTO = new PreCommandDTO();
List<String> finalDeleteDevIds1 = deleteDevIds;
List<String> finalAddDevIds1 = addDevIds;
pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> finalDeleteDevIds1.contains(temp.getDevId())|| finalAddDevIds1.contains(temp.getDevId())).distinct().collect(Collectors.toList());
if(!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)){
String devNameString = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevName).distinct().collect(Collectors.joining(","));
List<String> resultDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); PreCommandDTO preCommandDTO = new PreCommandDTO();
String guid = IdUtil.simpleUUID();
String command = "修改前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId+"下终端"+devNameString;
preCommandDTO.setGuid(guid);
preCommandDTO.setCommand(command);
preCommandDTO.setResult("2");
//调用重启进程接口
this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),deleteDevIds,DeviceRebootType.LEDGER_MODIFY,processId);
this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),resultDevIds,DeviceRebootType.LEDGER_MODIFY,processId);
preCommandDTOList.add(preCommandDTO);
}