|
@@ -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());
|
|
|
//不删除账号只删除中间表
|