From a27315075c0298ac66a25b8b41a9381027085b2c Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Wed, 24 Jun 2026 20:32:59 +0800 Subject: [PATCH] =?UTF-8?q?refactor(service):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=AE=B9=E9=87=8F=E8=AE=A1=E7=AE=97=E5=92=8C?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构CsDevCapacityPOServiceImpl中的设备容量获取方法,简化代码逻辑并添加空值检查 - 在CsEquipmentDeliveryServiceImpl中添加二维码信息更新功能 - 优化CsEventPOServiceImpl中的事件处理,添加处理标志位设置和幅度值转换 - 增强CsFeedbackServiceImpl中的工程ID验证,防止空值异常 - 优化CsLinePOServiceImpl中的线路数据处理,统一设备ID格式化 - 移除无用的包导入并修复MQTT消息处理器中的大小写问题 - 更新离线数据上传服务中的等待逻辑和设备版本获取方式 - 修复InfluxDB查询中的值类型大小写问题 --- .../impl/CsDevCapacityPOServiceImpl.java | 31 ++++------ .../impl/CsEquipmentDeliveryServiceImpl.java | 3 + .../service/impl/CsLinePOServiceImpl.java | 7 ++- .../OfflineDataUploadController.java | 1 - .../handler/MqttMessageHandler.java | 12 ++-- .../service/impl/CsEventPOServiceImpl.java | 8 ++- .../impl/OfflineDataUploadServiceImpl.java | 58 ++++++++++--------- .../service/impl/StableDataServiceImpl.java | 2 +- .../feedback/FeedBackController.java | 1 - .../service/impl/CsFeedbackServiceImpl.java | 4 ++ 10 files changed, 66 insertions(+), 61 deletions(-) diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDevCapacityPOServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDevCapacityPOServiceImpl.java index 3aa882a..a03e5e9 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDevCapacityPOServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsDevCapacityPOServiceImpl.java @@ -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 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 collect1 = csLinePOS.stream().filter(temp -> Objects.equals(areaId, temp.getPosition())).collect(Collectors.toList()); + List 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; } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java index e5d2550..f8ce0b0 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java @@ -396,6 +396,9 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl 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)) { diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java index bd1fa5e..b0b0eca 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsLinePOServiceImpl.java @@ -154,7 +154,8 @@ public class CsLinePOServiceImpl extends ServiceImpl i @Transactional(rollbackFor = Exception.class) public CsLinePO addCldLine(CsLineParam param) { String lineId = IdUtil.fastSimpleUUID(); - List data = csDeviceRegistryService.queryByCurrentNdid(param.getDevMac().replace(":", "")); + String nDid = param.getDevMac().replace(":", ""); + List data = csDeviceRegistryService.queryByCurrentNdid(nDid); Map 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 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)); diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/OfflineDataUploadController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/OfflineDataUploadController.java index 2a07557..a382852 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/OfflineDataUploadController.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/OfflineDataUploadController.java @@ -50,7 +50,6 @@ public class OfflineDataUploadController extends BaseController { @PostMapping(value = "/makeUpData") @ApiOperation("补招数据-界面") @ApiImplicitParam(name = "lineId", value = "监测点id", required = true) - @Deprecated public HttpResult> makeUpData(@RequestParam("lineId") String lineId){ String methodDescribe = getMethodDescribe("makeUpData"); List list = offlineDataUploadService.getMakeUpData(lineId); diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java index 711bcb9..b7a566e 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/handler/MqttMessageHandler.java @@ -137,21 +137,19 @@ public class MqttMessageHandler { FrequencyStatisticalQueryParam frequencyStatisticalQueryParam = new FrequencyStatisticalQueryParam(); frequencyStatisticalQueryParam.setDevId(devId); frequencyStatisticalQueryParam.setStatisticalId(temp.getId()); - frequencyStatisticalQueryParam.setValueType("avg"); + frequencyStatisticalQueryParam.setValueType("AVG"); frequencyStatisticalQueryParam.setFrequencyStart(temp.getHarmStart()); frequencyStatisticalQueryParam.setFrequencyEnd(temp.getHarmEnd()); List thdDataVOList = stableDataService.QuerySqlData(frequencyStatisticalQueryParam); tempList.addAll(thdDataVOList); - } else { CommonStatisticalQueryParam commonStatisticalQueryParam = new CommonStatisticalQueryParam(); commonStatisticalQueryParam.setDevId(devId); commonStatisticalQueryParam.setStatisticalId(temp.getId()); - commonStatisticalQueryParam.setValueType("avg"); + commonStatisticalQueryParam.setValueType("AVG"); List listFuture = stableDataService.queryFisrtCommonStatistical(commonStatisticalQueryParam); tempList.addAll(listFuture); } - }); //过滤T相 @@ -185,7 +183,7 @@ public class MqttMessageHandler { CommonStatisticalQueryParam commonStatisticalQueryParam = new CommonStatisticalQueryParam(); commonStatisticalQueryParam.setDevId(devId); commonStatisticalQueryParam.setStatisticalId(temp.getId()); - commonStatisticalQueryParam.setValueType("avg"); + commonStatisticalQueryParam.setValueType("AVG"); List listFuture = stableDataService.queryFisrtCommonStatistical(commonStatisticalQueryParam); l1.addAll(listFuture); }); @@ -224,7 +222,7 @@ public class MqttMessageHandler { CommonStatisticalQueryParam commonStatisticalQueryParam = new CommonStatisticalQueryParam(); commonStatisticalQueryParam.setDevId(devId); commonStatisticalQueryParam.setStatisticalId(temp.getId()); - commonStatisticalQueryParam.setValueType("avg"); + commonStatisticalQueryParam.setValueType("AVG"); List listFuture = stableDataService.queryFisrtCommonStatistical(commonStatisticalQueryParam); l1.addAll(listFuture); }); @@ -265,7 +263,7 @@ public class MqttMessageHandler { CommonStatisticalQueryParam commonStatisticalQueryParam = new CommonStatisticalQueryParam(); commonStatisticalQueryParam.setDevId(devId); commonStatisticalQueryParam.setStatisticalId(temp.getId()); - commonStatisticalQueryParam.setValueType("avg"); + commonStatisticalQueryParam.setValueType("AVG"); List listFuture = stableDataService.queryFisrtCommonStatistical(commonStatisticalQueryParam); l1.addAll(listFuture); }); diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java index a651d8d..bf62077 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java @@ -566,6 +566,9 @@ public class CsEventPOServiceImpl extends ServiceImpl 0) { result = true; @@ -580,7 +583,7 @@ public class CsEventPOServiceImpl extends ServiceImpl projectInfoList = channelObjectUtil.objectToList(redisUtil.getObjectByKey(key),RspDataDto.ProjectInfo.class); - for (RspDataDto.ProjectInfo item : projectInfoList) { - MakeUpVo vo = new MakeUpVo(); - vo.setType("dir"); - BeanUtils.copyProperties(item,vo); - long startTime = item.getPrjTimeStart(); - if (startTime != 0) { - LocalDateTime dateTime = Instant.ofEpochMilli((startTime-8*3600)*1000).atZone(ZoneId.systemDefault()).toLocalDateTime(); - String formattedDate = dateTime.format(formatter); - vo.setStartTime(formattedDate); + for (int i = 0; i < 5; i++) { + Thread.sleep(1000); + String key = AppRedisKey.PROJECT_INFO + lineId; + Object object = redisUtil.getObjectByKey(key); + if (!Objects.isNull(object)) { + // 创建 DateTimeFormatter 对象并指定格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + List projectInfoList = channelObjectUtil.objectToList(redisUtil.getObjectByKey(key),RspDataDto.ProjectInfo.class); + for (RspDataDto.ProjectInfo item : projectInfoList) { + MakeUpVo vo = new MakeUpVo(); + vo.setType("dir"); + BeanUtils.copyProperties(item,vo); + long startTime = item.getPrjTimeStart(); + if (startTime != 0) { + LocalDateTime dateTime = Instant.ofEpochMilli((startTime-8*3600)*1000).atZone(ZoneId.systemDefault()).toLocalDateTime(); + String formattedDate = dateTime.format(formatter); + vo.setStartTime(formattedDate); + } + long endTime = item.getPrjTimeEnd(); + if (endTime != -1) { + LocalDateTime dateTime = Instant.ofEpochMilli((endTime-8*3600)*1000).atZone(ZoneId.systemDefault()).toLocalDateTime(); + String formattedDate = dateTime.format(formatter); + vo.setEndTime(formattedDate); + } + result.add(vo); } - long endTime = item.getPrjTimeEnd(); - if (endTime != -1) { - LocalDateTime dateTime = Instant.ofEpochMilli((endTime-8*3600)*1000).atZone(ZoneId.systemDefault()).toLocalDateTime(); - String formattedDate = dateTime.format(formatter); - vo.setEndTime(formattedDate); - } - result.add(vo); + break; } } } catch (InterruptedException e) { @@ -497,7 +501,8 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService { CsEquipmentDeliveryPO po = equipmentFeignClient.getDevByLineId(lineId).getData(); nDid = po.getNdid(); } - String version = csTopicFeignClient.find(nDid).getData(); +// String version = csTopicFeignClient.find(nDid).getData(); + String version = "V1"; ReqAndResDto.Req reqAndResParam = createRequestParameters(lineId, type, path); publisher.send("/Pfm/"+topic+"/" + version + "/" + nDid, new Gson().toJson(reqAndResParam), 1, false); } @@ -523,11 +528,10 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService { private void handleType8454(ReqAndResDto.Req reqAndResParam, String lineId) { if (StringUtils.isNotBlank(lineId)) { - int length = StringUtils.length(lineId); - Integer clDid = Integer.parseInt(lineId.substring(length - 1)); + CsLinePO po = csLineFeignClient.getById(lineId).getData(); reqAndResParam.setType(8454); MakeUpDto makeUpDto = new MakeUpDto(); - makeUpDto.setClDid(clDid); + makeUpDto.setClDid(po.getClDid()); makeUpDto.setDataType(Integer.parseInt(DATA_48.getCode())); makeUpDto.setDataAttr(0); makeUpDto.setOperate(1); diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StableDataServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StableDataServiceImpl.java index 6fa1f23..4ac4636 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StableDataServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/StableDataServiceImpl.java @@ -388,7 +388,7 @@ public class StableDataServiceImpl implements StableDataService { stringBuilder1.append("last("+data.getName()).append("_"+i).append(") AS "+data.getName()).append("_"+i).append(","); } } - stringBuilder2.append ("line_id='").append (csLinePO.getLineId()).append("' and value_type = 'avg' and process='"+data1.get(0).getProcess()+"' group by phasic_type ").append(InfluxDbSqlConstant.TZ); + stringBuilder2.append ("line_id='").append (csLinePO.getLineId()).append("' and value_type = 'AVG' and process='"+data1.get(0).getProcess()+"' group by phasic_type ").append(InfluxDbSqlConstant.TZ); String sql1 = "select "+stringBuilder1+" from "+"apf_data"+" where "+stringBuilder2; QueryResult sqlData = influxDbUtils.query(sql1); diff --git a/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/controller/feedback/FeedBackController.java b/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/controller/feedback/FeedBackController.java index bef1f9f..2d77e32 100644 --- a/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/controller/feedback/FeedBackController.java +++ b/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/controller/feedback/FeedBackController.java @@ -1,7 +1,6 @@ package com.njcn.cssystem.controller.feedback; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; diff --git a/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsFeedbackServiceImpl.java b/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsFeedbackServiceImpl.java index 6202f37..66a982f 100644 --- a/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsFeedbackServiceImpl.java +++ b/cs-system/cs-system-boot/src/main/java/com/njcn/cssystem/service/impl/CsFeedbackServiceImpl.java @@ -3,6 +3,7 @@ package com.njcn.cssystem.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.common.pojo.exception.BusinessException; import com.njcn.csdevice.api.RoleEngineerDevFeignClient; import com.njcn.cssystem.mapper.CsFeedbackChatMapper; import com.njcn.cssystem.mapper.CsFeedbackMapper; @@ -52,6 +53,9 @@ public class CsFeedbackServiceImpl extends ServiceImpl