mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 22:57:17 +08:00 
			
		
		
		
	fix: 还原角色 ID 列表和部门 ID 列表的填充方式
Crane4j:当作为数据源容器的方法接受单个参数并返回集合类型结果时,只会填充集合中的首个元素,等待修复后再调整回来
This commit is contained in:
		| @@ -16,17 +16,14 @@ | ||||
|  | ||||
| package top.charles7c.continew.admin.system.model.resp; | ||||
|  | ||||
| import cn.crane4j.annotation.Assemble; | ||||
| import cn.crane4j.annotation.Mapping; | ||||
| 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.DataScopeEnum; | ||||
| import top.charles7c.continew.admin.common.enums.DisEnableStatusEnum; | ||||
| import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp; | ||||
| import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter; | ||||
| import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp; | ||||
|  | ||||
| import java.io.Serial; | ||||
| import java.util.List; | ||||
| @@ -40,7 +37,6 @@ import java.util.List; | ||||
| @Data | ||||
| @ExcelIgnoreUnannotated | ||||
| @Schema(description = "角色详情信息") | ||||
| @Assemble(container = ContainerConstants.ROLE_DEPT_ID_LIST, key = "id", props = @Mapping(ref = "deptIds")) | ||||
| public class RoleDetailResp extends BaseDetailResp { | ||||
|  | ||||
|     @Serial | ||||
|   | ||||
| @@ -16,7 +16,6 @@ | ||||
|  | ||||
| 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; | ||||
| @@ -24,13 +23,12 @@ 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; | ||||
| import top.charles7c.continew.admin.system.service.DeptService; | ||||
| import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp; | ||||
| import top.charles7c.continew.starter.extension.crud.converter.ExcelBaseEnumConverter; | ||||
| import top.charles7c.continew.starter.extension.crud.model.resp.BaseDetailResp; | ||||
|  | ||||
| import java.io.Serial; | ||||
| import java.time.LocalDateTime; | ||||
| @@ -46,7 +44,6 @@ 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 | ||||
|   | ||||
| @@ -131,6 +131,8 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleRes | ||||
|         super.fill(obj); | ||||
|         if (obj instanceof RoleDetailResp detail) { | ||||
|             Long roleId = detail.getId(); | ||||
|             List<Long> deptIdList = roleDeptService.listDeptIdByRoleId(roleId); | ||||
|             detail.setDeptIds(deptIdList); | ||||
|             if (SysConstants.ADMIN_ROLE_CODE.equals(detail.getCode())) { | ||||
|                 List<MenuResp> list = menuService.listAll(); | ||||
|                 List<Long> menuIds = list.stream().map(MenuResp::getId).toList(); | ||||
|   | ||||
| @@ -153,7 +153,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserRes | ||||
|     protected void fill(Object obj) { | ||||
|         super.fill(obj); | ||||
|         if (obj instanceof UserDetailResp detail) { | ||||
|             List<Long> roleIdList = detail.getRoleIds(); | ||||
|             List<Long> roleIdList = userRoleService.listRoleIdByUserId(detail.getId()); | ||||
|             detail.setRoleIds(roleIdList); | ||||
|             if (CollUtil.isNotEmpty(roleIdList)) { | ||||
|                 detail.setRoleNames(String.join(StringConstants.CHINESE_COMMA, roleService.listNameByIds(roleIdList))); | ||||
|             } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user