refactor(service): 优化设备交付服务中的日志处理逻辑

- 移除未使用的 ICsTerminalLogsService 依赖注入
- 删除前置推送日志的清理代码,简化设备删除流程
- 在创建操作日志时添加UUID标识符
- 在终端日志服务中增加Redis缓存清理逻辑
- 为设备列表处理添加空值检查,避免空指针异常
- 重构设备分组和消息发送逻辑,提高代码可读性
This commit is contained in:
xy
2026-04-21 20:33:55 +08:00
parent 8559d7548a
commit 8841000989
2 changed files with 39 additions and 39 deletions

View File

@@ -9,6 +9,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.text.StrPool; import cn.hutool.core.text.StrPool;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@@ -111,7 +112,6 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
private final ICsCommunicateService csCommunicateService; private final ICsCommunicateService csCommunicateService;
private final ICsUserPinsService csUserPinsService; private final ICsUserPinsService csUserPinsService;
private final EventUserFeignClient eventUserFeignClient; private final EventUserFeignClient eventUserFeignClient;
private final ICsTerminalLogsService csTerminalLogsService;
@Override @Override
public void refreshDeviceDataCache() { public void refreshDeviceDataCache() {
@@ -927,16 +927,12 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
csLedgerLambdaQueryWrapper.eq(CsLedger::getPid,id); csLedgerLambdaQueryWrapper.eq(CsLedger::getPid,id);
csLedgerService.remove(csLedgerLambdaQueryWrapper); csLedgerService.remove(csLedgerLambdaQueryWrapper);
csDevModelRelationService.lambdaUpdate().eq(CsDevModelRelationPO::getDevId,id).set(CsDevModelRelationPO::getStatus,0).update(); 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) { if (update) {
refreshDeviceDataCache(); refreshDeviceDataCache();
} }
//新增操作日志 //新增操作日志
CsTerminalLogs csTerminalLogs = new CsTerminalLogs(); CsTerminalLogs csTerminalLogs = new CsTerminalLogs();
csTerminalLogs.setId(IdUtil.simpleUUID());
csTerminalLogs.setDeviceId(id); csTerminalLogs.setDeviceId(id);
csTerminalLogs.setOperateType(2); csTerminalLogs.setOperateType(2);
csTerminalLogs.setIsPush(0); csTerminalLogs.setIsPush(0);

View File

@@ -66,6 +66,8 @@ public class CsTerminalLogsServiceImpl extends ServiceImpl<CsTerminalLogsMapper,
wrapper.eq(CsTerminalLogs::getIsPush, 0); wrapper.eq(CsTerminalLogs::getIsPush, 0);
List<CsTerminalLogs> list = this.list(wrapper); List<CsTerminalLogs> list = this.list(wrapper);
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(list)) {
//先清空缓存
redisUtil.delete(RequestUtil.getUserIndex()+"reply");
//新增台账集合 //新增台账集合
List<String> addList = new ArrayList<>(); List<String> addList = new ArrayList<>();
//修改台账集合 //修改台账集合
@@ -97,6 +99,7 @@ public class CsTerminalLogsServiceImpl extends ServiceImpl<CsTerminalLogsMapper,
}); });
//整合后 所有设备的id //整合后 所有设备的id
List<String> devList = Stream.of(addList, updateList, deleteList).flatMap(List::stream).collect(Collectors.toList()); List<String> devList = Stream.of(addList, updateList, deleteList).flatMap(List::stream).collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(devList)) {
//获取设备集合 //获取设备集合
List<CsEquipmentDeliveryPO> deviceList = csEquipmentDeliveryService.listByIds(devList); List<CsEquipmentDeliveryPO> deviceList = csEquipmentDeliveryService.listByIds(devList);
//按照前置机id分组 //按照前置机id分组
@@ -133,6 +136,7 @@ public class CsTerminalLogsServiceImpl extends ServiceImpl<CsTerminalLogsMapper,
LambdaUpdateWrapper<CsTerminalLogs> wrapper2 = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<CsTerminalLogs> wrapper2 = new LambdaUpdateWrapper<>();
wrapper2.set(CsTerminalLogs::getIsPush, 1); wrapper2.set(CsTerminalLogs::getIsPush, 1);
this.update(wrapper2); this.update(wrapper2);
}
} else { } else {
return "暂无需要推送的数据"; return "暂无需要推送的数据";
} }