From d346e80a88058f3b99b1b13dd397a088b8162b8f Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Thu, 20 Nov 2025 11:30:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=95=8F=E6=84=9F=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/csdevice/api/CsLineFeignClient.java | 9 ++ .../fallback/CsLineClientFallbackFactory.java | 7 ++ .../com/njcn/csdevice/pojo/po/CsLinePO.java | 3 + .../controller/line/CslineController.java | 9 ++ .../csdevice/service/CsLinePOService.java | 2 + .../service/impl/CsLinePOServiceImpl.java | 9 ++ .../csharmonic/pojo/po/PqSensitiveUser.java | 61 +++++++++++++ .../csharmonic/pojo/vo/EventStatisticsVo.java | 26 ++++++ .../csharmonic/pojo/vo/PqSensitiveUserVo.java | 49 +++++++++++ .../controller/CsEventController.java | 12 +++ .../controller/PqSensitiveUserController.java | 53 ++++++++++++ .../mapper/PqSensitiveUserMapper.java | 16 ++++ .../csharmonic/service/CsEventPOService.java | 3 + .../service/IPqSensitiveUserService.java | 21 +++++ .../service/impl/CsEventPOServiceImpl.java | 10 +++ .../impl/PqSensitiveUserServiceImpl.java | 86 +++++++++++++++++++ 16 files changed, 376 insertions(+) create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/PqSensitiveUser.java create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/EventStatisticsVo.java create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/PqSensitiveUserVo.java create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/PqSensitiveUserController.java create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/PqSensitiveUserMapper.java create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/IPqSensitiveUserService.java create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/PqSensitiveUserServiceImpl.java 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 8e911f2..faeac02 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 @@ -1,11 +1,16 @@ package com.njcn.csdevice.api; +import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; 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 io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; @@ -59,6 +64,10 @@ public interface CsLineFeignClient { @PostMapping("/getOverLimitDataByIds") HttpResult> getOverLimitData(@RequestBody List ids); + @PostMapping("/getLineBySensitiveUser") + @ApiOperation("根据敏感用户查询监测点") + HttpResult> getLineBySensitiveUser(@RequestBody List list); + @PostMapping("/list") HttpResult> list(@RequestBody CsLinePO param); 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 3239954..2335aef 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 @@ -99,6 +99,13 @@ public class CsLineClientFallbackFactory implements FallbackFactory> getLineBySensitiveUser(List list) { + log.error("{}异常,降级处理,异常为:{}","根据敏感用户查询监测点异常",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + @Override public HttpResult> getLineByName(String lineName) { log.error("{}异常,降级处理,异常为:{}","根据名称查询监测点异常",cause.toString()); diff --git a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsLinePO.java b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsLinePO.java index 5ba456b..8129cd4 100644 --- a/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsLinePO.java +++ b/cs-device/cs-device-api/src/main/java/com/njcn/csdevice/pojo/po/CsLinePO.java @@ -132,4 +132,7 @@ public class CsLinePO extends BaseEntity { */ @TableField(value = "is_govern") private Integer govern; + + @TableField(value = "monitor_user") + private String monitorUser; } 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 60754d7..1fb3b6f 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 @@ -253,4 +253,13 @@ public class CslineController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getLineBySensitiveUser") + @ApiOperation("根据敏感用户查询监测点") + public HttpResult> getLineBySensitiveUser(@RequestBody List list) { + String methodDescribe = getMethodDescribe("getLineBySensitiveUser"); + List result = csLinePOService.getLineBySensitiveUser(list); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, 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 ec847ae..b01befa 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 @@ -72,4 +72,6 @@ public interface CsLinePOService extends IService{ List getLineByName(String lineName); List getAllLine(); + + List getLineBySensitiveUser(List 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 0556bd8..6a4ccc4 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 @@ -23,6 +23,7 @@ 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.stream.Collectors; @@ -226,6 +227,14 @@ public class CsLinePOServiceImpl extends ServiceImpl i .collect(Collectors.toList()); } + @Override + public List getLineBySensitiveUser(List list) { + return this.lambdaQuery() + .in(CsLinePO::getMonitorUser,list) + .eq(CsLinePO::getStatus, 1) + .list(); + } + // /** // * 1.平台端默认配置拓扑图模板,包含拓扑图信息(cs_topology_diagram_template)和拓扑图上监测点的点位信息(cs_line_topology_template) // * diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/PqSensitiveUser.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/PqSensitiveUser.java new file mode 100644 index 0000000..b27c514 --- /dev/null +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/PqSensitiveUser.java @@ -0,0 +1,61 @@ +package com.njcn.csharmonic.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.njcn.db.bo.BaseEntity; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author xy + * @since 2025-11-17 + */ +@Getter +@Setter +@TableName("pq_sensitive_user") +public class PqSensitiveUser extends BaseEntity implements Serializable{ + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 敏感用户名称 + */ + private String name; + + /** + * 敏感负荷类型 + */ + private String loadType; + + /** + * 用户协议容量 + */ + private Double userAgreementCapacity; + + /** + * 装机容量 + */ + private Double installedCapacity; + + /** + * 所属厂站名称 + */ + private String substationName; + + /** + * 排序 + */ + private Integer sort; + + +} diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/EventStatisticsVo.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/EventStatisticsVo.java new file mode 100644 index 0000000..483db4a --- /dev/null +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/EventStatisticsVo.java @@ -0,0 +1,26 @@ +package com.njcn.csharmonic.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author xy + */ +@Data +public class EventStatisticsVo implements Serializable { + + @ApiModelProperty(value = "监测点名称") + private String engineeringName; + + @ApiModelProperty(value = "电压中断次数") + private Integer times1; + + @ApiModelProperty(value = "电压暂降次数") + private Integer times2; + + @ApiModelProperty(value = "电压暂升次数") + private Integer times3; + +} diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/PqSensitiveUserVo.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/PqSensitiveUserVo.java new file mode 100644 index 0000000..b54d5b5 --- /dev/null +++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/PqSensitiveUserVo.java @@ -0,0 +1,49 @@ +package com.njcn.csharmonic.pojo.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author xy + * @since 2025-11-17 + */ +@Data +public class PqSensitiveUserVo implements Serializable{ + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * 敏感用户名称 + */ + private String name; + + /** + * 敏感负荷类型 + */ + private String loadType; + + /** + * 排序 + */ + private Integer sort; + + /** + * 是否监测 + */ + private String isMonitor; + + /** + * 是否治理 + */ + private String isGovern; +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CsEventController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CsEventController.java index cab0502..3fc2b67 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CsEventController.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/CsEventController.java @@ -14,6 +14,7 @@ import com.njcn.csharmonic.param.DataParam; import com.njcn.csharmonic.pojo.po.CsEventPO; import com.njcn.csharmonic.pojo.vo.CsEventVO; import com.njcn.csharmonic.pojo.vo.EventDetailVO; +import com.njcn.csharmonic.pojo.vo.EventStatisticsVo; import com.njcn.csharmonic.service.CsEventPOService; import com.njcn.event.file.pojo.dto.WaveDataDTO; import com.njcn.web.controller.BaseController; @@ -155,4 +156,15 @@ public class CsEventController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/eventStatistics") + @ApiOperation("暂态事件统计") + @ApiImplicitParam(name = "param", value = "事件信息", required = true) + public HttpResult> getEventStatistics(@RequestBody CsEventUserQueryParam param) { + String methodDescribe = getMethodDescribe("getEventByTime"); + List list = csEventPOService.getEventStatistics(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/PqSensitiveUserController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/PqSensitiveUserController.java new file mode 100644 index 0000000..24b5603 --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/PqSensitiveUserController.java @@ -0,0 +1,53 @@ +package com.njcn.csharmonic.controller; + + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.csharmonic.pojo.vo.PqSensitiveUserVo; +import com.njcn.csharmonic.service.IPqSensitiveUserService; +import com.njcn.web.controller.BaseController; +import com.njcn.web.pojo.param.BaseParam; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 前端控制器 + *

+ * + * @author xy + * @since 2025-11-17 + */ +@Slf4j +@RestController +@RequestMapping("/pqSensitiveUser") +@Api(tags = "敏感负荷用户管理") +@AllArgsConstructor +public class PqSensitiveUserController extends BaseController { + + private final IPqSensitiveUserService pqSensitiveUserService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getList") + @ApiOperation("获取敏感负荷用户列表") + @ApiImplicitParam(name = "param", value = "查询参数", required = true) + public HttpResult> getList(@RequestBody BaseParam param) { + String methodDescribe = getMethodDescribe("getList"); + Page page = pqSensitiveUserService.getList(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); + } + + +} + diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/PqSensitiveUserMapper.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/PqSensitiveUserMapper.java new file mode 100644 index 0000000..8108559 --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/PqSensitiveUserMapper.java @@ -0,0 +1,16 @@ +package com.njcn.csharmonic.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.csharmonic.pojo.po.PqSensitiveUser; + +/** + *

+ * Mapper 接口 + *

+ * + * @author xy + * @since 2025-11-17 + */ +public interface PqSensitiveUserMapper extends BaseMapper { + +} diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/CsEventPOService.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/CsEventPOService.java index e7c639e..8abdd2c 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/CsEventPOService.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/CsEventPOService.java @@ -10,6 +10,7 @@ import com.njcn.csharmonic.param.DataParam; import com.njcn.csharmonic.pojo.po.CsEventPO; import com.njcn.csharmonic.pojo.vo.CsEventVO; import com.njcn.csharmonic.pojo.vo.EventDetailVO; +import com.njcn.csharmonic.pojo.vo.EventStatisticsVo; import com.njcn.event.file.pojo.dto.WaveDataDTO; import org.springframework.web.bind.annotation.RequestParam; @@ -62,4 +63,6 @@ public interface CsEventPOService extends IService{ List getEventByTime(List lineList, String startTime, String endTime); + List getEventStatistics(CsEventUserQueryParam param); + } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/IPqSensitiveUserService.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/IPqSensitiveUserService.java new file mode 100644 index 0000000..4574770 --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/IPqSensitiveUserService.java @@ -0,0 +1,21 @@ +package com.njcn.csharmonic.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.csharmonic.pojo.po.PqSensitiveUser; +import com.njcn.csharmonic.pojo.vo.PqSensitiveUserVo; +import com.njcn.web.pojo.param.BaseParam; + +/** + *

+ * 服务类 + *

+ * + * @author xy + * @since 2025-11-17 + */ +public interface IPqSensitiveUserService extends IService { + + Page getList(BaseParam param); + +} 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 2b8afa5..b538208 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 @@ -27,6 +27,7 @@ import com.njcn.csharmonic.param.DataParam; import com.njcn.csharmonic.pojo.po.CsEventPO; import com.njcn.csharmonic.pojo.vo.CsEventVO; import com.njcn.csharmonic.pojo.vo.EventDetailVO; +import com.njcn.csharmonic.pojo.vo.EventStatisticsVo; import com.njcn.csharmonic.service.CsEventPOService; import com.njcn.csharmonic.service.CsEventUserPOService; import com.njcn.event.file.component.WaveFileComponent; @@ -316,6 +317,15 @@ public class CsEventPOServiceImpl extends ServiceImpl getEventStatistics(CsEventUserQueryParam param) { + + + + + return Collections.emptyList(); + } + public String getTag(Integer type) { String tag; switch (type) { diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/PqSensitiveUserServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/PqSensitiveUserServiceImpl.java new file mode 100644 index 0000000..b50f02d --- /dev/null +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/PqSensitiveUserServiceImpl.java @@ -0,0 +1,86 @@ +package com.njcn.csharmonic.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.csdevice.api.CsLineFeignClient; +import com.njcn.csdevice.pojo.po.CsLinePO; +import com.njcn.csharmonic.mapper.PqSensitiveUserMapper; +import com.njcn.csharmonic.pojo.po.PqSensitiveUser; +import com.njcn.csharmonic.pojo.vo.PqSensitiveUserVo; +import com.njcn.csharmonic.service.IPqSensitiveUserService; +import com.njcn.web.pojo.param.BaseParam; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + *

+ * 服务实现类 + *

+ * + * @author xy + * @since 2025-11-17 + */ +@DS("sjzx") +@Slf4j +@Service +@RequiredArgsConstructor +public class PqSensitiveUserServiceImpl extends ServiceImpl implements IPqSensitiveUserService { + + private final CsLineFeignClient csLineFeignClient; + + @Override + public Page getList(BaseParam param) { + Page result = new Page<>(param.getPageNum(),param.getPageSize()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.orderByDesc(PqSensitiveUser::getSort); + if (StrUtil.isNotBlank(param.getSearchValue())) { + lambdaQueryWrapper.like(PqSensitiveUser::getName, param.getSearchValue()); + } + Page page = this.page(new Page<>(param.getPageNum(),param.getPageSize()),lambdaQueryWrapper); + if(CollUtil.isNotEmpty(page.getRecords())){ + List dataGroupEventVOList = new ArrayList<>(); + Map> map = new HashMap<>(); + //获取绑定敏感用户的监测点信息 + List sensitiveUserIds = page.getRecords().stream().map(PqSensitiveUser::getId).collect(Collectors.toList()); + List csLinePOList = csLineFeignClient.getLineBySensitiveUser(sensitiveUserIds).getData(); + if (CollUtil.isNotEmpty(csLinePOList)) { + map = csLinePOList.stream().collect(Collectors.groupingBy(CsLinePO::getMonitorUser)); + } + Map> finalMap = map; + page.getRecords().forEach(item->{ + PqSensitiveUserVo vo = new PqSensitiveUserVo(); + BeanUtil.copyProperties(item,vo); + if (finalMap.containsKey(item.getId())) { + vo.setIsMonitor("是"); + List list = finalMap.get(item.getId()); + boolean hasGoverned = list.stream().anyMatch(item2 -> item2.getGovern() == 1); + vo.setIsGovern(hasGoverned ? "是" : "否"); + } else { + vo.setIsMonitor("否"); + vo.setIsGovern("否"); + } + dataGroupEventVOList.add(vo); + }); + result.setRecords(dataGroupEventVOList); + result.setTotal(page.getTotal()); + result.setSize(page.getSize()); + result.setCurrent(page.getCurrent()); + result.setPages(page.getPages()); + } + return result; + } + + +}