feat(permission): 添加菜单数据权限功能
- 新增菜单数据规则表和角色菜单数据规则关联表 - 实现菜单数据权限切面和处理器 - 添加数据规则条件和变量枚举 - 实现变量替换工具类和规则构建逻辑 - 在权限分配中集成菜单数据规则关联功能 - 优化部门ID解析逻辑,支持从用户信息中获取默认部门 - 添加菜单组件查询方法和公司访问上下文拦截器改进
This commit is contained in:
@@ -4313,3 +4313,74 @@ VALUES
|
||||
(5022, 2, '日期格式', 'DATE', 'system_sequence_detail_rule_type', 0, 'success', '', '日期格式规则', 'admin', SYSDATE, 'admin', SYSDATE, 0),
|
||||
(5023, 3, '数字格式', 'NUMBER', 'system_sequence_detail_rule_type', 0, 'info', '', '数字格式规则', 'admin', SYSDATE, 'admin', SYSDATE, 0),
|
||||
(5024, 4, '自定义格式', 'CUSTOM', 'system_sequence_detail_rule_type', 0, 'warning', '', '自定义格式规则', 'admin', SYSDATE, 'admin', SYSDATE, 0);
|
||||
|
||||
/*
|
||||
增加菜单规则(system_menu_data_rule)和规则角色关联表(system_role_menu_data_rule),同增量脚本:sql/dm/20260126菜单数据规则表.sql
|
||||
*/
|
||||
-- ----------------------------
|
||||
-- Table structure for system_menu_data_rule
|
||||
-- ----------------------------
|
||||
CREATE TABLE system_menu_data_rule (
|
||||
id bigint NOT NULL PRIMARY KEY,
|
||||
menu_id bigint NOT NULL,
|
||||
rule_name varchar(100) NOT NULL,
|
||||
rule_column varchar(100) DEFAULT NULL NULL,
|
||||
rule_conditions varchar(20) NOT NULL,
|
||||
rule_value varchar(500) NOT NULL,
|
||||
status smallint DEFAULT 1 NOT NULL,
|
||||
sort int DEFAULT 0 NOT NULL,
|
||||
remark varchar(500) DEFAULT NULL NULL,
|
||||
creator varchar(64) DEFAULT '' NULL,
|
||||
create_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
updater varchar(64) DEFAULT '' NULL,
|
||||
update_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
deleted bit DEFAULT '0' NOT NULL,
|
||||
tenant_id bigint DEFAULT 0 NOT NULL
|
||||
);
|
||||
|
||||
|
||||
COMMENT ON COLUMN system_menu_data_rule.id IS '规则ID';
|
||||
COMMENT ON COLUMN system_menu_data_rule.menu_id IS '菜单ID';
|
||||
COMMENT ON COLUMN system_menu_data_rule.rule_name IS '规则名称';
|
||||
COMMENT ON COLUMN system_menu_data_rule.rule_column IS '规则字段(数据库列名)';
|
||||
COMMENT ON COLUMN system_menu_data_rule.rule_conditions IS '规则条件(=、>、<、IN、LIKE等)';
|
||||
COMMENT ON COLUMN system_menu_data_rule.rule_value IS '规则值(支持变量如#{userId}、#{deptId})';
|
||||
COMMENT ON COLUMN system_menu_data_rule.status IS '状态(0=禁用 1=启用)';
|
||||
COMMENT ON COLUMN system_menu_data_rule.sort IS '排序';
|
||||
COMMENT ON COLUMN system_menu_data_rule.remark IS '备注';
|
||||
COMMENT ON COLUMN system_menu_data_rule.creator IS '创建者';
|
||||
COMMENT ON COLUMN system_menu_data_rule.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN system_menu_data_rule.updater IS '更新者';
|
||||
COMMENT ON COLUMN system_menu_data_rule.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN system_menu_data_rule.deleted IS '是否删除';
|
||||
COMMENT ON COLUMN system_menu_data_rule.tenant_id IS '租户编号';
|
||||
COMMENT ON TABLE system_menu_data_rule IS '菜单数据规则表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for system_role_menu_data_rule
|
||||
-- ----------------------------
|
||||
CREATE TABLE system_role_menu_data_rule (
|
||||
id bigint NOT NULL PRIMARY KEY,
|
||||
role_id bigint NOT NULL,
|
||||
menu_id bigint NOT NULL,
|
||||
data_rule_id bigint NOT NULL,
|
||||
creator varchar(64) DEFAULT '' NULL,
|
||||
create_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
updater varchar(64) DEFAULT '' NULL,
|
||||
update_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
deleted bit DEFAULT '0' NOT NULL,
|
||||
tenant_id bigint DEFAULT 0 NOT NULL
|
||||
);
|
||||
|
||||
|
||||
COMMENT ON COLUMN system_role_menu_data_rule.id IS '自增主键';
|
||||
COMMENT ON COLUMN system_role_menu_data_rule.role_id IS '角色ID';
|
||||
COMMENT ON COLUMN system_role_menu_data_rule.menu_id IS '菜单ID';
|
||||
COMMENT ON COLUMN system_role_menu_data_rule.data_rule_id IS '数据规则ID';
|
||||
COMMENT ON COLUMN system_role_menu_data_rule.creator IS '创建者';
|
||||
COMMENT ON COLUMN system_role_menu_data_rule.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN system_role_menu_data_rule.updater IS '更新者';
|
||||
COMMENT ON COLUMN system_role_menu_data_rule.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN system_role_menu_data_rule.deleted IS '是否删除';
|
||||
COMMENT ON COLUMN system_role_menu_data_rule.tenant_id IS '租户编号';
|
||||
COMMENT ON TABLE system_role_menu_data_rule IS '角色菜单数据规则关联表';
|
||||
|
||||
Reference in New Issue
Block a user