|
@@ -2,6 +2,7 @@ package com.usky.system.service.impl;
|
|
|
|
|
|
import cn.hutool.core.date.DateTime;
|
|
|
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.exception.BusinessException;
|
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
@@ -175,25 +176,29 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
|
|
|
sysTenantMapper.cloneSysMobileTenantMenu(originalTenantId,tenantId);
|
|
|
//克隆用户角色和租户用户角色
|
|
|
//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);
|
|
|
+ if(SecurityUtils.getLoginUser().getSysUser().getRoles().size()>0){
|
|
|
+ for (int i = 0; i < SecurityUtils.getLoginUser().getSysUser().getRoles().size(); i++) {
|
|
|
+ SysRole role = new SysRole();
|
|
|
+ long originalRoleId = SecurityUtils.getLoginUser().getSysUser().getRoles().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();
|
|
@@ -218,9 +223,13 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
|
|
|
|
|
|
LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
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.delSysUserRole(tenantId);
|
|
|
}
|