refactor(service): 优化设备容量计算和事件处理逻辑
- 重构CsDevCapacityPOServiceImpl中的设备容量获取方法,简化代码逻辑并添加空值检查 - 在CsEquipmentDeliveryServiceImpl中添加二维码信息更新功能 - 优化CsEventPOServiceImpl中的事件处理,添加处理标志位设置和幅度值转换 - 增强CsFeedbackServiceImpl中的工程ID验证,防止空值异常 - 优化CsLinePOServiceImpl中的线路数据处理,统一设备ID格式化 - 移除无用的包导入并修复MQTT消息处理器中的大小写问题 - 更新离线数据上传服务中的等待逻辑和设备版本获取方式 - 修复InfluxDB查询中的值类型大小写问题
This commit is contained in:
@@ -1,25 +1,19 @@
|
||||
package com.njcn.csdevice.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
|
||||
import com.njcn.csdevice.pojo.po.CsLinePO;
|
||||
import com.njcn.csdevice.service.CsLinePOService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.csdevice.mapper.CsDevCapacityPOMapper;
|
||||
import com.njcn.csdevice.pojo.po.CsDevCapacityPO;
|
||||
import com.njcn.csdevice.pojo.po.CsLinePO;
|
||||
import com.njcn.csdevice.service.CsDevCapacityPOService;
|
||||
import com.njcn.csdevice.service.CsLinePOService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -48,16 +42,13 @@ public class CsDevCapacityPOServiceImpl extends ServiceImpl<CsDevCapacityPOMappe
|
||||
|
||||
@Override
|
||||
public Double getDevCapacity(String id) {
|
||||
List<CsLinePO> csLinePOS = csLinePOService.queryByDevId(id);
|
||||
|
||||
//String areaId = dicDataFeignClient.getDicDataByCode(DicDataEnum.OUTPUT_SIDE.getCode()).getData().getId();
|
||||
|
||||
//Optional.ofNullable(csLinePOS).orElseThrow(()-> new BusinessException(AlgorithmResponseEnum.LINE_DATA_ERROR));
|
||||
//List<CsLinePO> collect1 = csLinePOS.stream().filter(temp -> Objects.equals(areaId, temp.getPosition())).collect(Collectors.toList());
|
||||
List<CsLinePO> pos = csLinePOService.queryByDevId(id);
|
||||
/*治理侧监测点*/
|
||||
CsLinePO csLinePO = csLinePOS.get(0);
|
||||
CsDevCapacityPO one = this.lambdaQuery().eq(CsDevCapacityPO::getLineId, csLinePO.getLineId()).eq(CsDevCapacityPO::getCldid, 0).one();
|
||||
// Optional.ofNullable(one).orElseThrow(()-> new BusinessException(AlgorithmResponseEnum.DATA_MISSING));
|
||||
CsLinePO po = pos.stream().filter(item -> Objects.equals(item.getClDid(),0)).findFirst().orElse(null);
|
||||
if (po == null) {
|
||||
return 0.0;
|
||||
}
|
||||
CsDevCapacityPO one = this.lambdaQuery().eq(CsDevCapacityPO::getLineId, po.getLineId()).eq(CsDevCapacityPO::getCldid, 0).one();
|
||||
if(Objects.isNull(one)){
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
@@ -396,6 +396,9 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
csEquipmentDeliveryPo.setStatus(2);
|
||||
//4.清空老mac的数据模板
|
||||
stringRedisTemplate.convertAndSend("model_cache_clear", "clear");
|
||||
//5.修改二维码信息
|
||||
String qr = this.createQr(csEquipmentDeliveryAuditParm.getNdid());
|
||||
csEquipmentDeliveryPo.setQrPath(qr);
|
||||
}
|
||||
List<CsEquipmentDeliveryPO> list = this.lambdaQuery().ne(CsEquipmentDeliveryPO::getId, csEquipmentDeliveryAuditParm.getId()).ne(CsEquipmentDeliveryPO::getNdid, csEquipmentDeliveryAuditParm.getNdid()).eq(CsEquipmentDeliveryPO::getName, csEquipmentDeliveryAuditParm.getName()).ne(CsEquipmentDeliveryPO::getRunStatus, 0).list();
|
||||
if (!CollectionUtils.isEmpty(list)) {
|
||||
|
||||
@@ -154,7 +154,8 @@ public class CsLinePOServiceImpl extends ServiceImpl<CsLinePOMapper, CsLinePO> i
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public CsLinePO addCldLine(CsLineParam param) {
|
||||
String lineId = IdUtil.fastSimpleUUID();
|
||||
List<CsDeviceRegistry> data = csDeviceRegistryService.queryByCurrentNdid(param.getDevMac().replace(":", ""));
|
||||
String nDid = param.getDevMac().replace(":", "");
|
||||
List<CsDeviceRegistry> data = csDeviceRegistryService.queryByCurrentNdid(nDid);
|
||||
Map<Integer, String> clDidToIdMap;
|
||||
if (CollUtil.isNotEmpty(data)) {
|
||||
clDidToIdMap = data.stream().collect(Collectors.toMap(CsDeviceRegistry::getClDid, CsDeviceRegistry::getId, (a, b) -> a));
|
||||
@@ -208,8 +209,8 @@ public class CsLinePOServiceImpl extends ServiceImpl<CsLinePOMapper, CsLinePO> i
|
||||
if (Objects.isNull(clDidToIdMap.get(param.getLineNo()))) {
|
||||
CsDeviceRegistry registry = new CsDeviceRegistry();
|
||||
registry.setId(lineId);
|
||||
registry.setCurrentNdid(param.getDevMac());
|
||||
registry.setOldNdid(param.getDevMac());
|
||||
registry.setCurrentNdid(nDid);
|
||||
registry.setOldNdid(nDid);
|
||||
registry.setClDid(param.getLineNo());
|
||||
registry.setFirstSeenTime(LocalDateTime.now());
|
||||
csDeviceRegistryService.add(Collections.singletonList(registry));
|
||||
|
||||
Reference in New Issue
Block a user