diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/controller/RoleCategoryController.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/controller/RoleCategoryController.java index 00f20e596..d041bad68 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/controller/RoleCategoryController.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/controller/RoleCategoryController.java @@ -1,6 +1,5 @@ package cn.stylefeng.roses.kernel.sys.modular.role.controller; -import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; @@ -30,6 +29,17 @@ public class RoleCategoryController { @Resource private RoleCategoryService roleCategoryService; + /** + * 获取角色分类树 + * + * @author fengshuonan + * @since 2025/1/22 17:45 + */ + @GetResource(name = "获取角色分类树", path = "/roleCategory/treeList") + public ResponseData> treeList(@Validated(BaseRequest.list.class) RoleCategoryRequest roleCategoryRequest) { + return new SuccessResponseData<>(roleCategoryService.treeList(roleCategoryRequest)); + } + /** * 添加角色分类 * @@ -54,18 +64,6 @@ public class RoleCategoryController { return new SuccessResponseData<>(); } - /** - * 批量删除角色分类 - * - * @author fengshuonan - * @since 2025/01/22 17:40 - */ - @PostResource(name = "批量删除角色分类", path = "/roleCategory/batchDelete") - public ResponseData batchDelete(@RequestBody @Validated(BaseRequest.batchDelete.class) RoleCategoryRequest roleCategoryRequest) { - roleCategoryService.batchDelete(roleCategoryRequest); - return new SuccessResponseData<>(); - } - /** * 编辑角色分类 * @@ -89,26 +87,4 @@ public class RoleCategoryController { return new SuccessResponseData<>(roleCategoryService.detail(roleCategoryRequest)); } - /** - * 获取角色分类列表 - * - * @author fengshuonan - * @since 2025/01/22 17:40 - */ - @GetResource(name = "获取角色分类列表", path = "/roleCategory/list") - public ResponseData> list(RoleCategoryRequest roleCategoryRequest) { - return new SuccessResponseData<>(roleCategoryService.findList(roleCategoryRequest)); - } - - /** - * 获取角色分类列表(带分页) - * - * @author fengshuonan - * @since 2025/01/22 17:40 - */ - @GetResource(name = "获取角色分类列表(带分页)", path = "/roleCategory/page") - public ResponseData> page(RoleCategoryRequest roleCategoryRequest) { - return new SuccessResponseData<>(roleCategoryService.findPage(roleCategoryRequest)); - } - } diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/RoleCategoryService.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/RoleCategoryService.java index f73f99668..eb42edd28 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/RoleCategoryService.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/RoleCategoryService.java @@ -1,6 +1,5 @@ package cn.stylefeng.roses.kernel.sys.modular.role.service; -import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.sys.modular.role.entity.RoleCategory; import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.RoleCategoryRequest; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,6 +14,16 @@ import java.util.List; */ public interface RoleCategoryService extends IService { + /** + * 获取角色分类树 + * + * @param roleCategoryRequest 请求参数 + * @return List 返回结果 + * @author fengshuonan + * @since 2025/01/22 17:40 + */ + List treeList(RoleCategoryRequest roleCategoryRequest); + /** * 新增角色分类 * @@ -33,15 +42,6 @@ public interface RoleCategoryService extends IService { */ void del(RoleCategoryRequest roleCategoryRequest); - /** - * 批量删除角色分类 - * - * @param roleCategoryRequest 请求参数 - * @author fengshuonan - * @since 2025/01/22 17:40 - */ - void batchDelete(RoleCategoryRequest roleCategoryRequest); - /** * 编辑角色分类 * @@ -60,24 +60,4 @@ public interface RoleCategoryService extends IService { */ RoleCategory detail(RoleCategoryRequest roleCategoryRequest); - /** - * 获取角色分类列表 - * - * @param roleCategoryRequest 请求参数 - * @return List 返回结果 - * @author fengshuonan - * @since 2025/01/22 17:40 - */ - List findList(RoleCategoryRequest roleCategoryRequest); - - /** - * 获取角色分类分页列表 - * - * @param roleCategoryRequest 请求参数 - * @return PageResult 返回结果 - * @author fengshuonan - * @since 2025/01/22 17:40 - */ - PageResult findPage(RoleCategoryRequest roleCategoryRequest); - } diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/RoleCategoryServiceImpl.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/RoleCategoryServiceImpl.java index 2a19ef3d3..576b2e9df 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/RoleCategoryServiceImpl.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/RoleCategoryServiceImpl.java @@ -2,21 +2,18 @@ package cn.stylefeng.roses.kernel.sys.modular.role.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; -import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; -import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; -import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; +import cn.stylefeng.roses.kernel.rule.tree.factory.DefaultTreeBuildFactory; import cn.stylefeng.roses.kernel.sys.modular.role.entity.RoleCategory; import cn.stylefeng.roses.kernel.sys.modular.role.enums.RoleCategoryExceptionEnum; import cn.stylefeng.roses.kernel.sys.modular.role.mapper.RoleCategoryMapper; import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.RoleCategoryRequest; import cn.stylefeng.roses.kernel.sys.modular.role.service.RoleCategoryService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; /** @@ -28,7 +25,19 @@ import java.util.List; @Service public class RoleCategoryServiceImpl extends ServiceImpl implements RoleCategoryService { - @Override + @Override + public List treeList(RoleCategoryRequest roleCategoryRequest) { + LambdaQueryWrapper wrapper = this.createWrapper(roleCategoryRequest); + List list = this.list(wrapper); + if (ObjectUtil.isEmpty(list)) { + return new ArrayList<>(); + } + + // 构建角色类型树 + return new DefaultTreeBuildFactory().doTreeBuild(list); + } + + @Override public void add(RoleCategoryRequest roleCategoryRequest) { RoleCategory roleCategory = new RoleCategory(); BeanUtil.copyProperties(roleCategoryRequest, roleCategory); @@ -41,12 +50,6 @@ public class RoleCategoryServiceImpl extends ServiceImpl findPage(RoleCategoryRequest roleCategoryRequest) { - LambdaQueryWrapper wrapper = createWrapper(roleCategoryRequest); - Page pageList = this.page(PageFactory.defaultPage(), wrapper); - return PageResultFactory.createPageResult(pageList); - } - - @Override - public List findList(RoleCategoryRequest roleCategoryRequest) { - LambdaQueryWrapper wrapper = this.createWrapper(roleCategoryRequest); - return this.list(wrapper); - } - /** * 获取信息 * @@ -95,21 +85,15 @@ public class RoleCategoryServiceImpl extends ServiceImpl createWrapper(RoleCategoryRequest roleCategoryRequest) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - Long id = roleCategoryRequest.getId(); - queryWrapper.eq(ObjectUtil.isNotNull(id), RoleCategory::getId, id); - - Long categoryParentId = roleCategoryRequest.getCategoryParentId(); - queryWrapper.eq(ObjectUtil.isNotNull(categoryParentId), RoleCategory::getCategoryParentId, categoryParentId); - - String categoryPids = roleCategoryRequest.getCategoryPids(); - queryWrapper.like(ObjectUtil.isNotEmpty(categoryPids), RoleCategory::getCategoryPids, categoryPids); - - String roleCategoryName = roleCategoryRequest.getRoleCategoryName(); - queryWrapper.like(ObjectUtil.isNotEmpty(roleCategoryName), RoleCategory::getRoleCategoryName, roleCategoryName); + // 根据名称查询 + String searchText = roleCategoryRequest.getSearchText(); + queryWrapper.like(ObjectUtil.isNotEmpty(searchText), RoleCategory::getRoleCategoryName, searchText); + // 根据角色分类查询 Integer categoryType = roleCategoryRequest.getCategoryType(); - queryWrapper.eq(ObjectUtil.isNotNull(categoryType), RoleCategory::getCategoryType, categoryType); + queryWrapper.eq(ObjectUtil.isNotEmpty(categoryType), RoleCategory::getCategoryType, roleCategoryRequest.getCategoryType()); + queryWrapper.orderByAsc(RoleCategory::getFldSort); return queryWrapper; }