From c9ecdad7ed3bfe7e5afe4444f56a5502320b1a6d Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Wed, 30 Jul 2025 11:23:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=9A=82=E6=80=81=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=E6=8E=A8=E9=80=81=E6=97=B6=E9=83=A8=E9=97=A8=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=9A=84=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/pq/api/DeptLineFeignClient.java | 7 +++++ .../DeptLineFeignClientFallbackFactory.java | 7 +++++ .../pq/controller/DeptLineController.java | 8 ++++++ .../device/pq/service/DeptLineService.java | 2 ++ .../pq/service/impl/DeptLineServiceImpl.java | 8 ++++-- .../Impl/EventDetailServiceImpl.java | 27 ++++++++++--------- 6 files changed, 45 insertions(+), 14 deletions(-) diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java index c7bcb2a71..0dd55c69d 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java @@ -1,9 +1,12 @@ package com.njcn.device.pq.api; import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.api.fallback.DeptLineFeignClientFallbackFactory; import com.njcn.device.pq.pojo.po.DeptLine; +import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -40,6 +43,10 @@ public interface DeptLineFeignClient { @PostMapping("/getLineByLineIds") HttpResult getLineByLineIds(@RequestParam("id") String ids); + + @PostMapping("/getDeptListByLineId") + HttpResult> getDeptListByLineId(@RequestParam("id") String ids); + /** * @Description: 部门Id获取所有子集部门绑定监测点 * @Param: diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java index bd9a5c605..5910e80f2 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java @@ -7,6 +7,7 @@ import com.njcn.device.pq.api.DeptLineFeignClient; import com.njcn.device.biz.utils.DeviceEnumUtil; import com.njcn.device.pq.pojo.po.DeptLine; import feign.hystrix.FallbackFactory; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -69,6 +70,12 @@ public class DeptLineFeignClientFallbackFactory implements FallbackFactory> getDeptListByLineId(String ids) { + log.error("{}异常,降级处理,异常为:{}", "根据监测点获取部门id(集合)", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + @Override public HttpResult> getLineNodeByDeptId(String id) { log.error("{}异常,降级处理,异常为:{}", "根据部门信息id查询监测点id集合", throwable.toString()); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java index b9aa66e51..3519b199b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java @@ -148,6 +148,14 @@ public class DeptLineController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, lineByLineIds, methodDescribe); } + @PostMapping("/getDeptListByLineId") + @ApiOperation("根据监测点获取部门id(集合)") + public HttpResult> getDeptListByLineId(@RequestParam("id") String ids) { + String methodDescribe = getMethodDescribe("getDeptListByLineId"); + List lineByLineIds = deptLineService.getDeptListByLineId(ids); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, lineByLineIds, methodDescribe); + } + @OperateInfo(info = LogEnum.SYSTEM_COMMON) @PostMapping("/getLineNodeByDeptId") @ApiOperation("部门Id获取所有子集部门绑定监测点") diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java index ca252e07d..20ae0a676 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/DeptLineService.java @@ -128,6 +128,8 @@ public interface DeptLineService extends IService { */ DeptLine getLineByLineIds(String ids); + List getDeptListByLineId(String id); + List getLineDetailByDeptId(String id); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java index 115f94ca7..82fb5c625 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DeptLineServiceImpl.java @@ -35,10 +35,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.function.Function; import java.util.stream.Collectors; /** @@ -194,6 +192,12 @@ public class DeptLineServiceImpl extends ServiceImpl i ); } + @Override + public List getDeptListByLineId(String id) { + return this.list(new LambdaQueryWrapper() + .eq(DeptLine::getLineId, id)); + } + @Override public List getLineDetailByDeptId(String id) { List lineByDeptId = this.getLineNodeByDeptId(id); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java index 6a01cfe81..fb463afd4 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.event.service.majornetwork.Impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; @@ -186,19 +187,21 @@ public class EventDetailServiceImpl extends ServiceImpl deptLineList = deptLineFeignClient.getDeptListByLineId(id).getData(); + if (CollUtil.isNotEmpty(deptLineList)) { Set dept = new HashSet<>(); - dept.add(deptLineId); - DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); - deptGetLineParam.setDeptId(deptLineId); - List deptList = commTerminalGeneralClient.getDeptChildrenByParent(deptGetLineParam).getData(); - if (CollectionUtil.isNotEmpty(deptList)) { - deptList.forEach(item->{ - dept.addAll(item.getUnitChildrenList()); - }); - } + deptLineList.forEach(item->{ + String deptLineId = item.getId(); + dept.add(deptLineId); + DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); + deptGetLineParam.setDeptId(deptLineId); + List deptList = commTerminalGeneralClient.getDeptChildrenByParent(deptGetLineParam).getData(); + if (CollectionUtil.isNotEmpty(deptList)) { + deptList.forEach(item2->{ + dept.addAll(item2.getUnitChildrenList()); + }); + } + }); SendEventVO vo = new SendEventVO(); vo.setDeptList(dept); vo.setTime(po.getStartTime());