feat(tenant): 重构租户用户关系管理

- 新增sys_tenant_user表用于存储租户与用户的多对多关系
- 移除SysTenantServiceImpl中初始化用户的冗余逻辑
- 调整数据库初始化脚本以适配新的用户租户关系模型
This commit is contained in:
PIG AI committed 2025-07-04 12:05:00 +08:00
1 parent b1646437bc
commit 21130253a4
4 files changed
+34 -13

No files matched your search

+1 -1
View File
@@ -64,4 +64,4 @@ application-preview.yml
node_modules
### test
docker-compose-test.yml
*-aitest*
+17
View File
@@ -1368,6 +1368,23 @@ BEGIN;
INSERT INTO `sys_user_dept` (`user_id`, `dept_id`, `tenant_id`) VALUES (1, 1, 1);
COMMIT;
-- ----------------------------
-- Table structure for sys_tenant_user
-- ----------------------------
DROP TABLE IF EXISTS `sys_tenant_user`;
CREATE TABLE `sys_tenant_user` (
`tenant_id` bigint NOT NULL COMMENT '租户ID',
`user_id` bigint NOT NULL COMMENT '用户ID',
PRIMARY KEY (`tenant_id`,`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='租户用户表';
-- ----------------------------
-- Records of sys_tenant_user
-- ----------------------------
BEGIN;
INSERT INTO `sys_tenant_user` (`tenant_id`, `user_id`) VALUES (1, 1);
COMMIT;
-- ----------------------------
-- Table structure for sys_message
-- ----------------------------
+16
View File
@@ -1418,4 +1418,20 @@ BEGIN;
INSERT INTO `sys_user_dept` (`user_id`, `dept_id`, `tenant_id`) VALUES (1, 1, 1);
COMMIT;
-- ----------------------------
-- Table structure for sys_tenant_user
-- ----------------------------
DROP TABLE IF EXISTS `sys_tenant_user`;
CREATE TABLE `sys_tenant_user` (
`tenant_id` bigint NOT NULL COMMENT '租户ID',
`user_id` bigint NOT NULL COMMENT '用户ID',
PRIMARY KEY (`tenant_id`,`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='租户用户表';
-- ----------------------------
-- Records of sys_tenant_user
-- ----------------------------
BEGIN;
INSERT INTO `sys_tenant_user` (`tenant_id`, `user_id`) VALUES (1, 1);
COMMIT;
SET FOREIGN_KEY_CHECKS = 1;
@@ -51,7 +51,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.lang.reflect.Field;
import java.time.LocalDateTime;
import java.util.*;
/**
@@ -159,12 +158,6 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
dept.setName(tenantDefault.getTenantDefaultDeptname());
dept.setParentId(0L);
deptService.save(dept);
// 构造初始化用户
SysUser user = new SysUser();
user.setUsername(tenantDefault.getTenantDefaultUsername());
user.setPasswordModifyTime(LocalDateTime.now());
user.setPassword(ENCODER.encode(tenantDefault.getTenantDefaultPassword()));
userService.save(user);
// 构造普通用户角色
SysRole roleDefault = new SysRole();
@@ -179,11 +172,6 @@ public class SysTenantServiceImpl extends ServiceImpl<SysTenantMapper, SysTenant
role.setRoleName(tenantDefault.getTenantDefaultRolename());
role.setDsType(DataScopeTypeEnum.ALL.getType());
roleService.save(role);
// 用户角色关系
SysUserRole userRole = new SysUserRole();
userRole.setUserId(user.getUserId());
userRole.setRoleId(role.getRoleId());
userRoleService.save(userRole);
// 插入新的菜单
saveTenantMenu(menuList, CommonConstants.MENU_TREE_ROOT_ID, CommonConstants.MENU_TREE_ROOT_ID);