【8.3.3】【role】更新获取角色分类树接口

pull/62/head
stylefeng 2025-01-22 18:02:43 +08:00
parent 028a55fd53
commit 88184a5ca0
3 changed files with 42 additions and 102 deletions

View File

@ -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<List<RoleCategory>> 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<RoleCategory>> list(RoleCategoryRequest roleCategoryRequest) {
return new SuccessResponseData<>(roleCategoryService.findList(roleCategoryRequest));
}
/**
*
*
* @author fengshuonan
* @since 2025/01/22 17:40
*/
@GetResource(name = "获取角色分类列表(带分页)", path = "/roleCategory/page")
public ResponseData<PageResult<RoleCategory>> page(RoleCategoryRequest roleCategoryRequest) {
return new SuccessResponseData<>(roleCategoryService.findPage(roleCategoryRequest));
}
}

View File

@ -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<RoleCategory> {
/**
*
*
* @param roleCategoryRequest
* @return List<RoleCategory>
* @author fengshuonan
* @since 2025/01/22 17:40
*/
List<RoleCategory> treeList(RoleCategoryRequest roleCategoryRequest);
/**
*
*
@ -33,15 +42,6 @@ public interface RoleCategoryService extends IService<RoleCategory> {
*/
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> {
*/
RoleCategory detail(RoleCategoryRequest roleCategoryRequest);
/**
*
*
* @param roleCategoryRequest
* @return List<RoleCategory>
* @author fengshuonan
* @since 2025/01/22 17:40
*/
List<RoleCategory> findList(RoleCategoryRequest roleCategoryRequest);
/**
*
*
* @param roleCategoryRequest
* @return PageResult<RoleCategory>
* @author fengshuonan
* @since 2025/01/22 17:40
*/
PageResult<RoleCategory> findPage(RoleCategoryRequest roleCategoryRequest);
}

View File

@ -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<RoleCategoryMapper, RoleCategory> implements RoleCategoryService {
@Override
@Override
public List<RoleCategory> treeList(RoleCategoryRequest roleCategoryRequest) {
LambdaQueryWrapper<RoleCategory> wrapper = this.createWrapper(roleCategoryRequest);
List<RoleCategory> list = this.list(wrapper);
if (ObjectUtil.isEmpty(list)) {
return new ArrayList<>();
}
// 构建角色类型树
return new DefaultTreeBuildFactory<RoleCategory>().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<RoleCategoryMapper, Rol
this.removeById(roleCategory.getId());
}
@Override
@Transactional(rollbackFor = Exception.class)
public void batchDelete(RoleCategoryRequest roleCategoryRequest) {
this.removeByIds(roleCategoryRequest.getBatchDeleteIdList());
}
@Override
public void edit(RoleCategoryRequest roleCategoryRequest) {
RoleCategory roleCategory = this.queryRoleCategory(roleCategoryRequest);
@ -59,19 +62,6 @@ public class RoleCategoryServiceImpl extends ServiceImpl<RoleCategoryMapper, Rol
return this.queryRoleCategory(roleCategoryRequest);
}
@Override
public PageResult<RoleCategory> findPage(RoleCategoryRequest roleCategoryRequest) {
LambdaQueryWrapper<RoleCategory> wrapper = createWrapper(roleCategoryRequest);
Page<RoleCategory> pageList = this.page(PageFactory.defaultPage(), wrapper);
return PageResultFactory.createPageResult(pageList);
}
@Override
public List<RoleCategory> findList(RoleCategoryRequest roleCategoryRequest) {
LambdaQueryWrapper<RoleCategory> wrapper = this.createWrapper(roleCategoryRequest);
return this.list(wrapper);
}
/**
*
*
@ -95,21 +85,15 @@ public class RoleCategoryServiceImpl extends ServiceImpl<RoleCategoryMapper, Rol
private LambdaQueryWrapper<RoleCategory> createWrapper(RoleCategoryRequest roleCategoryRequest) {
LambdaQueryWrapper<RoleCategory> 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;
}