diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/entity/RoleCategory.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/entity/RoleCategory.java index 116cf35ed..fa282e5f6 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/entity/RoleCategory.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/entity/RoleCategory.java @@ -2,20 +2,24 @@ 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.tree.factory.base.AbstractTreeNode; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; +import java.util.List; + /** * 角色分类实例类 * * @author fengshuonan - * @since 2025/01/22 17:40 + * @since 2025/01/22 17:51 */ @TableName("sys_role_category") @Data @EqualsAndHashCode(callSuper = true) -public class RoleCategory extends BaseEntity { +public class RoleCategory extends BaseEntity implements AbstractTreeNode { /** * 主键id @@ -52,6 +56,13 @@ public class RoleCategory extends BaseEntity { @ChineseDescription("角色分类类型:15-业务角色,20-公司角色") private Integer categoryType; + /** + * 角色分类排序 + */ + @TableField("fld_sort") + @ChineseDescription("角色分类排序") + private BigDecimal fldSort; + /** * 删除标记:Y-已删除,N-未删除 */ @@ -67,4 +78,31 @@ public class RoleCategory extends BaseEntity { @ChineseDescription("租户号") private Long tenantId; + /** + * 角色类型子节点 + */ + @TableField(exist = false) + @ChineseDescription("角色类型子节点") + private List children; + + @Override + public String getNodeId() { + if (id == null) { + return ""; + } + return id.toString(); + } + + @Override + public String getNodeParentId() { + if (this.categoryParentId == null) { + return ""; + } + return this.categoryParentId.toString(); + } + + @Override + public void setChildrenNodes(List childrenNodes) { + this.children = childrenNodes; + } } \ No newline at end of file diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/mapper/mapping/RoleCategoryMapper.xml b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/mapper/mapping/RoleCategoryMapper.xml index ab3a14677..397f98852 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/mapper/mapping/RoleCategoryMapper.xml +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/mapper/mapping/RoleCategoryMapper.xml @@ -9,6 +9,7 @@ + @@ -18,7 +19,7 @@ - id,category_parent_id,category_pids,role_category_name,category_type,del_flag,create_time,create_user,update_time,update_user,tenant_id + id,category_parent_id,category_pids,role_category_name,category_type,fld_sort,del_flag,create_time,create_user,update_time,update_user,tenant_id @@ -46,6 +47,9 @@ and tbl.category_type like concat('%',#{param.categoryType},'%') + + and tbl.fld_sort like concat('%',#{param.fldSort},'%') + and tbl.del_flag like concat('%',#{param.delFlag},'%') diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/request/RoleCategoryRequest.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/request/RoleCategoryRequest.java index c19e0fbc9..72a72de91 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/request/RoleCategoryRequest.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/pojo/request/RoleCategoryRequest.java @@ -7,13 +7,14 @@ import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; import java.util.List; /** * 角色分类封装类 * * @author fengshuonan - * @since 2025/01/22 17:40 + * @since 2025/01/22 17:51 */ @EqualsAndHashCode(callSuper = true) @Data @@ -50,10 +51,16 @@ public class RoleCategoryRequest extends BaseRequest { /** * 角色分类类型:15-业务角色,20-公司角色 */ - @NotNull(message = "角色分类类型:15-业务角色,20-公司角色不能为空", groups = {add.class, edit.class}) + @NotNull(message = "角色分类类型:15-业务角色,20-公司角色不能为空", groups = {add.class, edit.class, list.class}) @ChineseDescription("角色分类类型:15-业务角色,20-公司角色") private Integer categoryType; + /** + * 角色分类排序 + */ + @ChineseDescription("角色分类排序") + private BigDecimal fldSort; + /** * 租户号 */ diff --git a/kernel-s-system/system-spring-boot-starter/src/main/resources/db/migration/mysql/V8.3.3_20250122_1713__add_role_category.sql b/kernel-s-system/system-spring-boot-starter/src/main/resources/db/migration/mysql/V8.3.3_20250122_1713__add_role_category.sql index f65bfbbc4..1b52b7cb7 100644 --- a/kernel-s-system/system-spring-boot-starter/src/main/resources/db/migration/mysql/V8.3.3_20250122_1713__add_role_category.sql +++ b/kernel-s-system/system-spring-boot-starter/src/main/resources/db/migration/mysql/V8.3.3_20250122_1713__add_role_category.sql @@ -4,6 +4,7 @@ CREATE TABLE `sys_role_category` ( `category_pids` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '父级角色分类id集合', `role_category_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色分类名称', `category_type` tinyint NOT NULL DEFAULT '1' COMMENT '角色分类类型:15-业务角色,20-公司角色', + `fld_sort` decimal(10,2) DEFAULT NULL COMMENT '角色分类排序', `del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'N' COMMENT '删除标记:Y-已删除,N-未删除', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_user` bigint DEFAULT NULL COMMENT '创建人', @@ -14,9 +15,11 @@ CREATE TABLE `sys_role_category` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='角色分类'; -- 创建默认的类型 -INSERT INTO `sys_role_category`(`id`, `category_parent_id`, `category_pids`, `role_category_name`, `category_type`, `del_flag`, `create_time`, `create_user`, `update_time`, `update_user`, `tenant_id`) VALUES (1881997026537611265, -1, '[-1],', '默认业务分类', 15, 'N', '2025-01-22 17:26:26', 1339550467939639299, NULL, NULL, NULL); -INSERT INTO `sys_role_category`(`id`, `category_parent_id`, `category_pids`, `role_category_name`, `category_type`, `del_flag`, `create_time`, `create_user`, `update_time`, `update_user`, `tenant_id`) VALUES (1881997160612732930, -1, '[-1],', '默认公司分类', 20, 'N', '2025-01-22 17:27:01', 1339550467939639299, NULL, NULL, NULL); +INSERT INTO `sys_role_category`(`id`, `category_parent_id`, `category_pids`, `role_category_name`, `category_type`, `fld_sort`, `del_flag`, `create_time`, `create_user`, `update_time`, `update_user`, `tenant_id`) VALUES (1881997026537611265, -1, '[-1],', '默认业务分类', 15, 100.00, 'N', '2025-01-22 17:26:26', 1339550467939639299, NULL, NULL, NULL); +INSERT INTO `sys_role_category`(`id`, `category_parent_id`, `category_pids`, `role_category_name`, `category_type`, `fld_sort`, `del_flag`, `create_time`, `create_user`, `update_time`, `update_user`, `tenant_id`) VALUES (1881997160612732930, -1, '[-1],', '默认公司分类', 20, 100.00, 'N', '2025-01-22 17:27:01', 1339550467939639299, NULL, NULL, NULL); -- 角色增加分类id ALTER TABLE `sys_role` -ADD COLUMN `role_category_id` bigint NULL COMMENT '所属的角色分类id,如果是业务角色和公司角色可以加上所属分类' AFTER `role_type`; \ No newline at end of file +ADD COLUMN `role_category_id` bigint NULL COMMENT '所属的角色分类id,如果是业务角色和公司角色可以加上所属分类' AFTER `role_type`; +UPDATE `sys_role` SET `role_category_id` = 1881997026537611265 WHERE `role_type` = 15; +UPDATE `sys_role` SET `role_category_id` = 1881997160612732930 WHERE `role_type` = 20; \ No newline at end of file