diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/MesProAndonConfigController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/MesProAndonConfigController.java index e4d9df3..3b803e4 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/MesProAndonConfigController.java +++ b/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 import cn.iocoder.yudao.module.mes.controller.admin.pro.andon.vo.config.MesProAndonConfigSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.andon.MesProAndonConfigDO; import cn.iocoder.yudao.module.mes.service.pro.andon.MesProAndonConfigService; +import cn.iocoder.yudao.module.system.api.permission.RoleApi; +import cn.iocoder.yudao.module.system.api.permission.dto.RoleRespDTO; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import io.swagger.v3.oas.annotations.Operation; @@ -40,6 +42,8 @@ public class MesProAndonConfigController { @Resource private AdminUserApi adminUserApi; + @Resource + private RoleApi roleApi; @PostMapping("/create") @Operation(summary = "创建安灯呼叫配置") @@ -102,10 +106,15 @@ public class MesProAndonConfigController { // 1. 批量获取关联数据 Map userMap = adminUserApi.getUserMap( convertSet(list, MesProAndonConfigDO::getHandlerUserId)); + Map roleMap = roleApi.getRoleMap( + convertSet(list, MesProAndonConfigDO::getHandlerRoleId)); // 2. 拼接 VO - return BeanUtils.toBean(list, MesProAndonConfigRespVO.class, vo -> - MapUtils.findAndThen(userMap, vo.getHandlerUserId(), - user -> vo.setHandlerUserNickname(user.getNickname()))); + return BeanUtils.toBean(list, MesProAndonConfigRespVO.class, vo -> { + MapUtils.findAndThen(userMap, vo.getHandlerUserId(), + user -> vo.setHandlerUserNickname(user.getNickname())); + MapUtils.findAndThen(roleMap, vo.getHandlerRoleId(), + role -> vo.setHandlerRoleName(role.getName())); + }); } } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/vo/config/MesProAndonConfigRespVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/vo/config/MesProAndonConfigRespVO.java index ed1e541..dad6996 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/vo/config/MesProAndonConfigRespVO.java +++ b/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 { @Schema(description = "处置人角色编号", example = "10") private Long handlerRoleId; + @Schema(description = "处置人角色名称", example = "生产经理") + private String handlerRoleName; + @Schema(description = "处置人编号", example = "100") private Long handlerUserId; diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApi.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApi.java index 309c9ef..c09e9cf 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApi.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApi.java @@ -1,6 +1,11 @@ package cn.iocoder.yudao.module.system.api.permission; +import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; +import cn.iocoder.yudao.module.system.api.permission.dto.RoleRespDTO; + import java.util.Collection; +import java.util.List; +import java.util.Map; /** * 角色 API 接口 @@ -18,4 +23,31 @@ public interface RoleApi { */ void validRoleList(Collection ids); + /** + * 获得角色信息 + * + * @param id 角色编号 + * @return 角色信息 + */ + RoleRespDTO getRole(Long id); + + /** + * 获得角色信息数组 + * + * @param ids 角色编号数组 + * @return 角色信息数组 + */ + List getRoleList(Collection ids); + + /** + * 获得指定编号的角色 Map + * + * @param ids 角色编号数组 + * @return 角色 Map + */ + default Map getRoleMap(Collection ids) { + List list = getRoleList(ids); + return CollectionUtils.convertMap(list, RoleRespDTO::getId); + } + } diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApiImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApiImpl.java index 6b75606..ed1bb3a 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApiImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/RoleApiImpl.java @@ -1,10 +1,14 @@ package cn.iocoder.yudao.module.system.api.permission; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.system.api.permission.dto.RoleRespDTO; +import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; import cn.iocoder.yudao.module.system.service.permission.RoleService; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import java.util.Collection; +import java.util.List; /** * 角色 API 实现类 @@ -21,4 +25,16 @@ public class RoleApiImpl implements RoleApi { public void validRoleList(Collection ids) { roleService.validateRoleList(ids); } + + @Override + public RoleRespDTO getRole(Long id) { + RoleDO role = roleService.getRole(id); + return BeanUtils.toBean(role, RoleRespDTO.class); + } + + @Override + public List getRoleList(Collection ids) { + List list = roleService.getRoleList(ids); + return BeanUtils.toBean(list, RoleRespDTO.class); + } } diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/dto/RoleRespDTO.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/dto/RoleRespDTO.java new file mode 100644 index 0000000..e119e3f --- /dev/null +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/api/permission/dto/RoleRespDTO.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.system.api.permission.dto; + +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; +import lombok.Data; + +/** + * 角色 Response DTO + * + * @author 芋道源码 + */ +@Data +public class RoleRespDTO { + + /** + * 角色编号 + */ + private Long id; + /** + * 角色名称 + */ + private String name; + /** + * 角色编码 + */ + private String code; + /** + * 显示顺序 + */ + private Integer sort; + /** + * 角色状态 + * + * 枚举 {@link CommonStatusEnum} + */ + private Integer status; + +}