Commit c39865e90d251ef9feee04d5ead63b6516fd50ef

Authored by YunaiV
1 parent a4b48556

fix(mes): 修正安灯迁移的配置角色显示和记录只读字段

yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/MesProAndonConfigController.java
... ... @@ -11,6 +11,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.pro.andon.vo.config.MesProAn
11 11 import cn.iocoder.yudao.module.mes.controller.admin.pro.andon.vo.config.MesProAndonConfigSaveReqVO;
12 12 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.andon.MesProAndonConfigDO;
13 13 import cn.iocoder.yudao.module.mes.service.pro.andon.MesProAndonConfigService;
  14 +import cn.iocoder.yudao.module.system.api.permission.RoleApi;
  15 +import cn.iocoder.yudao.module.system.api.permission.dto.RoleRespDTO;
14 16 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
15 17 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
16 18 import io.swagger.v3.oas.annotations.Operation;
... ... @@ -40,6 +42,8 @@ public class MesProAndonConfigController {
40 42  
41 43 @Resource
42 44 private AdminUserApi adminUserApi;
  45 + @Resource
  46 + private RoleApi roleApi;
43 47  
44 48 @PostMapping("/create")
45 49 @Operation(summary = "创建安灯呼叫配置")
... ... @@ -102,10 +106,15 @@ public class MesProAndonConfigController {
102 106 // 1. 批量获取关联数据
103 107 Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
104 108 convertSet(list, MesProAndonConfigDO::getHandlerUserId));
  109 + Map<Long, RoleRespDTO> roleMap = roleApi.getRoleMap(
  110 + convertSet(list, MesProAndonConfigDO::getHandlerRoleId));
105 111 // 2. 拼接 VO
106   - return BeanUtils.toBean(list, MesProAndonConfigRespVO.class, vo ->
107   - MapUtils.findAndThen(userMap, vo.getHandlerUserId(),
108   - user -> vo.setHandlerUserNickname(user.getNickname())));
  112 + return BeanUtils.toBean(list, MesProAndonConfigRespVO.class, vo -> {
  113 + MapUtils.findAndThen(userMap, vo.getHandlerUserId(),
  114 + user -> vo.setHandlerUserNickname(user.getNickname()));
  115 + MapUtils.findAndThen(roleMap, vo.getHandlerRoleId(),
  116 + role -> vo.setHandlerRoleName(role.getName()));
  117 + });
109 118 }
110 119  
111 120 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/vo/config/MesProAndonConfigRespVO.java
... ... @@ -21,6 +21,9 @@ public class MesProAndonConfigRespVO {
21 21 @Schema(description = "处置人角色编号", example = "10")
22 22 private Long handlerRoleId;
23 23  
  24 + @Schema(description = "处置人角色名称", example = "生产经理")
  25 + private String handlerRoleName;
  26 +
24 27 @Schema(description = "处置人编号", example = "100")
25 28 private Long handlerUserId;
26 29  
... ...
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApi.java
1 1 package cn.iocoder.yudao.module.system.api.permission;
2 2  
  3 +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
  4 +import cn.iocoder.yudao.module.system.api.permission.dto.RoleRespDTO;
  5 +
3 6 import java.util.Collection;
  7 +import java.util.List;
  8 +import java.util.Map;
4 9  
5 10 /**
6 11 * 角色 API 接口
... ... @@ -18,4 +23,31 @@ public interface RoleApi {
18 23 */
19 24 void validRoleList(Collection<Long> ids);
20 25  
  26 + /**
  27 + * 获得角色信息
  28 + *
  29 + * @param id 角色编号
  30 + * @return 角色信息
  31 + */
  32 + RoleRespDTO getRole(Long id);
  33 +
  34 + /**
  35 + * 获得角色信息数组
  36 + *
  37 + * @param ids 角色编号数组
  38 + * @return 角色信息数组
  39 + */
  40 + List<RoleRespDTO> getRoleList(Collection<Long> ids);
  41 +
  42 + /**
  43 + * 获得指定编号的角色 Map
  44 + *
  45 + * @param ids 角色编号数组
  46 + * @return 角色 Map
  47 + */
  48 + default Map<Long, RoleRespDTO> getRoleMap(Collection<Long> ids) {
  49 + List<RoleRespDTO> list = getRoleList(ids);
  50 + return CollectionUtils.convertMap(list, RoleRespDTO::getId);
  51 + }
  52 +
21 53 }
... ...
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApiImpl.java
1 1 package cn.iocoder.yudao.module.system.api.permission;
2 2  
  3 +import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
  4 +import cn.iocoder.yudao.module.system.api.permission.dto.RoleRespDTO;
  5 +import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO;
3 6 import cn.iocoder.yudao.module.system.service.permission.RoleService;
4 7 import org.springframework.stereotype.Service;
5 8  
6 9 import jakarta.annotation.Resource;
7 10 import java.util.Collection;
  11 +import java.util.List;
8 12  
9 13 /**
10 14 * 角色 API 实现类
... ... @@ -21,4 +25,16 @@ public class RoleApiImpl implements RoleApi {
21 25 public void validRoleList(Collection<Long> ids) {
22 26 roleService.validateRoleList(ids);
23 27 }
  28 +
  29 + @Override
  30 + public RoleRespDTO getRole(Long id) {
  31 + RoleDO role = roleService.getRole(id);
  32 + return BeanUtils.toBean(role, RoleRespDTO.class);
  33 + }
  34 +
  35 + @Override
  36 + public List<RoleRespDTO> getRoleList(Collection<Long> ids) {
  37 + List<RoleDO> list = roleService.getRoleList(ids);
  38 + return BeanUtils.toBean(list, RoleRespDTO.class);
  39 + }
24 40 }
... ...
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/dto/RoleRespDTO.java 0 → 100644
  1 +package cn.iocoder.yudao.module.system.api.permission.dto;
  2 +
  3 +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
  4 +import lombok.Data;
  5 +
  6 +/**
  7 + * 角色 Response DTO
  8 + *
  9 + * @author 芋道源码
  10 + */
  11 +@Data
  12 +public class RoleRespDTO {
  13 +
  14 + /**
  15 + * 角色编号
  16 + */
  17 + private Long id;
  18 + /**
  19 + * 角色名称
  20 + */
  21 + private String name;
  22 + /**
  23 + * 角色编码
  24 + */
  25 + private String code;
  26 + /**
  27 + * 显示顺序
  28 + */
  29 + private Integer sort;
  30 + /**
  31 + * 角色状态
  32 + *
  33 + * 枚举 {@link CommonStatusEnum}
  34 + */
  35 + private Integer status;
  36 +
  37 +}
... ...