refactor(device): 优化设备交付服务和终端回复服务
- 移除未使用的 EngineeringFeignClient 和 IMqttUserService 依赖 - 添加 CsTerminalLogsService 用于管理前置推送日志 - 在删除设备时同步清理相关的前置推送日志记录 - 简化终端回复查询逻辑,移除不必要的分组判断 - 注释掉废弃的 queryReplyData 方法以提高代码整洁性 - 统一设备操作结果的消息返回格式
This commit is contained in:
@@ -24,7 +24,6 @@ import com.njcn.access.utils.MqttUtil;
|
||||
import com.njcn.common.pojo.dto.DeviceLogDTO;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.csdevice.api.CsLogsFeignClient;
|
||||
import com.njcn.csdevice.api.EngineeringFeignClient;
|
||||
import com.njcn.csdevice.constant.DataParam;
|
||||
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
|
||||
import com.njcn.csdevice.mapper.CsEquipmentDeliveryMapper;
|
||||
@@ -103,7 +102,6 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
private final AskDeviceDataFeignClient askDeviceDataFeignClient;
|
||||
private final RedisUtil redisUtil;
|
||||
private final CsSoftInfoMapper csSoftInfoMapper;
|
||||
private final IMqttUserService mqttUserService;
|
||||
private final MqttUtil mqttUtil;
|
||||
private final CsLogsFeignClient csLogsFeignClient;
|
||||
private final INodeService nodeService;
|
||||
@@ -112,8 +110,8 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
private final CsTerminalLogsMapper csTerminalLogsMapper;
|
||||
private final ICsCommunicateService csCommunicateService;
|
||||
private final ICsUserPinsService csUserPinsService;
|
||||
private final EngineeringFeignClient engineeringFeignClient;
|
||||
private final EventUserFeignClient eventUserFeignClient;
|
||||
private final ICsTerminalLogsService csTerminalLogsService;
|
||||
|
||||
@Override
|
||||
public void refreshDeviceDataCache() {
|
||||
@@ -929,6 +927,11 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
csLedgerLambdaQueryWrapper.eq(CsLedger::getPid,id);
|
||||
csLedgerService.remove(csLedgerLambdaQueryWrapper);
|
||||
csDevModelRelationService.lambdaUpdate().eq(CsDevModelRelationPO::getDevId,id).set(CsDevModelRelationPO::getStatus,0).update();
|
||||
//删除前置推送日志
|
||||
LambdaQueryWrapper<CsTerminalLogs> queryWrap = new LambdaQueryWrapper<>();
|
||||
queryWrap.eq(CsTerminalLogs::getDeviceId,id);
|
||||
csTerminalLogsService.remove(queryWrap);
|
||||
|
||||
if (update) {
|
||||
refreshDeviceDataCache();
|
||||
}
|
||||
|
||||
@@ -57,53 +57,98 @@ public class CsTerminalReplyServiceImpl extends ServiceImpl<CsTerminalReplyMappe
|
||||
List<String> redisList = Stream.of(object.toString().split(",")).collect(Collectors.toList());
|
||||
List<CsTerminalReply> list = this.lambdaQuery().in(CsTerminalReply::getReplyId,redisList).orderByAsc(CsTerminalReply::getCreateTime).list();
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
Map<Integer,List<CsTerminalReply>> map = list.stream().collect(Collectors.groupingBy(CsTerminalReply::getIsReceived));
|
||||
List<CsTerminalReply> list1 = map.get(1);
|
||||
if (CollectionUtil.isEmpty(list1)) {
|
||||
String key = "更新失败,未收到前置应答,请查看应答报文是否发送";
|
||||
result.add(key);
|
||||
//将cs_terminal_logs数据置为未发送
|
||||
list.forEach(item->{
|
||||
list.forEach(item->{
|
||||
String key;
|
||||
String code = "";
|
||||
if (Objects.equals(item.getCode(), "add_terminal")) {
|
||||
code = "新增";
|
||||
} else if (Objects.equals(item.getCode(), "ledger_modify")) {
|
||||
code = "修改";
|
||||
} else if (Objects.equals(item.getCode(), "delete_terminal")){
|
||||
code = "删除";
|
||||
}
|
||||
String nodeName = nodeService.getNodeById(item.getNodeId()).getName();
|
||||
List<CsEquipmentDeliveryPO> devList1 = csEquipmentDeliveryService.getAll();
|
||||
List<CsEquipmentDeliveryPO> devList2 = devList1.stream().filter(item1 -> Objects.equals(item1.getId(), item.getDeviceId())).collect(Collectors.toList());
|
||||
List<String> devNameList = devList2.stream().map(CsEquipmentDeliveryPO::getName).collect(Collectors.toList());
|
||||
String devNameListString;
|
||||
if (CollectionUtil.isNotEmpty(devNameList)) {
|
||||
devNameListString = devNameList.toString();
|
||||
} else {
|
||||
devNameListString = "[" + item.getDeviceName() + "]";
|
||||
}
|
||||
if (item.getIsReceived() == 0) {
|
||||
key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + "设备未收到应答";
|
||||
//将cs_terminal_logs数据置为未发送
|
||||
csTerminalLogsService.updateLaterData(item.getDeviceId(),item.getCode());
|
||||
});
|
||||
} else {
|
||||
list.forEach(item->{
|
||||
String key;
|
||||
String code = "";
|
||||
if (Objects.equals(item.getCode(), "add_terminal")) {
|
||||
code = "新增";
|
||||
} else if (Objects.equals(item.getCode(), "ledger_modify")) {
|
||||
code = "修改";
|
||||
} else if (Objects.equals(item.getCode(), "delete_terminal")){
|
||||
code = "删除";
|
||||
}
|
||||
String nodeName = nodeService.getNodeById(item.getNodeId()).getName();
|
||||
List<CsEquipmentDeliveryPO> devList1 = csEquipmentDeliveryService.getAll();
|
||||
List<CsEquipmentDeliveryPO> devList2 = devList1.stream().filter(item1 -> Objects.equals(item1.getId(), item.getDeviceId())).collect(Collectors.toList());
|
||||
List<String> devNameList = devList2.stream().map(CsEquipmentDeliveryPO::getName).collect(Collectors.toList());
|
||||
String devNameListString;
|
||||
if (CollectionUtil.isNotEmpty(devNameList)) {
|
||||
devNameListString = devNameList.toString();
|
||||
} else {
|
||||
devNameListString = "[" + item.getDeviceName() + "]";
|
||||
}
|
||||
if (item.getIsReceived() == 0) {
|
||||
key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + "设备未收到应答";
|
||||
//将cs_terminal_logs数据置为未发送
|
||||
csTerminalLogsService.updateLaterData(item.getDeviceId(),item.getCode());
|
||||
} else if (item.getIsReceived() == 1){
|
||||
key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + "设备" + code + "数据成功";
|
||||
} else {
|
||||
key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + "设备" + code + "数据失败";
|
||||
}
|
||||
result.add(key);
|
||||
});
|
||||
}
|
||||
} else if (item.getIsReceived() == 1){
|
||||
key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + "设备" + code + "数据成功";
|
||||
} else {
|
||||
key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + "设备" + code + "数据失败";
|
||||
}
|
||||
result.add(key);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public List<String> queryReplyData() {
|
||||
// List<String> result = new ArrayList<>();
|
||||
// Object object = redisUtil.getObjectByKey(RequestUtil.getUserIndex()+"reply");
|
||||
// if (object != null) {
|
||||
// List<String> redisList = Stream.of(object.toString().split(",")).collect(Collectors.toList());
|
||||
// List<CsTerminalReply> list = this.lambdaQuery().in(CsTerminalReply::getReplyId,redisList).orderByAsc(CsTerminalReply::getCreateTime).list();
|
||||
// if (CollectionUtil.isNotEmpty(list)) {
|
||||
// Map<Integer,List<CsTerminalReply>> map = list.stream().collect(Collectors.groupingBy(CsTerminalReply::getIsReceived));
|
||||
// List<CsTerminalReply> list1 = map.get(1);
|
||||
// if (CollectionUtil.isEmpty(list1)) {
|
||||
// String key = "更新失败,未收到前置应答,请查看应答报文是否发送";
|
||||
// result.add(key);
|
||||
// //将cs_terminal_logs数据置为未发送
|
||||
// list.forEach(item->{
|
||||
// csTerminalLogsService.updateLaterData(item.getDeviceId(),item.getCode());
|
||||
// });
|
||||
// } else {
|
||||
// list.forEach(item->{
|
||||
// String key;
|
||||
// String code = "";
|
||||
// if (Objects.equals(item.getCode(), "add_terminal")) {
|
||||
// code = "新增";
|
||||
// } else if (Objects.equals(item.getCode(), "ledger_modify")) {
|
||||
// code = "修改";
|
||||
// } else if (Objects.equals(item.getCode(), "delete_terminal")){
|
||||
// code = "删除";
|
||||
// }
|
||||
// String nodeName = nodeService.getNodeById(item.getNodeId()).getName();
|
||||
// List<CsEquipmentDeliveryPO> devList1 = csEquipmentDeliveryService.getAll();
|
||||
// List<CsEquipmentDeliveryPO> devList2 = devList1.stream().filter(item1 -> Objects.equals(item1.getId(), item.getDeviceId())).collect(Collectors.toList());
|
||||
// List<String> devNameList = devList2.stream().map(CsEquipmentDeliveryPO::getName).collect(Collectors.toList());
|
||||
// String devNameListString;
|
||||
// if (CollectionUtil.isNotEmpty(devNameList)) {
|
||||
// devNameListString = devNameList.toString();
|
||||
// } else {
|
||||
// devNameListString = "[" + item.getDeviceName() + "]";
|
||||
// }
|
||||
// if (item.getIsReceived() == 0) {
|
||||
// key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + "设备未收到应答";
|
||||
// //将cs_terminal_logs数据置为未发送
|
||||
// csTerminalLogsService.updateLaterData(item.getDeviceId(),item.getCode());
|
||||
// } else if (item.getIsReceived() == 1){
|
||||
// key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + "设备" + code + "数据成功";
|
||||
// } else {
|
||||
// key = nodeName + item.getProcessNo() + "号进程下," + devNameListString + "设备" + code + "数据失败";
|
||||
// }
|
||||
// result.add(key);
|
||||
// });
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return result;
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void updateReplyData(IcdBzReplyParam param) {
|
||||
LambdaUpdateWrapper<CsTerminalReply> wrapper = new LambdaUpdateWrapper<>();
|
||||
|
||||
Reference in New Issue
Block a user