|
@@ -2,14 +2,12 @@ package com.usky.system.service.impl;
|
|
|
|
|
|
import cn.hutool.core.date.DateTime;
|
|
import cn.hutool.core.date.DateTime;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.usky.common.core.bean.CommonPage;
|
|
import com.usky.common.core.bean.CommonPage;
|
|
import com.usky.common.core.exception.BusinessException;
|
|
import com.usky.common.core.exception.BusinessException;
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
-import com.usky.system.domain.SysDept;
|
|
|
|
-import com.usky.system.domain.SysRole;
|
|
|
|
-import com.usky.system.domain.SysTenant;
|
|
|
|
-import com.usky.system.domain.SysUserTenant;
|
|
|
|
|
|
+import com.usky.system.domain.*;
|
|
import com.usky.system.mapper.SysTenantMapper;
|
|
import com.usky.system.mapper.SysTenantMapper;
|
|
import com.usky.system.mapper.SysUserTenantMapper;
|
|
import com.usky.system.mapper.SysUserTenantMapper;
|
|
import com.usky.system.service.ISysDeptService;
|
|
import com.usky.system.service.ISysDeptService;
|
|
@@ -125,6 +123,12 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
|
|
sysDept.setPhone(sysTenant.getPhoneNumber());
|
|
sysDept.setPhone(sysTenant.getPhoneNumber());
|
|
sysDept.setCreateBy(SecurityUtils.getUsername());
|
|
sysDept.setCreateBy(SecurityUtils.getUsername());
|
|
iSysDeptService.insertDept(sysDept);
|
|
iSysDeptService.insertDept(sysDept);
|
|
|
|
+
|
|
|
|
+ TenantPlatformVo tenantPlatformVo = new TenantPlatformVo();
|
|
|
|
+ tenantPlatformVo.setPlatformIds(new Integer[]{Integer.parseInt(sysTenant.getSystemName())});
|
|
|
|
+ tenantPlatformVo.setRequestId(0);
|
|
|
|
+ tenantPlatformVo.setTenantId(tenantId);
|
|
|
|
+ sysTenantPlatformService.updateTenantPlatform(tenantPlatformVo);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -169,25 +173,30 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
|
|
sysTenantMapper.cloneSysMobileTenantMenu(originalTenantId,tenantId);
|
|
sysTenantMapper.cloneSysMobileTenantMenu(originalTenantId,tenantId);
|
|
//克隆用户角色和租户用户角色
|
|
//克隆用户角色和租户用户角色
|
|
//sys_role
|
|
//sys_role
|
|
- SysRole role = new SysRole();
|
|
|
|
- long originalRoleId = SecurityUtils.getLoginUser().getSysUser().getRoles().get(0).getRoleId();
|
|
|
|
- LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
- queryWrapper.select(SysRole::getRoleName,SysRole::getRoleKey,SysRole::getRoleSort,SysRole::getDataScope,SysRole::getStatus).eq(SysRole::getRoleId, originalRoleId);
|
|
|
|
- SysRole one = roleService.getOne(queryWrapper);
|
|
|
|
- role.setRoleName(one.getRoleName());
|
|
|
|
- role.setRoleKey(one.getRoleKey());
|
|
|
|
- role.setRoleSort(one.getRoleSort());
|
|
|
|
- role.setDataScope(one.getDataScope());
|
|
|
|
- role.setStatus(one.getStatus());
|
|
|
|
- role.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
- role.setCreateTime(DateTime.now());
|
|
|
|
- role.setTenantId(tenantId);
|
|
|
|
- roleService.insertRole(role);
|
|
|
|
- long roleId = role.getRoleId();
|
|
|
|
- //sys_role_menu
|
|
|
|
- sysTenantMapper.cloneSysRoleMenu(originalRoleId,roleId);
|
|
|
|
- //sys_user_role
|
|
|
|
- sysTenantMapper.insertSysUserRole(SecurityUtils.getUserId(),roleId,tenantId);
|
|
|
|
|
|
+ List<SysUserRole> sysUserRoleList = sysTenantMapper.selectSysUserRoleList(originalTenantId,SecurityUtils.getUserId());
|
|
|
|
+ if(sysUserRoleList.size()>0){
|
|
|
|
+ for (int i = 0; i < sysUserRoleList.size(); i++) {
|
|
|
|
+ SysRole role = new SysRole();
|
|
|
|
+ long originalRoleId = sysUserRoleList.get(i).getRoleId();
|
|
|
|
+ LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.select(SysRole::getRoleName,SysRole::getRoleKey,SysRole::getRoleSort,SysRole::getDataScope,SysRole::getStatus).eq(SysRole::getRoleId, originalRoleId);
|
|
|
|
+ SysRole one = roleService.getOne(queryWrapper);
|
|
|
|
+ role.setRoleName(one.getRoleName());
|
|
|
|
+ role.setRoleKey(one.getRoleKey());
|
|
|
|
+ role.setRoleSort(one.getRoleSort());
|
|
|
|
+ role.setDataScope(one.getDataScope());
|
|
|
|
+ role.setStatus(one.getStatus());
|
|
|
|
+ role.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
+ role.setCreateTime(DateTime.now());
|
|
|
|
+ role.setTenantId(tenantId);
|
|
|
|
+ roleService.insertRole(role);
|
|
|
|
+ long roleId = role.getRoleId();
|
|
|
|
+ //sys_role_menu
|
|
|
|
+ sysTenantMapper.cloneSysRoleMenu(originalRoleId,roleId);
|
|
|
|
+ //sys_user_role
|
|
|
|
+ sysTenantMapper.insertSysUserRole(SecurityUtils.getUserId(),roleId,tenantId);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
//更新默认应用
|
|
//更新默认应用
|
|
TenantPlatformVo tenantPlatformVo = new TenantPlatformVo();
|
|
TenantPlatformVo tenantPlatformVo = new TenantPlatformVo();
|
|
@@ -212,9 +221,13 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
|
|
|
|
|
|
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
queryWrapper.select(SysRole::getRoleId).eq(SysRole::getTenantId, tenantId);
|
|
queryWrapper.select(SysRole::getRoleId).eq(SysRole::getTenantId, tenantId);
|
|
- SysRole one = roleService.getOne(queryWrapper);
|
|
|
|
- long roleId = one.getRoleId();
|
|
|
|
- sysTenantMapper.delSysRoleMenu(roleId);
|
|
|
|
|
|
+ List<SysRole> list = roleService.list(queryWrapper);
|
|
|
|
+ if(CollectionUtils.isNotEmpty(list)){
|
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
|
+ long roleId = list.get(i).getRoleId();
|
|
|
|
+ sysTenantMapper.delSysRoleMenu(roleId);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
sysTenantMapper.delSysRole(tenantId);
|
|
sysTenantMapper.delSysRole(tenantId);
|
|
sysTenantMapper.delSysUserRole(tenantId);
|
|
sysTenantMapper.delSysUserRole(tenantId);
|
|
}
|
|
}
|