|
|
@@ -6,21 +6,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.jzg.commons.constants.SystemConstants;
|
|
|
import com.jzg.commons.entity.dto.SysUserAddParam;
|
|
|
import com.jzg.commons.entity.dto.SysUserEditParam;
|
|
|
import com.jzg.commons.entity.dto.SysUserParam;
|
|
|
import com.jzg.commons.entity.enums.YesNoEnum;
|
|
|
-import com.jzg.commons.entity.po.SysRole;
|
|
|
-import com.jzg.commons.entity.po.SysUser;
|
|
|
-import com.jzg.commons.entity.po.SysUserJzgInfo;
|
|
|
-import com.jzg.commons.entity.po.SysUserRole;
|
|
|
+import com.jzg.commons.entity.po.*;
|
|
|
import com.jzg.commons.entity.vo.SysUserVo;
|
|
|
import com.jzg.commons.entity.vo.UpAndDownVo;
|
|
|
import com.jzg.commons.util.StringUtils;
|
|
|
-import com.jzg.mapper.SysRoleMapper;
|
|
|
-import com.jzg.mapper.SysUserJzgInfoMapper;
|
|
|
-import com.jzg.mapper.SysUserMapper;
|
|
|
-import com.jzg.mapper.SysUserRoleMapper;
|
|
|
+import com.jzg.mapper.*;
|
|
|
import com.jzg.service.SysUserService;
|
|
|
import com.jzg.commons.util.PasswordUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
@@ -47,22 +42,22 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
|
|
@Autowired
|
|
|
private SysUserRoleMapper sysUserRoleMapper;
|
|
|
@Autowired
|
|
|
- private SysUserJzgInfoMapper sysUserJzgInfoMapper;
|
|
|
+ private SysUserPlateInfoMapper sysUserPlateInfoMapper;
|
|
|
|
|
|
@Override
|
|
|
public Page<SysUserVo> queryPage(Page page, SysUserParam param) {
|
|
|
Page<SysUserVo> userPage = baseMapper.queryPage(page, param);
|
|
|
List<SysUserVo> userList = userPage.getRecords();
|
|
|
if (!userList.isEmpty()) {
|
|
|
- List<String> userIdList = userList.stream().map(user -> user.getId()).collect(Collectors.toList());
|
|
|
+ List<String> userIdList = userList.stream().map(user -> user.getUserInfoId()).collect(Collectors.toList());
|
|
|
// 批量查询 角色信息
|
|
|
- List<SysRole> roles = sysRoleMapper.queryByUserIds(userIdList);
|
|
|
- Map<String,String> nameMap = roles.stream()
|
|
|
- .collect(Collectors.toMap(item -> item.getUserId(), item -> item.getName(),
|
|
|
- (v1,v2) -> v1 + ',' + v2));
|
|
|
+ List<SysUserRole> roleIds = sysRoleMapper.queryByUserIds(userIdList);
|
|
|
+ Map<String,List<SysUserRole>> nameMap = roleIds.stream()
|
|
|
+ .collect(Collectors.groupingBy(SysUserRole::getUserId));
|
|
|
userList.forEach(sysUser -> {
|
|
|
- if(nameMap.containsKey(sysUser.getId())){
|
|
|
- sysUser.setRoleNames(nameMap.get(sysUser.getId()));
|
|
|
+ if(nameMap.containsKey(sysUser.getUserInfoId())){
|
|
|
+ sysUser.setRoleNameList(nameMap.get(sysUser.getUserInfoId()).stream()
|
|
|
+ .map(SysUserRole::getName).collect(Collectors.toList()));
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
@@ -74,43 +69,76 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
|
|
SysUser user = this.baseMapper.selectById(id);
|
|
|
SysUserVo vo = new SysUserVo();
|
|
|
BeanUtils.copyProperties(user, vo);
|
|
|
+ List<SysUserPlateInfo> infos = sysUserPlateInfoMapper.selectList(new LambdaQueryWrapper<SysUserPlateInfo>()
|
|
|
+ .eq(SysUserPlateInfo::getUserId, id)
|
|
|
+ .eq(SysUserPlateInfo::getSystemCode, SystemConstants.SYSTEM_PLATFORM.getCode()));
|
|
|
+ if(CollUtil.isNotEmpty(infos)){
|
|
|
+ vo.setIsEnable(infos.get(0).getIsEnable());
|
|
|
+ }
|
|
|
+ List<String> userIdList = new ArrayList<>();
|
|
|
+ userIdList.add(infos.get(0).getId());
|
|
|
+ // 批量查询 角色信息
|
|
|
+ List<SysUserRole> roleIds = sysRoleMapper.queryByUserIds(userIdList);
|
|
|
+ Map<String,List<SysUserRole>> nameMap = roleIds.stream()
|
|
|
+ .collect(Collectors.groupingBy(SysUserRole::getUserId));
|
|
|
+ vo.setRoleNameList(nameMap.get(infos.get(0).getId()).stream()
|
|
|
+ .map(SysUserRole::getName).collect(Collectors.toList()));
|
|
|
return vo;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public boolean isExistsMobile(String mobile, String id) {
|
|
|
- long count = this.count(new LambdaQueryWrapper<SysUser>()
|
|
|
+ List<SysUser> userList = this.list(new LambdaQueryWrapper<SysUser>()
|
|
|
.eq(SysUser::getMobile, mobile)
|
|
|
- .ne(StringUtils.isNotNull(id),SysUser::getId, id)
|
|
|
- );
|
|
|
- return count > 0;
|
|
|
+ .ne(StringUtils.isNotNull(id),SysUser::getId, id));
|
|
|
+ if(CollUtil.isNotEmpty(userList)){
|
|
|
+ if(userList.size() > 1){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ SysUser user = userList.get(0);
|
|
|
+ LambdaQueryWrapper<SysUserPlateInfo> infoLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ infoLambdaQueryWrapper.eq(SysUserPlateInfo::getUserId, user.getId());
|
|
|
+ List<SysUserPlateInfo> infoList = sysUserPlateInfoMapper.selectList(infoLambdaQueryWrapper);
|
|
|
+ if(CollUtil.isNotEmpty(infoList)){
|
|
|
+ List<SysUserPlateInfo> jzgInfos = infoList.stream().filter(info ->
|
|
|
+ "PLATFORM".equals(info.getSystemCode())).collect(Collectors.toList());
|
|
|
+ if(CollUtil.isNotEmpty(jzgInfos)){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void userAdd(SysUserAddParam param) {
|
|
|
+ List<SysUser> userList = this.list(new LambdaQueryWrapper<SysUser>()
|
|
|
+ .eq(SysUser::getMobile, param.getMobile())
|
|
|
+ .eq(SysUser::getAccountStatus, YesNoEnum.NO.getCode()));
|
|
|
SysUser user = new SysUser();
|
|
|
- BeanUtils.copyProperties(param, user);
|
|
|
- user.setAccountStatus(1);
|
|
|
- String salt = PasswordUtils.getSalt();
|
|
|
- String encryptedPassword = PasswordUtils.encode("12345678",salt);
|
|
|
- user.setSalt(salt);
|
|
|
- user.setPassword(encryptedPassword);
|
|
|
- this.save(user);
|
|
|
- SysUserJzgInfo info = new SysUserJzgInfo();
|
|
|
- info.setUserId(user.getId());
|
|
|
- info.setSystemCode("PLATFORM");
|
|
|
- info.setStatus(6);
|
|
|
- sysUserJzgInfoMapper.insert(info);
|
|
|
+ if(CollUtil.isEmpty(userList)){
|
|
|
+ BeanUtils.copyProperties(param, user);
|
|
|
+ user.setAccountStatus(1);
|
|
|
+ String salt = PasswordUtils.getSalt();
|
|
|
+ String encryptedPassword = PasswordUtils.encode("12345678",salt);
|
|
|
+ user.setSalt(salt);
|
|
|
+ user.setPassword(encryptedPassword);
|
|
|
+ this.save(user);
|
|
|
+ }else{
|
|
|
+ user = userList.get(0);
|
|
|
+ }
|
|
|
+ SysUserPlateInfo info = new SysUserPlateInfo(user.getId());
|
|
|
+ sysUserPlateInfoMapper.insert(info);
|
|
|
// 角色信息关联
|
|
|
List<String> roleIdList = param.getRoleIdList();
|
|
|
List<SysUserRole> userRoles = new ArrayList<>();
|
|
|
- roleIdList.forEach(id -> {
|
|
|
+ for (String id : roleIdList) {
|
|
|
SysUserRole sysUserRole = new SysUserRole();
|
|
|
- sysUserRole.setUserId(user.getId());
|
|
|
+ sysUserRole.setUserId(info.getId());
|
|
|
sysUserRole.setRoleId(id);
|
|
|
userRoles.add(sysUserRole);
|
|
|
- });
|
|
|
+ }
|
|
|
sysUserRoleMapper.insert(userRoles);
|
|
|
}
|
|
|
|
|
|
@@ -121,9 +149,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
|
|
BeanUtils.copyProperties(param, user);
|
|
|
this.updateById(user);
|
|
|
|
|
|
+ SysUserPlateInfo info = sysUserPlateInfoMapper.selectOne(new LambdaQueryWrapper<SysUserPlateInfo>()
|
|
|
+ .eq(SysUserPlateInfo::getUserId, user.getId()));
|
|
|
+
|
|
|
// 删除当前用户与角色的关联信息
|
|
|
LambdaUpdateWrapper<SysUserRole> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
- updateWrapper.eq(SysUserRole::getUserId, user.getId());
|
|
|
+ updateWrapper.eq(SysUserRole::getUserId, info.getId());
|
|
|
sysUserRoleMapper.delete(updateWrapper);
|
|
|
|
|
|
// 角色信息关联
|
|
|
@@ -131,7 +162,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
|
|
List<SysUserRole> userRoles = new ArrayList<>();
|
|
|
roleList.forEach(id -> {
|
|
|
SysUserRole sysUserRole = new SysUserRole();
|
|
|
- sysUserRole.setUserId(user.getId());
|
|
|
+ sysUserRole.setUserId(info.getId());
|
|
|
sysUserRole.setRoleId(id);
|
|
|
userRoles.add(sysUserRole);
|
|
|
});
|
|
|
@@ -145,23 +176,30 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
|
|
LambdaUpdateWrapper<SysUserRole> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
updateWrapper.in(SysUserRole::getUserId, ids);
|
|
|
sysUserRoleMapper.delete(updateWrapper);
|
|
|
+ sysUserPlateInfoMapper.delete(new LambdaQueryWrapper<SysUserPlateInfo>().in(SysUserPlateInfo::getUserId, ids));
|
|
|
return baseMapper.deleteByIds(ids) > 0;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void unDeploy(String id) {
|
|
|
- SysUser user = new SysUser();
|
|
|
- user.setId(id);
|
|
|
- user.setAccountStatus(YesNoEnum.NO.getCode());
|
|
|
- baseMapper.updateById(user);
|
|
|
+ LambdaQueryWrapper<SysUserPlateInfo> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(SysUserPlateInfo::getUserId, id);
|
|
|
+ List<SysUserPlateInfo> infos = sysUserPlateInfoMapper.selectList(wrapper);
|
|
|
+ infos.forEach(info -> {
|
|
|
+ info.setIsEnable(0);
|
|
|
+ });
|
|
|
+ sysUserPlateInfoMapper.updateById(infos);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void reDeploy(String id) {
|
|
|
- SysUser user = new SysUser();
|
|
|
- user.setId(id);
|
|
|
- user.setAccountStatus(YesNoEnum.YES.getCode());
|
|
|
- baseMapper.updateById(user);
|
|
|
+ LambdaQueryWrapper<SysUserPlateInfo> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(SysUserPlateInfo::getUserId, id);
|
|
|
+ List<SysUserPlateInfo> infos = sysUserPlateInfoMapper.selectList(wrapper);
|
|
|
+ infos.forEach(info -> {
|
|
|
+ info.setIsEnable(1);
|
|
|
+ });
|
|
|
+ sysUserPlateInfoMapper.updateById(infos);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -185,7 +223,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
|
|
.in(SysUserRole::getUserId, ids));
|
|
|
if(CollUtil.isNotEmpty(userRoles)){
|
|
|
for (SysUserRole userRole : userRoles) {
|
|
|
- if ("".equals(userRole.getRoleId())){ // 平台管理员id
|
|
|
+ if ("1".equals(userRole.getRoleId())){ // 平台管理员id
|
|
|
return false;
|
|
|
}
|
|
|
}
|