-- ============================================================================= -- 恢复 JeecgBoot 兼容的 RBAC 列(仅 inquiry_robot) -- 背景:slim_rbac_columns.sql 砍掉了 avatar/del_flag/component/url 等,导致登录失败。 -- 保留精简期额外列:sys_user.wecom_id / last_login_time、sys_permission.path、sys_role.status -- 禁止对现网 jeecg-boot 库执行。 -- ============================================================================= SET NAMES utf8mb4; -- ---------- sys_user:补齐 Jeecg SysUser 实体列 ---------- ALTER TABLE `sys_user` ADD COLUMN `avatar` varchar(255) NULL DEFAULT NULL COMMENT '头像' AFTER `salt`, ADD COLUMN `birthday` datetime NULL DEFAULT NULL COMMENT '生日' AFTER `avatar`, ADD COLUMN `sex` tinyint(1) NULL DEFAULT NULL COMMENT '性别' AFTER `birthday`, ADD COLUMN `email` varchar(45) NULL DEFAULT NULL COMMENT '电子邮件' AFTER `sex`, ADD COLUMN `org_code` varchar(64) NULL DEFAULT NULL COMMENT '机构编码' AFTER `phone`, ADD COLUMN `del_flag` tinyint(1) NULL DEFAULT 0 COMMENT '删除状态0正常1已删除' AFTER `status`, ADD COLUMN `third_id` varchar(100) NULL DEFAULT NULL COMMENT '第三方唯一标识' AFTER `del_flag`, ADD COLUMN `third_type` varchar(100) NULL DEFAULT NULL COMMENT '第三方类型' AFTER `third_id`, ADD COLUMN `activiti_sync` tinyint(1) NULL DEFAULT 0 COMMENT '同步工作流' AFTER `third_type`, ADD COLUMN `work_no` varchar(100) NULL DEFAULT NULL COMMENT '工号' AFTER `activiti_sync`, ADD COLUMN `post` varchar(100) NULL DEFAULT NULL COMMENT '职务' AFTER `work_no`, ADD COLUMN `telephone` varchar(45) NULL DEFAULT NULL COMMENT '座机' AFTER `post`, ADD COLUMN `create_by` varchar(32) NULL DEFAULT NULL COMMENT '创建人' AFTER `telephone`, ADD COLUMN `update_by` varchar(32) NULL DEFAULT NULL COMMENT '更新人' AFTER `create_time`, ADD COLUMN `user_identity` tinyint(1) NULL DEFAULT NULL COMMENT '身份' AFTER `update_time`, ADD COLUMN `depart_ids` varchar(1000) NULL DEFAULT NULL COMMENT '负责部门' AFTER `user_identity`, ADD COLUMN `client_id` varchar(64) NULL DEFAULT NULL COMMENT '设备ID' AFTER `depart_ids`, ADD COLUMN `login_tenant_id` int NULL DEFAULT NULL COMMENT '上次登录租户' AFTER `client_id`, ADD COLUMN `bpm_status` varchar(2) NULL DEFAULT NULL COMMENT '流程状态' AFTER `login_tenant_id`; -- 存量账号必须可被 del_flag=0 查到;企微 id 回写 third_id 便于对照 UPDATE `sys_user` SET `del_flag` = 0 WHERE `del_flag` IS NULL; UPDATE `sys_user` SET `third_id` = `wecom_id` WHERE (`third_id` IS NULL OR `third_id` = '') AND `wecom_id` IS NOT NULL AND `wecom_id` <> ''; -- ---------- sys_role:补齐 Jeecg 列(保留 status) ---------- ALTER TABLE `sys_role` ADD COLUMN `create_by` varchar(32) NULL DEFAULT NULL COMMENT '创建人' AFTER `description`, ADD COLUMN `update_by` varchar(32) NULL DEFAULT NULL COMMENT '更新人' AFTER `create_time`, ADD COLUMN `tenant_id` int NULL DEFAULT 0 COMMENT '租户ID' AFTER `update_time`; -- ---------- sys_permission:补齐 Jeecg 菜单列(保留 path) ---------- ALTER TABLE `sys_permission` ADD COLUMN `url` varchar(255) NULL DEFAULT NULL COMMENT '路径' AFTER `name`, ADD COLUMN `component` varchar(255) NULL DEFAULT NULL COMMENT '组件' AFTER `url`, ADD COLUMN `is_route` tinyint(1) NULL DEFAULT 1 COMMENT '是否路由菜单' AFTER `component`, ADD COLUMN `component_name` varchar(255) NULL DEFAULT NULL COMMENT '组件名' AFTER `is_route`, ADD COLUMN `redirect` varchar(255) NULL DEFAULT NULL COMMENT '一级跳转' AFTER `component_name`, ADD COLUMN `perms_type` varchar(10) NULL DEFAULT '0' COMMENT '权限策略' AFTER `perms`, ADD COLUMN `always_show` tinyint(1) NULL DEFAULT 0 COMMENT '聚合子路由' AFTER `sort_no`, ADD COLUMN `is_leaf` tinyint(1) NULL DEFAULT 0 COMMENT '是否叶子' AFTER `icon`, ADD COLUMN `keep_alive` tinyint(1) NULL DEFAULT 0 COMMENT '是否缓存' AFTER `is_leaf`, ADD COLUMN `hidden` int NULL DEFAULT 0 COMMENT '是否隐藏路由' AFTER `keep_alive`, ADD COLUMN `hide_tab` int NULL DEFAULT 0 COMMENT '是否隐藏tab' AFTER `hidden`, ADD COLUMN `description` varchar(255) NULL DEFAULT NULL COMMENT '描述' AFTER `hide_tab`, ADD COLUMN `create_by` varchar(255) NULL DEFAULT NULL COMMENT '创建人' AFTER `description`, ADD COLUMN `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间' AFTER `create_by`, ADD COLUMN `update_by` varchar(255) NULL DEFAULT NULL COMMENT '更新人' AFTER `create_time`, ADD COLUMN `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间' AFTER `update_by`, ADD COLUMN `del_flag` int NULL DEFAULT 0 COMMENT '删除状态' AFTER `update_time`, ADD COLUMN `rule_flag` int NULL DEFAULT 0 COMMENT '数据权限标记' AFTER `del_flag`, ADD COLUMN `internal_or_external` tinyint(1) NULL DEFAULT 0 COMMENT '外链打开方式' AFTER `status`; -- status 从 tinyint 改为 Jeecg 期望的 varchar(2) ALTER TABLE `sys_permission` MODIFY COLUMN `status` varchar(2) NULL DEFAULT '1' COMMENT '按钮权限状态0无效1有效'; ALTER TABLE `sys_permission` MODIFY COLUMN `sort_no` double(8,2) NULL DEFAULT 0 COMMENT '菜单排序'; -- path -> url;按钮叶子等默认值 UPDATE `sys_permission` SET `url` = `path` WHERE (`url` IS NULL OR `url` = '') AND `path` IS NOT NULL; UPDATE `sys_permission` SET `del_flag` = 0 WHERE `del_flag` IS NULL; UPDATE `sys_permission` SET `status` = '1' WHERE `status` IS NULL OR `status` = '' OR `status` = '1'; UPDATE `sys_permission` SET `is_route` = CASE WHEN `menu_type` = 2 THEN 0 ELSE 1 END WHERE `is_route` IS NULL; UPDATE `sys_permission` SET `is_leaf` = CASE WHEN `menu_type` = 0 THEN 0 ELSE 1 END; UPDATE `sys_permission` SET `perms_type` = '1' WHERE `perms_type` IS NULL OR `perms_type` = '' OR `perms_type` = '0'; -- 询价菜单补 component(对齐 inquiry_admin_menu_seed_v1) UPDATE `sys_permission` SET `url`='/inquiry', `component`='layouts/default/index', `is_leaf`=0, `is_route`=1 WHERE `id`='b1000000000000000000000000000001'; UPDATE `sys_permission` SET `url`='/inquiry/dashboard', `component`='inquiry/dashboard/index', `is_leaf`=1, `is_route`=1 WHERE `id`='b1000000000000000000000000000002'; UPDATE `sys_permission` SET `url`='/inquiry/work-order', `component`='inquiry/workOrder/index', `is_leaf`=1, `is_route`=1 WHERE `id`='b1000000000000000000000000000003'; UPDATE `sys_permission` SET `url`='/inquiry/staff-role', `component`='inquiry/staffRole/index', `is_leaf`=1, `is_route`=1 WHERE `id`='b1000000000000000000000000000004'; UPDATE `sys_permission` SET `url`='/inquiry/bot-reply', `component`='inquiry/botReply/index', `is_leaf`=1, `is_route`=1 WHERE `id`='b1000000000000000000000000000005'; UPDATE `sys_permission` SET `url`='/inquiry-sys', `component`='layouts/default/index', `is_leaf`=0, `is_route`=1 WHERE `id`='b1000000000000000000000000000010'; UPDATE `sys_permission` SET `url`='/inquiry-sys/user', `component`='system/user/index', `is_leaf`=1, `is_route`=1 WHERE `id`='b1000000000000000000000000000011'; UPDATE `sys_permission` SET `url`='/inquiry-sys/role', `component`='system/role/index', `is_leaf`=1, `is_route`=1 WHERE `id`='b1000000000000000000000000000012';