|
|
@@ -0,0 +1,41 @@
|
|
|
+-- ====================================================
|
|
|
+-- v22: 新增 systemLog.clear 权限(清空操作日志)
|
|
|
+-- 背景:SystemLogController.clear 将增加
|
|
|
+-- @SaCheckPermission("systemLog.clear") 注解,
|
|
|
+-- 需要先补齐权限数据,避免超管被 403 拦截。
|
|
|
+-- ====================================================
|
|
|
+
|
|
|
+DROP PROCEDURE IF EXISTS add_system_log_clear_permission;
|
|
|
+DELIMITER //
|
|
|
+CREATE PROCEDURE add_system_log_clear_permission()
|
|
|
+BEGIN
|
|
|
+ IF NOT EXISTS (
|
|
|
+ SELECT 1 FROM information_schema.TABLES
|
|
|
+ WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 't_permission'
|
|
|
+ ) THEN
|
|
|
+ SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 't_permission 表不存在,请先执行 init.sql';
|
|
|
+ END IF;
|
|
|
+
|
|
|
+ -- 1. 新增权限记录(幂等)
|
|
|
+ IF NOT EXISTS (
|
|
|
+ SELECT 1 FROM t_permission WHERE value = 'systemLog.clear'
|
|
|
+ ) THEN
|
|
|
+ INSERT INTO `t_permission` (`id`, `company_id`, `name`, `value`, `pid`, `weight`)
|
|
|
+ VALUES (94, NULL, '清空操作日志', 'systemLog.clear', 0, 150);
|
|
|
+ END IF;
|
|
|
+
|
|
|
+ -- 2. 超管角色(id=1)补齐该权限(管道分隔权限字符串,幂等)
|
|
|
+ UPDATE `t_role`
|
|
|
+ SET `permissions` = CONCAT(IFNULL(`permissions`, ''), '|systemLog.clear')
|
|
|
+ WHERE `id` = 1
|
|
|
+ AND FIND_IN_SET('systemLog.clear', REPLACE(IFNULL(`permissions`, ''), '|', ',')) = 0;
|
|
|
+END //
|
|
|
+DELIMITER ;
|
|
|
+CALL add_system_log_clear_permission();
|
|
|
+DROP PROCEDURE IF EXISTS add_system_log_clear_permission;
|
|
|
+
|
|
|
+-- ====================================================
|
|
|
+-- 验证:
|
|
|
+-- SELECT * FROM t_permission WHERE value = 'systemLog.clear';
|
|
|
+-- SELECT permissions FROM t_role WHERE id = 1;
|
|
|
+-- ====================================================
|