【8.3.3】【role】更新新增角色分类的接口

pull/62/head
stylefeng 2025-01-22 18:16:41 +08:00
parent 88184a5ca0
commit d77a6752d0
3 changed files with 46 additions and 23 deletions

View File

@ -2,6 +2,7 @@ package cn.stylefeng.roses.kernel.sys.modular.role.entity;
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import cn.stylefeng.roses.kernel.rule.pidset.callback.PidSettable;
import cn.stylefeng.roses.kernel.rule.tree.factory.base.AbstractTreeNode;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
@ -19,7 +20,7 @@ import java.util.List;
@TableName("sys_role_category")
@Data
@EqualsAndHashCode(callSuper = true)
public class RoleCategory extends BaseEntity implements AbstractTreeNode<RoleCategory> {
public class RoleCategory extends BaseEntity implements AbstractTreeNode<RoleCategory>, PidSettable {
/**
* id
@ -105,4 +106,25 @@ public class RoleCategory extends BaseEntity implements AbstractTreeNode<RoleCat
public void setChildrenNodes(List<RoleCategory> childrenNodes) {
this.children = childrenNodes;
}
@Override
public Long getCurrentId() {
return id;
}
@Override
public Long getParentId() {
return categoryParentId;
}
@Override
public void setParentIdListString(String parentIdListString) {
this.categoryPids = parentIdListString;
}
@Override
public String getParentIdListString() {
return this.categoryPids;
}
}

View File

@ -8,7 +8,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.List;
/**
*
@ -34,13 +33,6 @@ public class RoleCategoryRequest extends BaseRequest {
@ChineseDescription("父级角色分类id")
private Long categoryParentId;
/**
* id
*/
@NotBlank(message = "父级角色分类id集合不能为空", groups = {add.class, edit.class})
@ChineseDescription("父级角色分类id集合")
private String categoryPids;
/**
*
*/
@ -61,17 +53,4 @@ public class RoleCategoryRequest extends BaseRequest {
@ChineseDescription("角色分类排序")
private BigDecimal fldSort;
/**
*
*/
@ChineseDescription("租户号")
private Long tenantId;
/**
* id
*/
@NotNull(message = "批量删除id集合不能为空", groups = batchDelete.class)
@ChineseDescription("批量删除用的id集合")
private List<Long> batchDeleteIdList;
}

View File

@ -3,6 +3,9 @@ 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.rule.exception.base.ServiceException;
import cn.stylefeng.roses.kernel.rule.pidset.CalcParentIdListUtil;
import cn.stylefeng.roses.kernel.rule.pidset.callback.PidGetterService;
import cn.stylefeng.roses.kernel.rule.pidset.pojo.ParentIdInfoPojo;
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;
@ -23,7 +26,7 @@ import java.util.List;
* @since 2025/01/22 17:40
*/
@Service
public class RoleCategoryServiceImpl extends ServiceImpl<RoleCategoryMapper, RoleCategory> implements RoleCategoryService {
public class RoleCategoryServiceImpl extends ServiceImpl<RoleCategoryMapper, RoleCategory> implements RoleCategoryService, PidGetterService {
@Override
public List<RoleCategory> treeList(RoleCategoryRequest roleCategoryRequest) {
@ -41,6 +44,10 @@ public class RoleCategoryServiceImpl extends ServiceImpl<RoleCategoryMapper, Rol
public void add(RoleCategoryRequest roleCategoryRequest) {
RoleCategory roleCategory = new RoleCategory();
BeanUtil.copyProperties(roleCategoryRequest, roleCategory);
// 设置pids
CalcParentIdListUtil.fillParentIds(roleCategory, this);
this.save(roleCategory);
}
@ -98,4 +105,19 @@ public class RoleCategoryServiceImpl extends ServiceImpl<RoleCategoryMapper, Rol
return queryWrapper;
}
@Override
public ParentIdInfoPojo getPointNodePidInfo(Long itemId) {
if (ObjectUtil.isEmpty(itemId)) {
return null;
}
LambdaQueryWrapper<RoleCategory> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(RoleCategory::getId, itemId);
queryWrapper.select(RoleCategory::getId, RoleCategory::getCategoryPids);
RoleCategory roleCategory = this.getOne(queryWrapper, false);
if (roleCategory == null) {
return null;
}
return new ParentIdInfoPojo(roleCategory.getId(), roleCategory.getCategoryPids());
}
}