重构:重构查询角色树 API 为查询角色字典列表

1.新增 LabelValueVO 通用字典数据结构
This commit is contained in:
2023-02-24 22:24:25 +08:00
parent 7cf56202d8
commit 91165e63e5
6 changed files with 74 additions and 26 deletions

View File

@@ -18,9 +18,8 @@ package top.charles7c.cnadmin.system.service;
import java.util.List;
import cn.hutool.core.lang.tree.Tree;
import top.charles7c.cnadmin.common.base.BaseService;
import top.charles7c.cnadmin.common.model.vo.LabelValueVO;
import top.charles7c.cnadmin.system.model.query.RoleQuery;
import top.charles7c.cnadmin.system.model.request.RoleRequest;
import top.charles7c.cnadmin.system.model.vo.RoleDetailVO;
@@ -35,13 +34,13 @@ import top.charles7c.cnadmin.system.model.vo.RoleVO;
public interface RoleService extends BaseService<RoleVO, RoleDetailVO, RoleQuery, RoleRequest> {
/**
* 构建
* 构建字典
*
* @param list
* 原始列表数据
* @return 列表
* @return 字典列表
*/
List<Tree<Long>> buildTree(List<RoleVO> list);
List<LabelValueVO<Long>> buildDict(List<RoleVO> list);
/**
* 根据角色 ID 列表查询

View File

@@ -28,12 +28,11 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.tree.Tree;
import top.charles7c.cnadmin.common.base.BaseServiceImpl;
import top.charles7c.cnadmin.common.consts.Constants;
import top.charles7c.cnadmin.common.enums.DisEnableStatusEnum;
import top.charles7c.cnadmin.common.util.TreeUtils;
import top.charles7c.cnadmin.common.model.vo.LabelValueVO;
import top.charles7c.cnadmin.common.util.validate.CheckUtils;
import top.charles7c.cnadmin.system.mapper.RoleMapper;
import top.charles7c.cnadmin.system.model.entity.RoleDO;
@@ -132,12 +131,11 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleVO,
}
@Override
public List<Tree<Long>> buildTree(List<RoleVO> list) {
return TreeUtils.build(list, (r, tree) -> {
tree.setId(r.getRoleId());
tree.setName(r.getRoleName());
tree.setWeight(r.getRoleSort());
});
public List<LabelValueVO<Long>> buildDict(List<RoleVO> list) {
if (CollUtil.isEmpty(list)) {
return Collections.emptyList();
}
return list.stream().map(r -> new LabelValueVO<>(r.getRoleName(), r.getRoleId())).collect(Collectors.toList());
}
@Override