From 2fb11ecaaf39ce5c78fe48a21e43966fc25156ef Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Tue, 11 Nov 2025 10:57:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=89=A9=E8=81=94=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=9B=B8=E5=85=B3=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/csdevice/api/CsLineFeignClient.java | 7 +++++++ .../fallback/CsLineClientFallbackFactory.java | 13 ++++++++++++ .../controller/line/CslineController.java | 21 +++++++++++++------ .../csdevice/service/CsLinePOService.java | 2 ++ .../service/impl/CsLinePOServiceImpl.java | 10 +++++++++ .../impl/CsTerminalReplyServiceImpl.java | 6 ++++-- .../impl/RoleEngineerDevServiceImpl.java | 2 +- .../njcn/csdevice/util/InfluxDbParamUtil.java | 2 +- 8 files changed, 53 insertions(+), 10 deletions(-) diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLineFeignClient.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLineFeignClient.java index 5e899de..9a997af 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLineFeignClient.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/CsLineFeignClient.java @@ -5,6 +5,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.csdevice.api.fallback.CsLineClientFallbackFactory; import com.njcn.csdevice.pojo.param.CsLineParam; import com.njcn.csdevice.pojo.po.CsLinePO; +import com.njcn.device.biz.pojo.po.Overlimit; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; @@ -48,4 +49,10 @@ public interface CsLineFeignClient { @PostMapping("/updateLineDataByList") HttpResult updateDataByList(@RequestParam("list") List list, @RequestParam("id") String id, @RequestParam("setId") String setId); + + @PostMapping("/getAllLine") + HttpResult> getAllLine(); + + @PostMapping("/getOverLimitDataByIds") + HttpResult> getOverLimitData(@RequestBody List ids); } diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/CsLineClientFallbackFactory.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/CsLineClientFallbackFactory.java index 8996205..695f34b 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/CsLineClientFallbackFactory.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/api/fallback/CsLineClientFallbackFactory.java @@ -6,6 +6,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.csdevice.api.CsLineFeignClient; import com.njcn.csdevice.pojo.param.CsLineParam; import com.njcn.csdevice.pojo.po.CsLinePO; +import com.njcn.device.biz.pojo.po.Overlimit; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -86,6 +87,18 @@ public class CsLineClientFallbackFactory implements FallbackFactory> getAllLine() { + log.error("{}异常,降级处理,异常为:{}","获取所有监测点id",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getOverLimitData(List ids) { + log.error("{}异常,降级处理,异常为:{}","根据监测点id集合获取国标限值异常",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java index 704980c..57c5b5b 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/controller/line/CslineController.java @@ -136,12 +136,12 @@ public class CslineController extends BaseController { } @OperateInfo(info = LogEnum.BUSINESS_COMMON) - @PostMapping("/getOverLimitData") - @ApiOperation("根据监测点id获取国标限值") - @ApiImplicitParam(name = "id", value = "监测点id", required = true) - public HttpResult getOverLimitData(@RequestParam("id") String id) { - String methodDescribe = getMethodDescribe("getOverLimitData"); - Overlimit result = overlimitMapper.selectById(id); + @PostMapping("/getOverLimitDataByIds") + @ApiOperation("根据监测点id集合获取国标限值") + @ApiImplicitParam(name = "ids", value = "监测点id集合", required = true) + public HttpResult> getOverLimitData(@RequestBody List ids) { + String methodDescribe = getMethodDescribe("getOverLimitDataByIds"); + List result = overlimitMapper.selectBatchIds(ids); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } @@ -220,4 +220,13 @@ public class CslineController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getAllLine") + @ApiOperation("获取系统中所有监测点id") + public HttpResult> getAllLine(){ + String methodDescribe = getMethodDescribe("getAllLine"); + List list = csLinePOService.getAllLine(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java index e3b4703..ec847ae 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/CsLinePOService.java @@ -70,4 +70,6 @@ public interface CsLinePOService extends IService{ * @return */ List getLineByName(String lineName); + + List getAllLine(); } 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 7c41cac..0556bd8 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 @@ -216,6 +216,16 @@ public class CsLinePOServiceImpl extends ServiceImpl i return this.lambdaQuery().like(CsLinePO::getName,lineName).list(); } + @Override + public List getAllLine() { + return this.lambdaQuery() + .eq(CsLinePO::getStatus, 1) + .list() + .stream() + .map(CsLinePO::getLineId) + .collect(Collectors.toList()); + } + // /** // * 1.平台端默认配置拓扑图模板,包含拓扑图信息(cs_topology_diagram_template)和拓扑图上监测点的点位信息(cs_line_topology_template) // * diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalReplyServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalReplyServiceImpl.java index 6cea9db..e4dd5ee 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalReplyServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsTerminalReplyServiceImpl.java @@ -88,11 +88,13 @@ public class CsTerminalReplyServiceImpl extends ServiceImpl csTouristDataPOS = csTouristDataPOMapper.selectList(null); collect = csTouristDataPOS.stream().map(CsTouristDataPO::getEnginerId).distinct().collect(Collectors.toList()); - }else if(Objects.equals(role,AppRoleEnum.ROOT.getCode())||Objects.equals(role,AppRoleEnum.OPERATION_MANAGER.getCode())||Objects.equals(role,"bxs_user")){ + } else if(Objects.equals(role,AppRoleEnum.ROOT.getCode())||Objects.equals(role,AppRoleEnum.OPERATION_MANAGER.getCode())||Objects.equals(role,"bxs_user")){ List csEngineeringPOS = csEngineeringMapper.selectList(null); collect =csEngineeringPOS.stream().filter(temp->Objects.equals(temp.getStatus(),"1")).map(CsEngineeringPO::getId).collect(Collectors.toList()); } diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/util/InfluxDbParamUtil.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/util/InfluxDbParamUtil.java index 4a311d6..99bcb2c 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/util/InfluxDbParamUtil.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/util/InfluxDbParamUtil.java @@ -53,7 +53,7 @@ public class InfluxDbParamUtil { //如果是云前置设备,直接返回clDid boolean isCLdDevice = DicDataEnum.DEV_CLD.getCode().equals(dictTreeFeignClient.queryById(csEquipmentDeliveryDTOList.get(0).getDevType()).getData().getCode()); if(isCLdDevice){ -// return String.valueOf(finalCsLinePOList.get(0).getLineNo()); + return String.valueOf(finalCsLinePOList.get(0).getLineNo()); } //之后的逻辑还是按照原来的不变 String position = csLineFeignClient.getPositionById(lineId).getData();