|
|
@@ -26,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
@@ -38,7 +39,7 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
|
|
|
implements SysSystemService {
|
|
|
|
|
|
@Autowired
|
|
|
- private SysSystemPermsMapper sysSystemPermsMapper;
|
|
|
+ private SysRolePermsMapper sysRolePermsMapper;
|
|
|
@Autowired
|
|
|
private SysUploadFilesMapper sysUploadFilesMapper;
|
|
|
@Autowired
|
|
|
@@ -50,34 +51,85 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
|
|
|
@Autowired
|
|
|
private SysDeptMapper sysDeptMapper;
|
|
|
@Autowired
|
|
|
+ private SysConfigMapper sysConfigMapper;
|
|
|
+ @Autowired
|
|
|
private SysUserJzgInfoMapper sysUserJzgInfoMapper;
|
|
|
@Autowired
|
|
|
+ private SysUserPlateInfoMapper sysUserPlateInfoMapper;
|
|
|
+ @Autowired
|
|
|
private MinioUtils minioUtils;
|
|
|
@Value("${minio.bucket-name}")
|
|
|
private String bucketName;
|
|
|
|
|
|
@Override
|
|
|
public boolean updatePerms(SysSystemPermsVo sysSystemPermsVo) {
|
|
|
- List<SysSystemPerms> perms = new ArrayList<>();
|
|
|
+ String permsStr = sysSystemPermsVo.getPermsStr();
|
|
|
+ List<SysConfig> configs = sysConfigMapper.selectList(new LambdaQueryWrapper<SysConfig>()
|
|
|
+ .eq(SysConfig::getType, 1).eq(SysConfig::getSystemCode,sysSystemPermsVo.getSystemCode()));
|
|
|
+ SysConfig config;
|
|
|
+ if(CollUtil.isEmpty(configs)){
|
|
|
+ config = new SysConfig();
|
|
|
+ config.setSysConfig(permsStr);
|
|
|
+ config.setType(1);
|
|
|
+ config.setSystemCode(sysSystemPermsVo.getSystemCode());
|
|
|
+ sysConfigMapper.insert(config);
|
|
|
+ }else{
|
|
|
+ config = configs.get(0);
|
|
|
+ config.setSysConfig(permsStr);
|
|
|
+ sysConfigMapper.updateById(config);
|
|
|
+ }
|
|
|
+ // 获取租户管理员角色id
|
|
|
+ LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(SysRole::getSystemCode, sysSystemPermsVo.getSystemCode())
|
|
|
+ .like(SysRole::getName,"管理员");
|
|
|
+ List<SysRole> roles = sysRoleMapper.selectList(queryWrapper);
|
|
|
+
|
|
|
+ LambdaQueryWrapper<SysRolePerms> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(SysRolePerms::getRoleId,roles.get(0).getId());
|
|
|
+ sysRolePermsMapper.delete(wrapper);
|
|
|
+ List<SysRolePerms> perms = new ArrayList<>();
|
|
|
sysSystemPermsVo.getPerms().forEach(per->{
|
|
|
- SysSystemPerms sysSystemPerms = new SysSystemPerms();
|
|
|
- sysSystemPerms.setId(IdGenerate.nextId());
|
|
|
- sysSystemPerms.setSystemCode(sysSystemPerms.getSystemCode());
|
|
|
+ SysRolePerms sysSystemPerms = new SysRolePerms();
|
|
|
+ sysSystemPerms.setRoleId(roles.get(0).getId());
|
|
|
sysSystemPerms.setPermsId(per.getPermsId());
|
|
|
sysSystemPerms.setPerms(per.getPerms());
|
|
|
perms.add(sysSystemPerms);
|
|
|
});
|
|
|
- return !sysSystemPermsMapper.insert(perms).isEmpty();
|
|
|
+ return !sysRolePermsMapper.insert(perms).isEmpty();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<SysSystemPerms> getSystemPerms(String systemCode) {
|
|
|
- List<SysSystemPerms> sysSystemPerms = sysSystemPermsMapper.selectList(new LambdaQueryWrapper<SysSystemPerms>()
|
|
|
- .eq(SysSystemPerms::getSystemCode, systemCode));
|
|
|
-
|
|
|
+ public List<SysRolePerms> getSystemPerms(String systemCode) {
|
|
|
+ LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(SysRole::getSystemCode, systemCode)
|
|
|
+ .like(SysRole::getName,"管理员");
|
|
|
+ List<SysRole> roles = sysRoleMapper.selectList(queryWrapper);
|
|
|
+ List<SysRolePerms> sysSystemPerms = sysRolePermsMapper.selectList(new LambdaQueryWrapper<SysRolePerms>()
|
|
|
+ .eq(SysRolePerms::getRoleId, roles.get(0).getId()));
|
|
|
return sysSystemPerms;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public boolean updateConfig(SysConfig config) {
|
|
|
+ List<SysConfig> configs = sysConfigMapper.selectList(new LambdaQueryWrapper<SysConfig>()
|
|
|
+ .eq(SysConfig::getType, 0));
|
|
|
+ if(CollUtil.isEmpty(configs)){
|
|
|
+ config.setType(0);
|
|
|
+ sysConfigMapper.insert(config);
|
|
|
+ }else{
|
|
|
+ config.setId(configs.get(0).getId());
|
|
|
+ sysConfigMapper.updateById(config);
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public SysConfig getSystemConfig() {
|
|
|
+ List<SysConfig> configs = sysConfigMapper.selectList(new LambdaQueryWrapper<SysConfig>()
|
|
|
+ .eq(SysConfig::getType, 0));
|
|
|
+ return configs.get(0);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据SystemCode 查询 System对象
|
|
|
* @param systemCode
|
|
|
@@ -86,7 +138,9 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
|
|
|
@Override
|
|
|
public SysSystem getBySystemCode(String systemCode ) {
|
|
|
return this.getOne(new LambdaQueryWrapper<SysSystem>()
|
|
|
- .eq(SysSystem::getSysCode, systemCode));
|
|
|
+ .eq(SysSystem::getSysCode, systemCode)
|
|
|
+ .eq(SysSystem::getAvailable, YesNoEnum.YES.getCode())
|
|
|
+ .eq(SysSystem::getIsDelete, YesNoEnum.NO.getCode()));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -117,11 +171,19 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
|
|
|
Page<SysSystemVo> sysPage = baseMapper.queryPage(page, param);
|
|
|
List<SysSystemVo> sysSystemList = sysPage.getRecords();
|
|
|
if(CollUtil.isNotEmpty(sysSystemList)){
|
|
|
+ // 查询所有机构
|
|
|
+ List<SysDept> deptList = sysDeptMapper.selectList(new LambdaQueryWrapper<>());
|
|
|
+ Map<String,List<SysDept>> deptMap = deptList.stream()
|
|
|
+ .collect(Collectors.groupingBy(SysDept::getSystemCode));
|
|
|
sysSystemList.forEach(sysSystem->{
|
|
|
SysUploadFiles files = sysUploadFilesMapper.selectById(sysSystem.getSysIcon());
|
|
|
if(StringUtils.isNotNull(files)){
|
|
|
sysSystem.setSysIconUrl(minioUtils.getPresignedObjectUrl(bucketName,files.getFileName()));
|
|
|
}
|
|
|
+ if(deptMap.containsKey(sysSystem.getSysCode())){
|
|
|
+ int count = deptMap.get(sysSystem.getSysCode()).size();
|
|
|
+ sysSystem.setDeptCount(count);
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
return sysPage;
|
|
|
@@ -168,16 +230,27 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
|
|
|
userId = user.getId();
|
|
|
}
|
|
|
// 新增用户机构关联信息
|
|
|
- SysUserJzgInfo info = new SysUserJzgInfo();
|
|
|
+ SysUserPlateInfo info = new SysUserPlateInfo();
|
|
|
info.setUserId(userId);
|
|
|
- info.setDeptId("");// 后期放最顶级的机构
|
|
|
- sysUserJzgInfoMapper.insert(info);
|
|
|
+ info.setSystemCode(sysSystem.getSysCode());
|
|
|
+ info.setIsEnable(1);
|
|
|
+ sysUserPlateInfoMapper.insert(info);
|
|
|
+ // 查询该租户是否有管理员角色
|
|
|
+ LambdaQueryWrapper<SysRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(SysRole::getSystemCode, sysSystem.getSysCode())
|
|
|
+ .like(SysRole::getName,"管理员");
|
|
|
+ List<SysRole> roles = sysRoleMapper.selectList(queryWrapper);
|
|
|
+ SysRole role;
|
|
|
// 新增管理员角色
|
|
|
- SysRole role = new SysRole(sysSystem.getSysCode());
|
|
|
- sysRoleMapper.insert(role);
|
|
|
+ if(CollUtil.isNotEmpty(roles)){
|
|
|
+ role = roles.get(0);
|
|
|
+ }else{
|
|
|
+ role = new SysRole(sysSystem.getSysCode());
|
|
|
+ sysRoleMapper.insert(role);
|
|
|
+ }
|
|
|
// 关联用户角色
|
|
|
SysUserRole userRole = new SysUserRole();
|
|
|
- userRole.setUserId(userId);
|
|
|
+ userRole.setUserId(info.getId());
|
|
|
userRole.setRoleId(role.getId());
|
|
|
sysUserRoleMapper.insert(userRole);
|
|
|
// 租户绑定管理员信息
|
|
|
@@ -207,10 +280,11 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
|
|
|
sysUser = new SysUser(param);
|
|
|
sysUserMapper.insert(sysUser);
|
|
|
// 新增用户机构关联信息
|
|
|
- SysUserJzgInfo info = new SysUserJzgInfo();
|
|
|
+ SysUserPlateInfo info = new SysUserPlateInfo();
|
|
|
info.setUserId(sysUser.getId());
|
|
|
- info.setDeptId("");// 后期放最顶级的机构
|
|
|
- sysUserJzgInfoMapper.insert(info);
|
|
|
+ info.setSystemCode(sysSystem.getSysCode());
|
|
|
+ info.setIsEnable(1);
|
|
|
+ sysUserPlateInfoMapper.insert(info);
|
|
|
}
|
|
|
}
|
|
|
|