Browse Source

租户删除

LIVE_YE 2 weeks ago
parent
commit
496a7e50bb

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysTenantMapper.java

@@ -19,5 +19,5 @@ public interface SysTenantMapper extends BaseMapperPlus<SysTenant, SysTenantVo>
     List<SysTenantVo> selectVoListByUserName(Long userId);
 
     @InterceptorIgnore(tenantLine = "true", dataPermission = "false")
-    SysTenant selectSysTenantById(Long id);
+    SysTenantVo selectSysTenantById(Long id);
 }

+ 1 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java

@@ -125,5 +125,5 @@ public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> {
     int updateUserByIdNoTenantId(SysUser user);
 
     @InterceptorIgnore(tenantLine = "true", dataPermission = "false")
-    List<SysUser> selectUserByTenant(@Param("tenant")String tenant,@Param("roleKey")String roleKey);
+    List<SysUserVo> selectUserByTenant(@Param("tenant")String tenant,@Param("roleKey")String roleKey);
 }

+ 12 - 7
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java

@@ -31,6 +31,7 @@ import org.dromara.system.domain.*;
 import org.dromara.system.domain.bo.SysTenantBo;
 import org.dromara.system.domain.vo.SysRoleVo;
 import org.dromara.system.domain.vo.SysTenantVo;
+import org.dromara.system.domain.vo.SysUserVo;
 import org.dromara.system.mapper.*;
 import org.dromara.system.service.ISysRoleService;
 import org.dromara.system.service.ISysTenantService;
@@ -362,12 +363,16 @@ public class SysTenantServiceImpl implements ISysTenantService {
                 throw new ServiceException("存在相同名字租户");
             }
             SysTenant tenant = MapstructUtils.convert(bo.getTenantId(), SysTenant.class);
-            List<SysUser> userList = userMapper.selectUserByTenant(tenant.getTenantId(),TENANT_ADMIN_ROLE_KEY);
-            for (SysUser sysUser : userList) {
-                sysUser.setDelFlag(SUCCESS);
+            List<SysUserVo> userList = userMapper.selectUserByTenant(tenant.getTenantId(),TENANT_ADMIN_ROLE_KEY);
+            List<SysUser> users = new ArrayList<>();
+            for (SysUserVo sysUser : userList) {
+                SysUser user = MapstructUtils.convert(sysUser, SysUser.class);
+                user.setDelFlag(SUCCESS);
                 sysUserTenantMapper.updateByTenantId(tenant.getTenantId(),sysUser.getUserId(),SUCCESS);
+                users.add(user);
+
             }
-            userMapper.updateBatchById(userList);
+            userMapper.updateBatchById(users);
             tenan.setDelFlag(SUCCESS);
         }
 
@@ -402,10 +407,10 @@ public class SysTenantServiceImpl implements ISysTenantService {
         }
         for (Long id : ids) {
             //查询租户信息
-            SysTenant tenant = baseMapper.selectSysTenantById(id);
+            SysTenantVo tenant = baseMapper.selectSysTenantById(id);
             //删除租户管理员账号,判断账号是否只有一个租户
-            List<SysUser> userList = userMapper.selectUserByTenant(tenant.getTenantId(),TENANT_ADMIN_ROLE_KEY);
-            for (SysUser sysUser : userList) {
+            List<SysUserVo> userList = userMapper.selectUserByTenant(tenant.getTenantId(),TENANT_ADMIN_ROLE_KEY);
+            for (SysUserVo sysUser : userList) {
                 //判断账号是否存在其他租户
                 int count = sysUserTenantMapper.selectByUserId(sysUser.getUserId());
                 //不删除账号只删除中间表