diff --git a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/constant/ContainerConstants.java b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/constant/ContainerConstants.java index 5af7dc4b..5aac25ca 100644 --- a/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/constant/ContainerConstants.java +++ b/continew-admin-common/src/main/java/top/charles7c/continew/admin/common/constant/ContainerConstants.java @@ -30,7 +30,7 @@ public interface ContainerConstants extends top.charles7c.continew.starter.exten String USER_ROLE_ID_LIST = "UserRoleIdList"; /** - * 用户角色名称列表 + * 角色部门列表 */ - String USER_ROLE_NAME_LIST = "UserRoleNameList"; + String ROLE_DEPT_ID_LIST = "RoleDeptIdList"; } \ No newline at end of file diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/RoleDetailResp.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/RoleDetailResp.java index f74ab61a..f0c6b989 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/RoleDetailResp.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/RoleDetailResp.java @@ -16,20 +16,20 @@ package top.charles7c.continew.admin.system.model.resp; -import java.io.Serial; -import java.util.List; - -import lombok.Data; - -import io.swagger.v3.oas.annotations.media.Schema; - +import cn.crane4j.annotation.Assemble; +import cn.crane4j.annotation.Mapping; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; - -import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import top.charles7c.continew.admin.common.constant.ContainerConstants; import top.charles7c.continew.admin.common.enums.DataScopeEnum; import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum; import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp; +import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter; + +import java.io.Serial; +import java.util.List; /** * 角色详情信息 @@ -40,6 +40,7 @@ import top.charles7c.continew.starter.extension.crud.base.BaseDetailResp; @Data @ExcelIgnoreUnannotated @Schema(description = "角色详情信息") +@Assemble(container = ContainerConstants.ROLE_DEPT_ID_LIST, key = "id", props = @Mapping(ref = "deptIds")) public class RoleDetailResp extends BaseDetailResp { @Serial diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserDetailResp.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserDetailResp.java index 8c6a0f56..296a030b 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserDetailResp.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/model/resp/UserDetailResp.java @@ -16,6 +16,7 @@ package top.charles7c.continew.admin.system.model.resp; +import cn.crane4j.annotation.Assemble; import cn.crane4j.annotation.AssembleMethod; import cn.crane4j.annotation.ContainerMethod; import cn.crane4j.annotation.Mapping; @@ -23,6 +24,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import top.charles7c.continew.admin.common.constant.ContainerConstants; import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum; import top.charles7c.continew.admin.common.enums.GenderEnum; import top.charles7c.continew.admin.common.util.helper.LoginHelper; @@ -44,6 +46,7 @@ import java.util.Objects; @Data @ExcelIgnoreUnannotated @Schema(description = "用户详情信息") +@Assemble(container = ContainerConstants.USER_ROLE_ID_LIST, key = "id", props = @Mapping(ref = "roleIds")) public class UserDetailResp extends BaseDetailResp { @Serial diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/RoleDeptServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/RoleDeptServiceImpl.java index 1d8feb1b..acf619ad 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/RoleDeptServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/RoleDeptServiceImpl.java @@ -16,20 +16,20 @@ package top.charles7c.continew.admin.system.service.impl; -import java.util.List; -import java.util.stream.Collectors; - +import cn.crane4j.annotation.ContainerMethod; +import cn.crane4j.annotation.MappingType; +import cn.hutool.core.collection.CollUtil; import lombok.RequiredArgsConstructor; - import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - -import cn.hutool.core.collection.CollUtil; - +import top.charles7c.continew.admin.common.constant.ContainerConstants; import top.charles7c.continew.admin.system.mapper.RoleDeptMapper; import top.charles7c.continew.admin.system.model.entity.RoleDeptDO; import top.charles7c.continew.admin.system.service.RoleDeptService; +import java.util.List; +import java.util.stream.Collectors; + /** * 角色和部门业务实现 * @@ -78,6 +78,7 @@ public class RoleDeptServiceImpl implements RoleDeptService { } @Override + @ContainerMethod(namespace = ContainerConstants.ROLE_DEPT_ID_LIST, type = MappingType.NONE) public List listDeptIdByRoleId(Long roleId) { return roleDeptMapper.selectDeptIdByRoleId(roleId); } diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/RoleServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/RoleServiceImpl.java index 65faf028..18a9fa35 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/RoleServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/RoleServiceImpl.java @@ -138,7 +138,6 @@ public class RoleServiceImpl extends BaseServiceImpl listRoleIdByUserId(Long userId) { return userRoleMapper.selectRoleIdByUserId(userId); } diff --git a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java index 9c3d4b58..00935b61 100644 --- a/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/continew/admin/system/service/impl/UserServiceImpl.java @@ -152,9 +152,10 @@ public class UserServiceImpl extends BaseServiceImpl roleIdList = userRoleService.listRoleIdByUserId(detail.getId()); - detail.setRoleIds(roleIdList); - detail.setRoleNames(String.join(StringConstants.CHINESE_COMMA, roleService.listNameByIds(roleIdList))); + List roleIdList = detail.getRoleIds(); + if (CollUtil.isNotEmpty(roleIdList)) { + detail.setRoleNames(String.join(StringConstants.CHINESE_COMMA, roleService.listNameByIds(roleIdList))); + } } }