fix(system/role): 修复查询角色关联用户时,角色信息映射错误问题

Closes #173
This commit is contained in:
2025-06-27 22:11:13 +08:00
parent fcc3cb909a
commit b514c9eeba
3 changed files with 6 additions and 7 deletions

View File

@@ -17,6 +17,7 @@
package top.continew.admin.system.model.resp.role; package top.continew.admin.system.model.resp.role;
import cn.crane4j.annotation.Assemble; import cn.crane4j.annotation.Assemble;
import cn.crane4j.annotation.Mapping;
import cn.crane4j.core.executor.handler.ManyToManyAssembleOperationHandler; import cn.crane4j.core.executor.handler.ManyToManyAssembleOperationHandler;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@@ -114,7 +115,7 @@ public class RoleUserResp implements Serializable {
* 角色 ID 列表 * 角色 ID 列表
*/ */
@Schema(description = "角色 ID 列表", example = "2") @Schema(description = "角色 ID 列表", example = "2")
@Assemble(prop = ":roleNames", container = ContainerConstants.USER_ROLE_NAME_LIST, handlerType = ManyToManyAssembleOperationHandler.class) @Assemble(props = @Mapping(src = "name", ref = "roleNames"), container = ContainerConstants.USER_ROLE_NAME_LIST, handlerType = ManyToManyAssembleOperationHandler.class)
private List<Long> roleIds; private List<Long> roleIds;
/** /**

View File

@@ -67,7 +67,7 @@ public interface RoleService extends BaseService<RoleResp, RoleDetailResp, RoleQ
* @param ids ID 列表 * @param ids ID 列表
* @return 名称列表 * @return 名称列表
*/ */
List<String> listNameByIds(List<Long> ids); List<RoleDO> listNameByIds(List<Long> ids);
/** /**
* 根据用户 ID 查询角色编码 * 根据用户 ID 查询角色编码

View File

@@ -17,7 +17,6 @@
package top.continew.admin.system.service.impl; package top.continew.admin.system.service.impl;
import cn.crane4j.annotation.ContainerMethod; import cn.crane4j.annotation.ContainerMethod;
import cn.crane4j.annotation.MappingType;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alicp.jetcache.anno.CacheInvalidate; import com.alicp.jetcache.anno.CacheInvalidate;
@@ -167,13 +166,12 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleRes
} }
@Override @Override
@ContainerMethod(namespace = ContainerConstants.USER_ROLE_NAME_LIST, type = MappingType.ORDER_OF_KEYS) @ContainerMethod(namespace = ContainerConstants.USER_ROLE_NAME_LIST, resultType = RoleDO.class)
public List<String> listNameByIds(List<Long> ids) { public List<RoleDO> listNameByIds(List<Long> ids) {
if (CollUtil.isEmpty(ids)) { if (CollUtil.isEmpty(ids)) {
return Collections.emptyList(); return Collections.emptyList();
} }
List<RoleDO> roleList = baseMapper.lambdaQuery().select(RoleDO::getName).in(RoleDO::getId, ids).list(); return baseMapper.lambdaQuery().select(RoleDO::getName, RoleDO::getId).in(RoleDO::getId, ids).list();
return roleList.stream().map(RoleDO::getName).toList();
} }
@Override @Override