feat(delivery): 添加监测点限值删除功能

- 在删除监测点表和拓扑图关系的同时删除对应的监测点限值数据
- 在三个不同的删除操作位置都添加了监测点限值的批量删除逻辑
- 确保设备数据缓存刷新时完整清理相关关联数据
This commit is contained in:
xy
2026-04-24 09:43:00 +08:00
parent 895755b7e1
commit 8b183d84e9

View File

@@ -47,6 +47,7 @@ import com.njcn.csdevice.utils.StringUtil;
import com.njcn.csharmonic.api.EventUserFeignClient;
import com.njcn.csharmonic.param.CsEventUserQueryParam;
import com.njcn.csharmonic.pojo.po.CsEventPO;
import com.njcn.device.biz.mapper.OverLimitWlMapper;
import com.njcn.oss.constant.OssPath;
import com.njcn.oss.utils.FileStorageUtil;
import com.njcn.redis.pojo.enums.AppRedisKey;
@@ -124,6 +125,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
private final EngineeringFeignClient engineeringFeignClient;
private final EventUserFeignClient eventUserFeignClient;
private final UserFeignClient userFeignClient;
private final OverLimitWlMapper overLimitWlMapper;
@Override
public void refreshDeviceDataCache() {
@@ -201,13 +203,16 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
update = this.remove(wrapper);
redisUtil.deleteKeysByString(AppRedisKey.LINE_POSITION + po.getNdid());
}
//删除监测点表、监测点拓扑图关系
//删除监测点表、监测点拓扑图关系、监测点限值
List<CsLedger> list = csLedgerService.lambdaQuery().eq(CsLedger::getPid, id).list();
if (!CollectionUtils.isEmpty(list)) {
List<String> collect = list.stream().map(CsLedger::getId).collect(Collectors.toList());
LambdaQueryWrapper<CsLinePO> csLinePOLambdaQueryWrapper = new LambdaQueryWrapper<>();
csLinePOLambdaQueryWrapper.in(CsLinePO::getLineId, collect);
csLinePOService.remove(csLinePOLambdaQueryWrapper);
//删除监测点限值
overLimitWlMapper.deleteBatchIds(collect);
QueryWrapper<AppLineTopologyDiagramPO> appLineTopologyDiagramPOQueryWrapper = new QueryWrapper<>();
appLineTopologyDiagramPOQueryWrapper.clear();
appLineTopologyDiagramPOQueryWrapper.in("line_id", collect);
@@ -712,6 +717,9 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
csLinePOQueryWrapper.clear();
csLinePOQueryWrapper.in("line_id", collect);
csLinePOService.remove(csLinePOQueryWrapper);
//删除监测点限值
overLimitWlMapper.deleteBatchIds(collect);
QueryWrapper<AppLineTopologyDiagramPO> appLineTopologyDiagramPOQueryWrapper = new QueryWrapper<>();
appLineTopologyDiagramPOQueryWrapper.clear();
appLineTopologyDiagramPOQueryWrapper.in("line_id", collect);
@@ -893,6 +901,8 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
LambdaQueryWrapper<CsLinePO> csLinePOLambdaQueryWrapper = new LambdaQueryWrapper<>();
csLinePOLambdaQueryWrapper.in(CsLinePO::getLineId, collect);
csLinePOService.remove(csLinePOLambdaQueryWrapper);
//删除监测点限值
overLimitWlMapper.deleteBatchIds(collect);
}
LambdaQueryWrapper<CsLedger> csLedgerLambdaQueryWrapper = new LambdaQueryWrapper<>();
csLedgerLambdaQueryWrapper.clear();