diff --git a/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/vo/LabelValueVO.java b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/vo/LabelValueVO.java new file mode 100644 index 00000000..c1ebc066 --- /dev/null +++ b/continew-admin-common/src/main/java/top/charles7c/cnadmin/common/model/vo/LabelValueVO.java @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.charles7c.cnadmin.common.model.vo; + +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import io.swagger.v3.oas.annotations.media.Schema; + +/** + * 键值对信息 + * + * @param + * @author Charles7c + * @since 2023/2/24 22:02 + */ +@Data +@NoArgsConstructor +@Accessors(chain = true) +@Schema(description = "键值对信息") +public class LabelValueVO { + + /** + * 标签 + */ + @Schema(description = "标签") + private String label; + + /** + * 值 + */ + @Schema(description = "值") + private V value; + + public LabelValueVO(String label, V value) { + this.label = label; + this.value = value; + } +} diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/RoleService.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/RoleService.java index 448f27d6..9dbd0cb0 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/RoleService.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/RoleService.java @@ -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 { /** - * 构建树 + * 构建字典 * * @param list * 原始列表数据 - * @return 树列表 + * @return 字典列表 */ - List> buildTree(List list); + List> buildDict(List list); /** * 根据角色 ID 列表查询 diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/RoleServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/RoleServiceImpl.java index 9154d865..384f8abf 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/RoleServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/RoleServiceImpl.java @@ -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> buildTree(List list) { - return TreeUtils.build(list, (r, tree) -> { - tree.setId(r.getRoleId()); - tree.setName(r.getRoleName()); - tree.setWeight(r.getRoleSort()); - }); + public List> buildDict(List list) { + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + return list.stream().map(r -> new LabelValueVO<>(r.getRoleName(), r.getRoleId())).collect(Collectors.toList()); } @Override diff --git a/continew-admin-ui/src/api/common/index.ts b/continew-admin-ui/src/api/common/index.ts index bb47c3aa..80d67b76 100644 --- a/continew-admin-ui/src/api/common/index.ts +++ b/continew-admin-ui/src/api/common/index.ts @@ -23,8 +23,8 @@ export function listMenuTree(params: MenuParam) { }); } -export function listRoleTree(params: RoleParam) { - return axios.get('/common/tree/role', { +export function listRoleDict(params: RoleParam) { + return axios.get('/common/dict/role', { params, paramsSerializer: (obj) => { return qs.stringify(obj); diff --git a/continew-admin-ui/src/views/system/user/index.vue b/continew-admin-ui/src/views/system/user/index.vue index d3abaf39..a19c06a4 100644 --- a/continew-admin-ui/src/views/system/user/index.vue +++ b/continew-admin-ui/src/views/system/user/index.vue @@ -274,10 +274,6 @@ { roleLoading.value = true; - listRoleTree({}) + listRoleDict({}) .then((res) => { roleOptions.value = res.data; }) diff --git a/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/common/CommonController.java b/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/common/CommonController.java index 52ca0dec..9dc26f72 100644 --- a/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/common/CommonController.java +++ b/continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/common/CommonController.java @@ -31,6 +31,7 @@ import org.springframework.web.bind.annotation.RestController; import cn.hutool.core.lang.tree.Tree; import top.charles7c.cnadmin.common.model.query.SortQuery; +import top.charles7c.cnadmin.common.model.vo.LabelValueVO; import top.charles7c.cnadmin.common.model.vo.R; import top.charles7c.cnadmin.monitor.annotation.Log; import top.charles7c.cnadmin.system.model.query.DeptQuery; @@ -78,11 +79,11 @@ public class CommonController { } @Log(ignore = true) - @Operation(summary = "查询角色树", description = "查询树结构的角色列表") - @GetMapping("/tree/role") - public R>> listRoleTree(@Validated RoleQuery query, @Validated SortQuery sortQuery) { + @Operation(summary = "查询角色字典", description = "查询角色字典列表") + @GetMapping("/dict/role") + public R>> listRoleDict(@Validated RoleQuery query, @Validated SortQuery sortQuery) { List list = roleService.list(query, sortQuery); - List> treeList = roleService.buildTree(list); - return R.ok(treeList); + List> dictList = roleService.buildDict(list); + return R.ok(dictList); } }