feat: 剔除岗位

This commit is contained in:
2023-11-14 15:49:03 +08:00
parent 0ec7236ead
commit 9655f55303
22 changed files with 568 additions and 118 deletions
@@ -142,10 +142,10 @@ public class LoginRestController {
if(userEO.getDisableFlag()==1){
return Result.error("r0011", "帐号已禁用");
}
String position = userService.selectPositionByUserId(account);
if(StringUtils.isBlank(position)){
return Result.error("r0011", "无配置岗位");
}
// String position = userService.selectPositionByUserId(account);
// if(StringUtils.isBlank(position)){
// return Result.error("r0011", "无配置岗位");
// }
String token = jwtUtils.generateToken(userEO.getUsid());
userEO.setToken(token);
// 加密重要信息
@@ -212,10 +212,10 @@ public class LoginRestController {
if(userEO.getDisableFlag()==1){
return Result.error("r0011", "帐号已禁用");
}
String position = userService.selectPositionByUserId(account);
if(StringUtils.isBlank(position)){
return Result.error("r0011", "无配置岗位");
}
// String position = userService.selectPositionByUserId(account);
// if(StringUtils.isBlank(position)){
// return Result.error("r0011", "无配置岗位");
// }
String token = jwtUtils.generateToken(userEO.getUsid());
userEO.setToken(token);
// 加密重要信息
@@ -5,12 +5,12 @@ import com.adc.da.slrs.fileMaterialCenter.entity.FileMaterial;
import com.adc.da.slrs.fileMaterialCenter.dao.FileMaterialDao;
import com.adc.da.slrs.fileMaterialCenter.entity.FileMaterialPage;
import com.adc.da.slrs.fileMaterialCenter.service.IFileMaterialService;
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
import com.adc.da.slrs.sarUser.dao.TsUserDao;
import com.adc.da.slrs.sarUser.service.ITsUserService;
import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData;
import com.adc.da.slrs.tsRoleMeunData.service.ITsRoleMenuDataService;
import com.adc.da.slrs.zlTree.service.IZlTreeService;
import com.adc.da.sys.service.IUserRoleEOService;
import com.adc.da.util.LoginUserUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.management.Query;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -44,12 +45,11 @@ public class FileMaterialServiceImpl extends ServiceImpl<FileMaterialDao, FileMa
@Autowired
private TsUserDao tsUserDao;
@Autowired
private ITsPositionService tsPositionService;
@Autowired
private ITsRoleMenuDataService iTsRoleMenuDataService;
@Autowired
private IZlTreeService zlTreeService;
@Resource
private IUserRoleEOService userRoleEOService;
@Override
public IPage<FileMaterial> getFileMaterial(FileMaterialPage queryPage) {
@@ -63,8 +63,9 @@ public class FileMaterialServiceImpl extends ServiceImpl<FileMaterialDao, FileMa
// 获取当前登录人
String loginUserId = LoginUserUtil.getUserId();
List<String> positionIds = tsUserDao.selectPositionIds(loginUserId);
List<String> roleIds = tsPositionService.getRoleIdsByPositionIds(positionIds);
// List<String> positionIds = tsUserDao.selectPositionIds(loginUserId);
// List<String> roleIds = tsPositionService.getRoleIdsByPositionIds(positionIds);
List<String> roleIds = userRoleEOService.getRoleIdsByUserId(loginUserId);
QueryWrapper<TsRoleMenuData> wrapper = new QueryWrapper<>();
wrapper.in("ROLE_ID", roleIds);
List<TsRoleMenuData> tsRoleMenuData = iTsRoleMenuDataService.list(wrapper);
@@ -105,8 +106,9 @@ public class FileMaterialServiceImpl extends ServiceImpl<FileMaterialDao, FileMa
userId = LoginUserUtil.getUserId();
}
List<String> positionIds = tsUserDao.selectPositionIds(userId);
List<String> roleIds = tsPositionService.getRoleIdsByPositionIds(positionIds);
// List<String> positionIds = tsUserDao.selectPositionIds(userId);
// List<String> roleIds = tsPositionService.getRoleIdsByPositionIds(positionIds);
List<String> roleIds = userRoleEOService.getRoleIdsByUserId(userId);
QueryWrapper<TsRoleMenuData> wrapper = new QueryWrapper<>();
wrapper.in("ROLE_ID", roleIds);
List<TsRoleMenuData> tsRoleMenuData = iTsRoleMenuDataService.list(wrapper);
@@ -0,0 +1,34 @@
package com.adc.da.slrs.roleReplacePosition.controller;
import com.adc.da.slrs.roleReplacePosition.service.UserPositionService;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author: Mzaxd
* @Date: 2023/11/14 13:46
*/
@RestController
@Api(tags = "福田标准法规--角色替换岗位")
@RequestMapping("/api/roleReplacePosition")
public class RoleReplacePositionController {
@Resource
private UserPositionService userPositionService;
/**
* 角色替换岗位
*
* @return
*/
@GetMapping("/start")
public void roleReplacePosition() {
userPositionService.roleReplacePosition();
}
}
@@ -0,0 +1,20 @@
package com.adc.da.slrs.roleReplacePosition.dao;
import com.adc.da.slrs.roleReplacePosition.domain.PositionRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* @author ThinkBook
* @description 针对表【ts_position_role】的数据库操作Mapper
* @createDate 2023-11-14 13:53:47
* @Entity com.adc.da.slrs.roleReplacePosition.domain.PositionRole
*/
@Repository
public interface PositionRoleMapper extends BaseMapper<PositionRole> {
}
@@ -0,0 +1,20 @@
package com.adc.da.slrs.roleReplacePosition.dao;
import com.adc.da.slrs.roleReplacePosition.domain.UserPosition;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* @author ThinkBook
* @description 针对表【ts_user_position】的数据库操作Mapper
* @createDate 2023-11-14 13:49:37
* @Entity com.adc.da.slrs.roleReplacePosition.domain.UserPosition
*/
@Repository
public interface UserPositionMapper extends BaseMapper<UserPosition> {
}
@@ -0,0 +1,95 @@
package com.adc.da.slrs.roleReplacePosition.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
*
* @TableName ts_position_role
*/
@TableName(value ="ts_position_role")
public class PositionRole implements Serializable {
/**
* 角色ID
*/
@TableId
private String roleId;
/**
* 岗位ID
*/
@TableId
private String positionId;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/**
* 角色ID
*/
public String getRoleId() {
return roleId;
}
/**
* 角色ID
*/
public void setRoleId(String roleId) {
this.roleId = roleId;
}
/**
* 岗位ID
*/
public String getPositionId() {
return positionId;
}
/**
* 岗位ID
*/
public void setPositionId(String positionId) {
this.positionId = positionId;
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
PositionRole other = (PositionRole) that;
return (this.getRoleId() == null ? other.getRoleId() == null : this.getRoleId().equals(other.getRoleId()))
&& (this.getPositionId() == null ? other.getPositionId() == null : this.getPositionId().equals(other.getPositionId()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getRoleId() == null) ? 0 : getRoleId().hashCode());
result = prime * result + ((getPositionId() == null) ? 0 : getPositionId().hashCode());
return result;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", roleId=").append(roleId);
sb.append(", positionId=").append(positionId);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}
@@ -0,0 +1,93 @@
package com.adc.da.slrs.roleReplacePosition.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
/**
*
* @TableName ts_user_position
*/
@TableName(value ="ts_user_position")
public class UserPosition implements Serializable {
/**
* 用户ID
*/
private String userId;
/**
* 岗位ID
*/
private String positionId;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
/**
* 用户ID
*/
public String getUserId() {
return userId;
}
/**
* 用户ID
*/
public void setUserId(String userId) {
this.userId = userId;
}
/**
* 岗位ID
*/
public String getPositionId() {
return positionId;
}
/**
* 岗位ID
*/
public void setPositionId(String positionId) {
this.positionId = positionId;
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
UserPosition other = (UserPosition) that;
return (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
&& (this.getPositionId() == null ? other.getPositionId() == null : this.getPositionId().equals(other.getPositionId()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
result = prime * result + ((getPositionId() == null) ? 0 : getPositionId().hashCode());
return result;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", userId=").append(userId);
sb.append(", positionId=").append(positionId);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}
@@ -0,0 +1,13 @@
package com.adc.da.slrs.roleReplacePosition.service;
import com.adc.da.slrs.roleReplacePosition.domain.PositionRole;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author ThinkBook
* @description 针对表【ts_position_role】的数据库操作Service
* @createDate 2023-11-14 13:53:47
*/
public interface PositionRoleService extends IService<PositionRole> {
}
@@ -0,0 +1,14 @@
package com.adc.da.slrs.roleReplacePosition.service;
import com.adc.da.slrs.roleReplacePosition.domain.UserPosition;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author ThinkBook
* @description 针对表【ts_user_position】的数据库操作Service
* @createDate 2023-11-14 13:49:37
*/
public interface UserPositionService extends IService<UserPosition> {
void roleReplacePosition();
}
@@ -0,0 +1,22 @@
package com.adc.da.slrs.roleReplacePosition.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.adc.da.slrs.roleReplacePosition.domain.PositionRole;
import com.adc.da.slrs.roleReplacePosition.service.PositionRoleService;
import com.adc.da.slrs.roleReplacePosition.dao.PositionRoleMapper;
import org.springframework.stereotype.Service;
/**
* @author ThinkBook
* @description 针对表【ts_position_role】的数据库操作Service实现
* @createDate 2023-11-14 13:53:47
*/
@Service
public class PositionRoleServiceImpl extends ServiceImpl<PositionRoleMapper, PositionRole>
implements PositionRoleService{
}
@@ -0,0 +1,68 @@
package com.adc.da.slrs.roleReplacePosition.service.impl;
import com.adc.da.slrs.roleReplacePosition.domain.PositionRole;
import com.adc.da.slrs.roleReplacePosition.service.PositionRoleService;
import com.adc.da.sys.entity.UserRoleEO;
import com.adc.da.sys.service.IUserRoleEOService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.adc.da.slrs.roleReplacePosition.domain.UserPosition;
import com.adc.da.slrs.roleReplacePosition.service.UserPositionService;
import com.adc.da.slrs.roleReplacePosition.dao.UserPositionMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author ThinkBook
* @description 针对表【ts_user_position】的数据库操作Service实现
* @createDate 2023-11-14 13:49:37
*/
@Service
public class UserPositionServiceImpl extends ServiceImpl<UserPositionMapper, UserPosition>
implements UserPositionService{
@Resource
private PositionRoleService positionRoleService;
@Resource
private IUserRoleEOService userRoleEOService;
@Override
public void roleReplacePosition() {
// 找到所有对应关系
List<UserPosition> userPositions = this.list();
// 转换对应关系
Map<String, List<PositionRole>> positionRoleMap = positionRoleService.list().stream()
.collect(Collectors.groupingBy(PositionRole::getPositionId));
Set<UserRoleEO> userRoleEOSet = new HashSet<>();
for (UserPosition userPosition : userPositions) {
// 去除空指针异常
if (positionRoleMap.get(userPosition.getPositionId()) == null) {
continue;
}
List<String> roleIds = positionRoleMap.get(userPosition.getPositionId()).stream()
.map(PositionRole::getRoleId).collect(Collectors.toList());
for (String roleId : roleIds) {
UserRoleEO userRoleEO = new UserRoleEO();
userRoleEO.setUserId(userPosition.getUserId());
userRoleEO.setRoleId(roleId);
userRoleEOSet.add(userRoleEO);
}
}
// 保存对应关系
// 先找出所有用户角色,然后和构建好的用户角色去重后再进行添加,避免出现多条重复数据
List<UserRoleEO> userRoleEOList = userRoleEOService.list();
userRoleEOList.forEach(userRoleEOSet::remove);
userRoleEOService.saveBatch(userRoleEOSet, userRoleEOSet.size());
}
}
@@ -72,20 +72,20 @@ public interface TsPositionDao extends BaseMapper<TsPosition> {
Integer countPositionAndRole(TsPosition tsPosition);
/**
* 通过岗位列表查询绑定的角色列表
* @param positionIds:岗位列表
* @return List<String>
*/
List<String> getRoleIdsByPositionIds(List<String> positionIds);
// /**
// * 通过岗位列表查询绑定的角色列表
// * @param positionIds:岗位列表
// * @return List<String>
// */
// List<String> getRoleIdsByPositionIds(List<String> positionIds);
long pageTotal();
/**
* 通过roleId查询岗位ID列表
* @param roleId:角色ID
* @return List<String>
*/
@Select("select position_id from ts_position_role where role_id=#{roleId}")
List<String> getPositionIdsByRoleId(String roleId);
// /**
// * 通过roleId查询岗位ID列表
// * @param roleId:角色ID
// * @return List<String>
// */
// @Select("select position_id from ts_position_role where role_id=#{roleId}")
// List<String> getPositionIdsByRoleId(String roleId);
}
@@ -67,17 +67,17 @@ public interface ITsPositionService extends IService<TsPosition> {
*/
ResponseMessage<Object> deletePosition(String positionId);
/**
* 通过岗位列表查询绑定的角色列表
* @param positionIds:岗位列表
* @return List<String>
*/
List<String> getRoleIdsByPositionIds(List<String> positionIds);
/**
* 通过roleId查询岗位ID列表
* @param roleId:角色ID
* @return List<String>
*/
List<String> getPositionIdsByRoleId(String roleId);
// /**
// * 通过岗位列表查询绑定的角色列表
// * @param positionIds:岗位列表
// * @return List<String>
// */
// List<String> getRoleIdsByPositionIds(List<String> positionIds);
//
// /**
// * 通过roleId查询岗位ID列表
// * @param roleId:角色ID
// * @return List<String>
// */
// List<String> getPositionIdsByRoleId(String roleId);
}
@@ -195,26 +195,26 @@ public class TsPositionServiceImpl extends ServiceImpl<TsPositionDao, TsPosition
return Result.success();
}
/**
* 通过岗位列表查询绑定的角色列表
* @param positionIds:岗位列表
* @return List<String>
*/
@Override
public List<String> getRoleIdsByPositionIds(List<String> positionIds) {
if(positionIds!=null&&positionIds.size()>0){
return tsPositionDao.getRoleIdsByPositionIds(positionIds);
}
return null;
}
// /**
// * 通过岗位列表查询绑定的角色列表
// * @param positionIds:岗位列表
// * @return List<String>
// */
// @Override
// public List<String> getRoleIdsByPositionIds(List<String> positionIds) {
// if(positionIds!=null&&positionIds.size()>0){
// return tsPositionDao.getRoleIdsByPositionIds(positionIds);
// }
// return null;
// }
/**
* 通过roleId查询岗位ID列表
* @param roleId:角色ID
* @return List<String>
*/
@Override
public List<String> getPositionIdsByRoleId(String roleId) {
return tsPositionDao.getPositionIdsByRoleId(roleId);
}
// /**
// * 通过roleId查询岗位ID列表
// * @param roleId:角色ID
// * @return List<String>
// */
// @Override
// public List<String> getPositionIdsByRoleId(String roleId) {
// return tsPositionDao.getPositionIdsByRoleId(roleId);
// }
}
@@ -163,10 +163,10 @@ public class TsRoleServiceImpl extends ServiceImpl<TsRoleDao, TsRole> implements
if(childrenRole!=null&&childrenRole.size()>0){
return Result.error("该角色有下属角色,无法删除");
}
List<String> positionIds=tsRoleDao.getPositionIds(roleId);
if(positionIds!=null&&positionIds.size()>0){
return Result.error("该角色已绑定岗位,无法删除");
}
// List<String> positionIds=tsRoleDao.getPositionIds(roleId);
// if(positionIds!=null&&positionIds.size()>0){
// return Result.error("该角色已绑定岗位,无法删除");
// }
tsRoleDao.deleteById(roleId);
return Result.success();
}
@@ -17,7 +17,7 @@ import com.adc.da.slrs.sarBussionessStand.entity.OldSystem;
import com.adc.da.slrs.sarLawsAttrDetailedList.dao.SarLawsAttrDetailedListDao;
import com.adc.da.slrs.sarLawsAttrDetailedList.entity.SarFindDto;
import com.adc.da.slrs.sarPosition.entity.TsPosition;
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
//import com.adc.da.slrs.sarPosition.service.ITsPositionService;
import com.adc.da.slrs.sarStandFile.service.ISarStandFileService;
import com.adc.da.slrs.sarStandWarning.entity.WarningDate;
import com.adc.da.slrs.sarStandWarning.service.Impl.WarningDateServiceImpl;
@@ -150,8 +150,8 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
@Autowired
WarningDateServiceImpl warningDateService;
@Autowired
private ITsPositionService iTsPositionService;
// @Autowired
// private ITsPositionService iTsPositionService;
@Autowired
private SarStandardsInfoDao dao;
@@ -1027,15 +1027,15 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl<SarStandardsInfoDao
value = String.join(",", stringList.isEmpty() ? valArr : stringList);
break;
}
//通过id绑定责任部门师名称
case "ZRBM": {
QueryWrapper<TsPosition> tsPositionQW = new QueryWrapper<>();
tsPositionQW.select("name")
.in("id", valArr);
List<String> stringList = iTsPositionService.listObjs(tsPositionQW, o -> o.toString());
value = String.join(",", stringList.isEmpty() ? valArr : stringList);
break;
}
// //通过id绑定责任部门师名称
// case "ZRBM": {
// QueryWrapper<TsPosition> tsPositionQW = new QueryWrapper<>();
// tsPositionQW.select("name")
// .in("id", valArr);
// List<String> stringList = iTsPositionService.listObjs(tsPositionQW, o -> o.toString());
// value = String.join(",", stringList.isEmpty() ? valArr : stringList);
// break;
// }
default:
value = dicTypeEODao.getDicNamesByCodes(valArr, "");
}
@@ -7,9 +7,9 @@ import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
import com.adc.da.slrs.sarPosition.dao.TsPositionDao;
//import com.adc.da.slrs.sarPosition.dao.TsPositionDao;
import com.adc.da.slrs.sarPosition.entity.TsPosition;
import com.adc.da.slrs.sarPosition.service.ITsPositionService;
//import com.adc.da.slrs.sarPosition.service.ITsPositionService;
import com.adc.da.slrs.sarResource.entity.TsResource;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
import com.adc.da.slrs.sarRole.service.ITsRoleService;
@@ -20,10 +20,13 @@ import com.adc.da.slrs.tsRoleMeunData.entity.TsRoleMenuData;
import com.adc.da.slrs.tsRoleMeunData.service.ITsRoleMenuDataService;
import com.adc.da.sync.service.SyncUserService;
import com.adc.da.sys.entity.UserEO;
import com.adc.da.sys.entity.UserRoleEO;
import com.adc.da.sys.service.IUserRoleEOService;
import com.adc.da.utils.util.ListUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -34,6 +37,7 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -54,8 +58,8 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
private TsUserDao tsUserDao;
@Autowired
private ITsUserService tsUserService;
@Autowired
private ITsPositionService tsPositionService;
// @Autowired
// private ITsPositionService tsPositionService;
@Autowired
@Lazy
private ITsRoleService tsRoleService;
@@ -65,12 +69,15 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
private ITsResourceService tsResourceService;
@Autowired
private SyncUserService syncUserService;
@Autowired
private TsPositionDao tsPositionDao;
// @Autowired
// private TsPositionDao tsPositionDao;
@Autowired
private ITsInstitutionService tsInstitutionService;
@Autowired
ITsRoleMenuDataService iTsRoleMenuDataService;
@Resource
private IUserRoleEOService userRoleEOService;
public void deleteUser(){
@@ -289,16 +296,17 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
public List<SarMenu> getMenu() {
UserEO userEO=UserUtils.getUser();
String userId= userEO.getUsid();
List<String> positionIds=tsUserDao.selectPositionIds(userId);
// List<String> positionIds=tsUserDao.selectPositionIds(userId);
/**
* 当用户没有所属岗位,默认给一个other岗位,适用于特定权限外的其他用户
* 用户同步时需要将用户配置的系统内的岗位保留
*/
if(positionIds == null || positionIds.isEmpty()){
positionIds = Arrays.asList(new String[]{"other"});
}
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
// if(positionIds == null || positionIds.isEmpty()){
// positionIds = Arrays.asList(new String[]{"other"});
// }
// List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
List<String> roleIds = userRoleEOService.getRoleIdsByUserId(userId);
List<String> menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds);
return sarMenuService.getMenuByIds(menuIds);
}
@@ -313,8 +321,9 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
UserEO userEO=UserUtils.getUser();
String userId= userEO.getUsid();
System.out.println(userId);
List<String> positionIds=tsUserDao.selectPositionIds(userId);
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
// List<String> positionIds=tsUserDao.selectPositionIds(userId);
// List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
List<String> roleIds = userRoleEOService.getRoleIdsByUserId(userId);
List<String> resourceIds=tsRoleService.getResourceIdsByRoleIds(roleIds);
return tsResourceService.getResourceByIds(resourceIds,tsResource.getSorDivide());
}
@@ -326,8 +335,16 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
*/
@Override
public List<String> getUserIdsByRoleId(String roleId) {
List<String> positionIds=tsPositionService.getPositionIdsByRoleId(roleId);
return tsUserDao.getUserIdsByPositionIds(positionIds);
LambdaQueryWrapper<UserRoleEO> userRoleEOLambdaQueryWrapper = new LambdaQueryWrapper<>();
userRoleEOLambdaQueryWrapper.eq(UserRoleEO::getRoleId,roleId);
// 根据角色ID查询用户ID
List<UserRoleEO> list = userRoleEOService.list(userRoleEOLambdaQueryWrapper);
// 判空
if (list == null || list.isEmpty()) {
return null;
}
// 获取用户ID
return list.stream().map(UserRoleEO::getUserId).collect(Collectors.toList());
}
/**
@@ -337,8 +354,9 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
*/
@Override
public List<SarMenu> getMenusByUserId(String userId){
List<String> positionIds=tsUserDao.selectPositionIds(userId);
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
// List<String> positionIds=tsUserDao.selectPositionIds(userId);
// List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
List<String> roleIds = userRoleEOService.getRoleIdsByUserId(userId);
List<String> menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds);
return sarMenuService.getMenuByIds(menuIds);
}
@@ -353,8 +371,9 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
UserEO userEO=UserUtils.getUser();
String userId= userEO.getUsid();
System.out.println(userId);
List<String> positionIds=tsUserDao.selectPositionIds(userId);
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
// List<String> positionIds=tsUserDao.selectPositionIds(userId);
// List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
List<String> roleIds = userRoleEOService.getRoleIdsByUserId(userId);
return tsRoleService.getResourceIdsByRoleIds(roleIds);
}
@@ -365,8 +384,9 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
*/
@Override
public List<String> getResourceUserId(String userId) {
List<String> positionIds=tsUserDao.selectPositionIds(userId);
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
// List<String> positionIds=tsUserDao.selectPositionIds(userId);
// List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
List<String> roleIds = userRoleEOService.getRoleIdsByUserId(userId);
return tsRoleService.getResourceIdsByRoleIds(roleIds);
}
@@ -376,8 +396,9 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
*/
@Override
public List<String> getResourceDataUserId(String userId) {
List<String> positionIds=tsUserDao.selectPositionIds(userId);
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
// List<String> positionIds=tsUserDao.selectPositionIds(userId);
// List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
List<String> roleIds = userRoleEOService.getRoleIdsByUserId(userId);
QueryWrapper<TsRoleMenuData> wrapper=new QueryWrapper<>();
wrapper.select("MENU_ID");
wrapper.in("ROLE_ID",roleIds);
@@ -420,15 +441,15 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
for(SyncUser syncUser:syncUsers){
QueryWrapper<TsPosition> positionQueryWrapper=new QueryWrapper<>();
positionQueryWrapper.eq("name",syncUser.getTitle());
TsPosition tsPosition=tsPositionDao.selectOne(positionQueryWrapper);
if(tsPosition==null){
tsPosition=new TsPosition();
tsPosition.setName(syncUser.getTitle());
tsPosition.setType("1");
tsPositionDao.insert(tsPosition);
}
// TsPosition tsPosition=tsPositionDao.selectOne(positionQueryWrapper);
// if(tsPosition==null){
// tsPosition=new TsPosition();
// tsPosition.setName(syncUser.getTitle());
// tsPosition.setType("1");
// tsPositionDao.insert(tsPosition);
// }
TsUser tsUser=SyncUser.toUser(syncUser);
tsUser.setPositionId(tsPosition.getId());
// tsUser.setPositionId(tsPosition.getId());
tsUserDao.insert(tsUser);
}
@@ -436,8 +457,9 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
@Override
public List<SarMenu> getSecondMenusByUserId(String userId) {
List<String> positionIds=tsUserDao.selectPositionIds(userId);
List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
// List<String> positionIds=tsUserDao.selectPositionIds(userId);
// List<String> roleIds=tsPositionService.getRoleIdsByPositionIds(positionIds);
List<String> roleIds = userRoleEOService.getRoleIdsByUserId(userId);
List<String> menuIds=tsRoleService.getMenuIdsByRoleIds(roleIds);
return sarMenuService.getSecondMenuByIds(menuIds);
}
@@ -506,12 +528,12 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
}
ids.removeIf(s -> null==s);
List<TsUser> tsUsers = tsUserDao.userUnderInstitution((tsUser.getCurrent() - 1) * tsUser.getSize(), tsUser.getSize(), tsUser, ids);
if(tsUsers!=null && !tsUsers.isEmpty()){
for (TsUser user:tsUsers) {
List<TsPosition> positionList = tsPositionService.getPositionDataByUserId(user.getUserId());
user.setPositions(positionList);
}
}
// if(tsUsers!=null && !tsUsers.isEmpty()){
// for (TsUser user:tsUsers) {
// List<TsPosition> positionList = tsPositionService.getPositionDataByUserId(user.getUserId());
// user.setPositions(positionList);
// }
// }
Page<TsUser> tsUserPage = new Page<>();
tsUserPage.setCurrent(tsUser.getCurrent());
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.roleReplacePosition.mapper.PositionRoleMapper">
<resultMap id="BaseResultMap" type="com.adc.da.slrs.roleReplacePosition.domain.PositionRole">
<id property="roleId" column="role_id" jdbcType="VARCHAR"/>
<id property="positionId" column="position_id" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
role_id,position_id
</sql>
</mapper>
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.roleReplacePosition.mapper.UserPositionMapper">
<resultMap id="BaseResultMap" type="com.adc.da.slrs.roleReplacePosition.domain.UserPosition">
<result property="userId" column="user_id" jdbcType="VARCHAR"/>
<result property="positionId" column="position_id" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
user_id,position_id
</sql>
</mapper>
@@ -1,6 +1,7 @@
package com.adc.da.sys.entity;
import com.adc.da.base.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
/**
@@ -9,6 +10,7 @@ import com.adc.da.base.entity.BaseEntity;
* <b>日期:</b> 2018-09-03 <br>
* <b>版权所有:<b>版权归北京卡达克数据技术中心所有。<br>
*/
@TableName("TS_USER_ROLE")
public class UserRoleEO extends BaseEntity {
private String roleId;
@@ -3,5 +3,9 @@ package com.adc.da.sys.service;
import com.adc.da.sys.entity.UserRoleEO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
public interface IUserRoleEOService extends IService<UserRoleEO> {
List<String> getRoleIdsByUserId(String userId);
}
@@ -3,11 +3,16 @@ package com.adc.da.sys.service.impl;
import com.adc.da.sys.dao.UserRoleEODao;
import com.adc.da.sys.entity.UserRoleEO;
import com.adc.da.sys.service.IUserRoleEOService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
*
@@ -21,4 +26,10 @@ import org.springframework.transaction.annotation.Transactional;
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class UserRoleEOServiceImpl extends ServiceImpl<UserRoleEODao, UserRoleEO> implements IUserRoleEOService {
@Override
public List<String> getRoleIdsByUserId(String userId) {
return this.list(new LambdaQueryWrapper<UserRoleEO>()
.eq(UserRoleEO::getUserId, userId))
.stream().map(UserRoleEO::getRoleId).distinct().collect(Collectors.toList());
}
}