diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java index b051c2ee4..0528311bf 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java @@ -51,6 +51,10 @@ public interface CommTerminalGeneralClient { @PostMapping("deptGetLine") HttpResult> deptGetLine(@RequestBody @Validated DeptGetLineParam deptGetLineParam); + @PostMapping("deptGetLineInfo") + HttpResult> deptGetLineInfo(@RequestBody @Validated DeptGetLineParam deptGetLineParam); + + @PostMapping("deptGetAllLine") HttpResult> deptGetAllLine(@RequestBody @Validated DeptGetLineParam deptGetLineParam); diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java index 32cbf11b6..c25e4342e 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java @@ -15,6 +15,7 @@ import com.njcn.device.biz.utils.DeviceEnumUtil; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -50,6 +51,13 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory throw new BusinessException(finalExceptionEnum); } + + @Override + public HttpResult> deptGetLineInfo(DeptGetLineParam deptGetLineParam) { + log.error("{}异常,降级处理,异常为:{}", "根据部门获取监测点信息", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + @Override public HttpResult> deptGetAllLine(DeptGetLineParam deptGetLineParam) { log.error("{}异常,降级处理,异常为:{}", "根据单位获取all监测点信息", throwable.toString()); diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/MonitorCommLedgerInfoDTO.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/MonitorCommLedgerInfoDTO.java new file mode 100644 index 000000000..b1eddca0a --- /dev/null +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/MonitorCommLedgerInfoDTO.java @@ -0,0 +1,40 @@ +package com.njcn.device.biz.pojo.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author: cdf + * @CreateTime: 2026-01-06 + * @Description: + */ +@Data +public class MonitorCommLedgerInfoDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + private String monitorId; + + private String monitorName; + + private String gdName; + + private String bdName; + + private String busBarName; + + private String voltageLevel; + + private String shortCapacity; + + private String devCapacity; + + private String dealCapacity; + + private String standardCapacity; + + private Integer timeInterval; + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java index 111c6ec23..875f6a51f 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/enums/LineBaseEnum.java @@ -42,6 +42,13 @@ public enum LineBaseEnum { POWER_FLAG_NOT(1,"非电网侧"), + /** + * 装置系统类型 + */ + DEV_DATA_TYPE_ZT(0,"暂态系统装置"), + DEV_DATA_TYPE_WT(1,"稳态系统装置"), + DEV_DATA_TYPE_ALL(2,"全部系统装置") + ; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java index 7ef8ce03e..9d8799810 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java @@ -15,6 +15,7 @@ import com.njcn.device.biz.pojo.po.PqsDeviceUnit; import com.njcn.device.line.mapper.LineMapper; import com.njcn.device.line.service.LineService; import com.njcn.device.line.mapper.LineDetailMapper; +import com.njcn.device.biz.pojo.dto.MonitorCommLedgerInfoDTO; import com.njcn.device.pq.service.CommTerminalService; import com.njcn.device.pq.service.IPqsDeviceUnitService; import com.njcn.web.controller.BaseController; @@ -108,6 +109,23 @@ public class CommTerminalController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + + /** + * 根据部门id获取部门监测点台账信息 + * @param deptGetLineParam + * @return + */ + @PostMapping("deptGetLineInfo") + @ApiOperation("根据部门id获取部门监测点台账信息") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true) + public HttpResult> deptGetLineInfo(@RequestBody @Validated DeptGetLineParam deptGetLineParam) { + String methodDescribe = getMethodDescribe("deptGetLineInfo"); + List result = commTerminalService.deptGetLineInfo(deptGetLineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @PostMapping("deptGetAllLine") @ApiOperation("根据单位获取监测点信息(all line)") @OperateInfo(info = LogEnum.BUSINESS_COMMON) diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java index dbd61c3a0..64e4b7935 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java @@ -3,8 +3,8 @@ package com.njcn.device.pq.service; import com.njcn.device.biz.pojo.dto.*; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.biz.pojo.param.SubstationParam; +import com.njcn.device.biz.pojo.dto.MonitorCommLedgerInfoDTO; import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; -import org.springframework.web.bind.annotation.RequestParam; import java.util.List; import java.util.Map; @@ -40,6 +40,9 @@ public interface CommTerminalService { */ List deptGetLine(DeptGetLineParam deptGetLineParam); + + List deptGetLineInfo(DeptGetLineParam deptGetLineParam); + List deptGetAllLine(DeptGetLineParam deptGetLineParam); List deptGetLineByIdList(List monitorIds); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java index 3781700f7..7678ee6a7 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java @@ -11,9 +11,10 @@ import com.njcn.common.utils.EnumUtils; import com.njcn.device.biz.pojo.dto.*; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.biz.pojo.param.SubstationParam; +import com.njcn.device.line.mapper.DeptLineMapper; import com.njcn.device.line.mapper.LineMapper; import com.njcn.device.line.service.DeptLineService; -import com.njcn.device.pq.enums.RunFlagEnum; +import com.njcn.device.biz.pojo.dto.MonitorCommLedgerInfoDTO; import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; import com.njcn.device.pq.service.CommTerminalService; import com.njcn.redis.utils.RedisUtil; @@ -28,6 +29,8 @@ import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; +import static com.njcn.device.pq.enums.LineBaseEnum.DEV_DATA_TYPE_ALL; + /** * pqs * @@ -49,6 +52,7 @@ public class CommTerminalServiceImpl implements CommTerminalService { private final RedisUtil redisUtil; private final LineMapper lineMapper; + private final DeptLineMapper deptLineMapper; /** @@ -59,10 +63,6 @@ public class CommTerminalServiceImpl implements CommTerminalService { */ @Override public List getDeptChildrenByParent(DeptGetLineParam deptGetLineParam) { - /*List redisResult = (List) redisUtil.getObjectByKey(commTerminal + deptGetLineParam.getDeptId()); - if (CollectionUtil.isNotEmpty(redisResult)) { - return redisResult; - }*/ List result = new ArrayList<>(); List deptDTOList = deptFeignClient.getDeptDescendantIndexes(deptGetLineParam.getDeptId(), Stream.of(0, 1).collect(Collectors.toList())).getData(); deptDTOList.forEach(it -> { @@ -119,6 +119,13 @@ public class CommTerminalServiceImpl implements CommTerminalService { return result; } + @Override + public List deptGetLineInfo(DeptGetLineParam deptGetLineParam) { + List deptIds = deptFeignClient.getDepSonIdtByDeptId(deptGetLineParam.getDeptId()).getData(); + List ledgerList = deptLineMapper.getMonitorByDeptIds(Stream.of(DEV_DATA_TYPE_ALL.getCode()).collect(Collectors.toList()),deptIds); + return ledgerList; + } + @Override public List deptGetAllLine(DeptGetLineParam deptGetLineParam) { List result = new ArrayList<>(); diff --git a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/DeptLineMapper.java b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/DeptLineMapper.java index e600def5d..49ba95fd2 100644 --- a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/DeptLineMapper.java +++ b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/DeptLineMapper.java @@ -6,6 +6,7 @@ import com.njcn.device.biz.pojo.dto.LineDevGetDTO; import com.njcn.device.biz.pojo.dto.SubGetBase; import com.njcn.device.biz.pojo.dto.TerminalGetBase; import com.njcn.device.biz.pojo.param.SubstationParam; +import com.njcn.device.biz.pojo.dto.MonitorCommLedgerInfoDTO; import com.njcn.device.pq.pojo.po.DeptLine; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -74,6 +75,9 @@ public interface DeptLineMapper extends BaseMapper { List lineDevGet(@Param("list")List devType,@Param("type")Integer type,@Param("lineRunFlag") Integer lineRunFlag); + List getMonitorByDeptIds(@Param("list")List devType,@Param("deptIds")List deptIds); + + List lineDevAllGet(@Param("list")List devType,@Param("type")Integer type,@Param("lineRunFlag") Integer lineRunFlag, @Param("lineType") Integer lineType); List orgSubStationGet(@Param("list")List devType); diff --git a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml index 9b7791ac4..bbf68e567 100644 --- a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml +++ b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml @@ -74,6 +74,45 @@ + + + + + + + diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/PqDashboardPageServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/PqDashboardPageServiceImpl.java index c92084c8d..25badd71a 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/PqDashboardPageServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/PqDashboardPageServiceImpl.java @@ -37,7 +37,7 @@ public class PqDashboardPageServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper - .eq(PqDashboardPage::getPageName, pqDashboardPageParam.getPageName()); + .eq(PqDashboardPage::getPageName, pqDashboardPageParam.getPageName()) + .eq(PqDashboardPage::getUserId, RequestUtil.getUserIndex()); //更新的时候,需排除当前记录 if (isExcludeSelf) { if (pqDashboardPageParam instanceof PqDashboardPageParam.UpdatePqDashboardPageParam) { diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/dto/ComponentDTO.java b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/dto/ComponentDTO.java index a2c6f83dd..6924ca408 100644 --- a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/dto/ComponentDTO.java +++ b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/dto/ComponentDTO.java @@ -52,6 +52,9 @@ public class ComponentDTO implements Serializable { @ApiModelProperty("时间标识") private String timeKey; + @ApiModelProperty("组件类型") + private String componentType; + @ApiModelProperty("子级") List children; diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/ComponentParam.java b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/ComponentParam.java index 8240e7591..5716e6d50 100644 --- a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/ComponentParam.java +++ b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/ComponentParam.java @@ -24,7 +24,6 @@ import java.util.List; public class ComponentParam { @ApiModelProperty("资源id") -// @NotBlank(message = UserValidMessage.FUNCTION_ID_NOT_BLANK) private String functionId; @ApiModelProperty("节点") @@ -37,7 +36,6 @@ public class ComponentParam { private String name; @ApiModelProperty("功能数组") -// @NotEmpty(message = UserValidMessage.FUNCTION_GROUP_NOT_BLANK) private List functionGroup; @ApiModelProperty("排序") @@ -65,6 +63,8 @@ public class ComponentParam { @NotBlank(message = "系统类型不为空") private String systemType; + @ApiModelProperty("组件类型") + private String componentType; /** * 组件更新操作实体 diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/RoleSystemParam.java b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/RoleSystemParam.java new file mode 100644 index 000000000..fb9fcf05f --- /dev/null +++ b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/param/RoleSystemParam.java @@ -0,0 +1,24 @@ +package com.njcn.user.pojo.param; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.util.List; + +/** + * @author xy + */ +@Data +public class RoleSystemParam implements Serializable { + + @ApiModelProperty("角色id") + @NotBlank(message = "角色id不能为空") + private String roleId; + + @ApiModelProperty("系统id") + @NotNull(message = "系统id不能为空") + private List systemIds; +} diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/po/Component.java b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/po/Component.java index c4fda58cd..3ea0ae726 100644 --- a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/po/Component.java +++ b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/po/Component.java @@ -75,6 +75,11 @@ public class Component extends BaseEntity { */ private String systemType; + /** + * 组件类型 + */ + private String componentType; + private String icon; private String image; diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/po/SysRoleSystem.java b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/po/SysRoleSystem.java new file mode 100644 index 000000000..ce956b520 --- /dev/null +++ b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/po/SysRoleSystem.java @@ -0,0 +1,37 @@ +package com.njcn.user.pojo.po; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + *

+ * + *

+ * + * @author xy + * @since 2026-01-05 + */ +@Data +@TableName("sys_role_system") +@Accessors(chain = true) +public class SysRoleSystem implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 角色id + */ + @MppMultiId + private String roleId; + + /** + * 系统id + */ + private String systemId; + + +} diff --git a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/vo/ComponentVO.java b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/vo/ComponentVO.java index c3b31d4c4..e799ae827 100644 --- a/pqs-user/user-api/src/main/java/com/njcn/user/pojo/vo/ComponentVO.java +++ b/pqs-user/user-api/src/main/java/com/njcn/user/pojo/vo/ComponentVO.java @@ -43,6 +43,9 @@ public class ComponentVO implements Serializable { @ApiModelProperty("系统类型") private String systemType; + @ApiModelProperty("组件类型") + private String componentType; + @ApiModelProperty("图标标识") private String icon; diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/SysRoleSystemController.java b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/SysRoleSystemController.java new file mode 100644 index 000000000..52fb087f7 --- /dev/null +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/SysRoleSystemController.java @@ -0,0 +1,74 @@ +package com.njcn.user.controller; + + +import cn.hutool.core.util.ObjectUtil; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +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.user.pojo.param.RoleSystemParam; +import com.njcn.user.pojo.po.SysRoleSystem; +import com.njcn.user.service.ISysRoleSystemService; +import com.njcn.web.controller.BaseController; +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.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; + +/** + *

+ * 前端控制器 + *

+ * + * @author xy + * @since 2026-01-05 + */ +@RestController +@RequestMapping("/sysRoleSystem") +@Validated +@Slf4j + @Api(tags = "角色与系统管理") +@AllArgsConstructor +public class SysRoleSystemController extends BaseController { + + private final ISysRoleSystemService sysRoleSystemService; + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @GetMapping("/getSystemByRoleId") + @ApiOperation("根据角色id获取系统信息") + @ApiImplicitParam(name = "id", value = "角色id", required = true) + public HttpResult getSystemByRoleId(@RequestParam("id") String id) { + String methodDescribe = getMethodDescribe("getSystemByRoleId"); + SysRoleSystem sysRoleSystem = sysRoleSystemService.selectByMultiId( + new SysRoleSystem().setRoleId(id) + ); + RoleSystemParam result = new RoleSystemParam(); + if (ObjectUtil.isNotNull(sysRoleSystem)) { + result.setRoleId(sysRoleSystem.getRoleId()); + result.setSystemIds(Arrays.asList(sysRoleSystem.getSystemId().split(","))); + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.ADD) + @PostMapping("/add") + @ApiOperation("新增角色与系统关系") + @ApiImplicitParam(name = "param", value = "新增数据", required = true) + public HttpResult add(@RequestBody @Validated RoleSystemParam param) { + String methodDescribe = getMethodDescribe("add"); + SysRoleSystem sysRoleSystem = new SysRoleSystem() + .setRoleId(param.getRoleId()) + .setSystemId(String.join(",",param.getSystemIds())); + boolean result = sysRoleSystemService.saveOrUpdateByMultiId(sysRoleSystem); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + +} + diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/SysRoleSystemMapper.java b/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/SysRoleSystemMapper.java new file mode 100644 index 000000000..061b09f87 --- /dev/null +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/mapper/SysRoleSystemMapper.java @@ -0,0 +1,16 @@ +package com.njcn.user.mapper; + +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.user.pojo.po.SysRoleSystem; + +/** + *

+ * Mapper 接口 + *

+ * + * @author xy + * @since 2026-01-05 + */ +public interface SysRoleSystemMapper extends MppBaseMapper { + +} diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/ISysRoleSystemService.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/ISysRoleSystemService.java new file mode 100644 index 000000000..c9707cd50 --- /dev/null +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/ISysRoleSystemService.java @@ -0,0 +1,16 @@ +package com.njcn.user.service; + +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.user.pojo.po.SysRoleSystem; + +/** + *

+ * 服务类 + *

+ * + * @author xy + * @since 2026-01-05 + */ +public interface ISysRoleSystemService extends IMppService { + +} diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/ComponentServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/ComponentServiceImpl.java index c4c3effac..0900f733b 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/ComponentServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/ComponentServiceImpl.java @@ -54,15 +54,12 @@ public class ComponentServiceImpl extends ServiceImpl getComponentTree() { +// List list = new ArrayList<>(); +// List result = new ArrayList<>(); +// List componentList = componentMapper.getAllComponent(); +// if (!CollectionUtils.isEmpty(componentList)) { +// componentList.forEach(item -> { +// ComponentVO componentVO = new ComponentVO(); +// BeanUtil.copyProperties(item, componentVO); +// componentVO.setTimeKeys(StrUtil.split(item.getTimeKey(), ",")); +// list.add(componentVO); +// }); +// Map> map = list.stream().filter(m -> !Objects.isNull(m.getSystemType())).collect(Collectors.groupingBy(ComponentVO::getSystemType)); +// map.forEach((k, v) -> { +// DictData dictData = dicDataFeignClient.getDicDataById(k).getData(); +// if (Objects.isNull(dictData)) { +// throw new BusinessException(SystemResponseEnum.SYSTEM_TYPE_EMPTY); +// } +// ComponentVO componentVO = new ComponentVO(); +// componentVO.setId(dictData.getId()); +// componentVO.setName(dictData.getName()); +// componentVO.setSort(dictData.getSort()); +// componentVO.setChildren( +// v.stream() +// .filter(fun -> Objects.equals(ComponentState.FATHER_PID, fun.getPid())) +// .peek(funS -> funS.setChildren(getChildCategoryList(funS, v))).sorted(Comparator.comparing(ComponentVO::getSort)) +// .collect(Collectors.toList())); +// result.add(componentVO); +// }); +// result.sort(Comparator.comparing(ComponentVO::getSort)); +// } +// return result; +// } + @Override public List getComponentTree() { List list = new ArrayList<>(); @@ -95,24 +130,35 @@ public class ComponentServiceImpl extends ServiceImpl Integer.valueOf(s.trim())).collect(Collectors.toList())); list.add(componentVO); }); - Map> map = list.stream().filter(m -> !Objects.isNull(m.getSystemType())).collect(Collectors.groupingBy(ComponentVO::getSystemType)); - map.forEach((k, v) -> { - DictData dictData = dicDataFeignClient.getDicDataById(k).getData(); - if (Objects.isNull(dictData)) { - throw new BusinessException(SystemResponseEnum.SYSTEM_TYPE_EMPTY); - } + //二层集合 + List second = list.stream().filter(item -> Objects.equals(item.getPid(), "0")).collect(Collectors.toList()); + //三层集合 + List third = list.stream().filter(item -> Objects.equals(item.getPid(), "1")).collect(Collectors.toList()); + + Set uniqueValues = list.stream() + .flatMap(obj -> Arrays.stream(obj.getSystemType().split(","))) + .map(String::trim) + .collect(Collectors.toSet()); + //根据字典code获取当前所有系统 + List dictDataList = dicDataFeignClient.getDicDataByTypeCode("System_Type").getData(); + dictDataList.forEach(dic->{ + //第一层 ComponentVO componentVO = new ComponentVO(); - componentVO.setId(dictData.getId()); - componentVO.setName(dictData.getName()); - componentVO.setSort(dictData.getSort()); - componentVO.setChildren( - v.stream() - .filter(fun -> Objects.equals(ComponentState.FATHER_PID, fun.getPid())) - .peek(funS -> funS.setChildren(getChildCategoryList(funS, v))).sorted(Comparator.comparing(ComponentVO::getSort)) - .collect(Collectors.toList())); + componentVO.setId(dic.getId()); + componentVO.setName(dic.getName()); + componentVO.setSort(dic.getSort()); + //第二层 + if (CollectionUtil.isNotEmpty(second)) { + List l2 = second.stream().filter(item2 -> item2.getSystemType().contains(dic.getId())).sorted(Comparator.comparing(ComponentVO::getSort)).collect(Collectors.toList()); + componentVO.setChildren(l2); + //第三层 + componentVO.getChildren().forEach(item3->{ + List l3 = third.stream().filter(item4 -> item4.getComponentType().contains(item3.getId())).sorted(Comparator.comparing(ComponentVO::getSort)).collect(Collectors.toList()); + item3.setChildren(l3); + }); + } result.add(componentVO); }); result.sort(Comparator.comparing(ComponentVO::getSort)); @@ -167,13 +213,11 @@ public class ComponentServiceImpl extends ServiceImpl getFatherComponent(String systemType) { - List list = new ArrayList<>(); - Component component = new Component(); - component.setId("0"); - component.setName("无"); - list.add(component); - list.addAll(this.lambdaQuery().eq(Component::getSystemType, systemType).eq(Component::getPid, ComponentState.FATHER_PID).eq(Component::getState, ComponentState.ENABLE).list()); - return list; + return new ArrayList<>(this.lambdaQuery() + .eq(Component::getSystemType, systemType) + .eq(Component::getPid, ComponentState.FATHER_PID) + .eq(Component::getState, ComponentState.ENABLE) + .list()); } /** diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/RoleServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/RoleServiceImpl.java index 5d0d85f98..9e204dece 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/RoleServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/RoleServiceImpl.java @@ -1,12 +1,12 @@ package com.njcn.user.service.impl; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.user.enums.UserResponseEnum; @@ -127,11 +127,10 @@ public class RoleServiceImpl extends ServiceImpl implements IR @Override public List selectRoleDetail(Integer id) { List role = new ArrayList<>(); + role.add(RoleType.USER); + role.add(RoleType.APP); if (Objects.equals(id, RoleType.SUPER_ADMINISTRATOR)) { role.add(RoleType.ADMINISTRATOR); - } else { - role.add(RoleType.USER); - role.add(RoleType.APP); } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.ne("sys_role.state", DataStateEnum.DELETED.getCode()); diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/SysRoleSystemServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/SysRoleSystemServiceImpl.java new file mode 100644 index 000000000..fb274944c --- /dev/null +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/SysRoleSystemServiceImpl.java @@ -0,0 +1,20 @@ +package com.njcn.user.service.impl; + +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.user.mapper.SysRoleSystemMapper; +import com.njcn.user.pojo.po.SysRoleSystem; +import com.njcn.user.service.ISysRoleSystemService; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author xy + * @since 2026-01-05 + */ +@Service +public class SysRoleSystemServiceImpl extends MppServiceImpl implements ISysRoleSystemService { + +} diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java index 6c36d17b9..a33970662 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/UserServiceImpl.java @@ -286,13 +286,13 @@ public class UserServiceImpl extends ServiceImpl implements IU if (Objects.equals(UserType.SUPER_ADMINISTRATOR, type)) { types.addAll(Arrays.asList(UserType.ADMINISTRATOR, UserType.USER, UserType.APP)); } - //业务管理员,展示管理员和web用户 + //业务管理员,展示web用户 else if (Objects.equals(UserType.ADMINISTRATOR, type) && !roleCodeList.contains("operation_manager")) { - types.addAll(Arrays.asList(UserType.ADMINISTRATOR, UserType.USER)); + types.addAll(Arrays.asList(UserType.USER)); } - //运维管理员,展示管理员和App用户 + //运维管理员,展示web用户、App用户 else if (Objects.equals(UserType.ADMINISTRATOR, type) && roleCodeList.contains("operation_manager")) { - types.addAll(Arrays.asList(UserType.ADMINISTRATOR, UserType.USER, UserType.APP)); + types.addAll(Arrays.asList(UserType.USER, UserType.APP)); } if (ObjectUtil.isNotNull(queryParam)) { //查询参数不为空,进行条件填充 @@ -482,7 +482,9 @@ public class UserServiceImpl extends ServiceImpl implements IU Role roleByCode = roleService.getRoleByCode(AppRoleEnum.MARKET_USER.getCode()); List userRoles = userRoleMapper.selectUserRole(Stream.of(roleByCode.getId()).collect(Collectors.toList())); List collect = userRoles.stream().map(UserRole::getUserId).collect(Collectors.toList()); - return this.listByIds(collect); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.ne(User::getState, UserState.DELETE).in(User::getId, collect); + return this.list(queryWrapper); } @Override