|
@@ -1,29 +1,29 @@
|
|
|
package com.usky.system.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.usky.common.core.bean.CommonPage;
|
|
|
import com.usky.common.core.exception.BusinessException;
|
|
|
import com.usky.common.mybatis.core.AbstractCrudService;
|
|
|
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.SysUser;
|
|
|
import com.usky.system.domain.SysUserTenant;
|
|
|
import com.usky.system.mapper.SysTenantMapper;
|
|
|
import com.usky.system.mapper.SysUserTenantMapper;
|
|
|
import com.usky.system.service.ISysDeptService;
|
|
|
+import com.usky.system.service.ISysRoleService;
|
|
|
import com.usky.system.service.SysTenantPlatformService;
|
|
|
import com.usky.system.service.SysTenantService;
|
|
|
import com.usky.system.service.vo.SysTenantOneVo;
|
|
|
import com.usky.system.service.vo.SysTenantTwoVo;
|
|
|
import com.usky.system.service.vo.SysTenantVo;
|
|
|
import com.usky.system.service.vo.TenantPlatformVo;
|
|
|
-import io.swagger.models.auth.In;
|
|
|
-import org.apache.ibatis.annotations.Select;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
import java.util.UUID;
|
|
|
|
|
@@ -46,6 +46,8 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
|
|
|
private SysTenantMapper sysTenantMapper;
|
|
|
@Autowired
|
|
|
private SysTenantPlatformService sysTenantPlatformService;
|
|
|
+ @Autowired
|
|
|
+ private ISysRoleService roleService;
|
|
|
|
|
|
@Override
|
|
|
public List<SysTenantVo> getUserData() {
|
|
@@ -165,6 +167,27 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
|
|
|
//克隆应用授权和权限配置
|
|
|
sysTenantMapper.cloneSysTenantPlatform(originalTenantId,tenantId);
|
|
|
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);
|
|
|
|
|
|
//更新默认应用
|
|
|
TenantPlatformVo tenantPlatformVo = new TenantPlatformVo();
|
|
@@ -186,6 +209,14 @@ public class SysTenantServiceImpl extends AbstractCrudService<SysTenantMapper, S
|
|
|
sysTenantMapper.delSysMobileBanner(tenantId);
|
|
|
sysTenantMapper.delSysMobileTenantConfig(tenantId);
|
|
|
sysTenantMapper.delSysMobileTenantMenu(tenantId);
|
|
|
+
|
|
|
+ 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);
|
|
|
+ sysTenantMapper.delSysRole(tenantId);
|
|
|
+ sysTenantMapper.delSysUserRole(tenantId);
|
|
|
}
|
|
|
|
|
|
@Override
|