This commit is contained in:
wangxiaopeng
2024-04-09 15:19:04 +08:00
parent 9d424f2d62
commit bbc1b10011
2 changed files with 13 additions and 16 deletions

View File

@@ -13,24 +13,24 @@ import java.util.stream.Collectors;
*/ */
public enum UserRoleEnum { public enum UserRoleEnum {
INVESTMENT_MANAGER(100000000, "招商经理"), INVESTMENT_MANAGER(100000000L, "招商经理"),
SELECT_SITE_MANAGER(110000000, "选址人员"), SELECT_SITE_MANAGER(110000000L, "选址人员"),
REGION_MANAGER(120000000, "大区经理"), REGION_MANAGER(120000000L, "大区经理"),
THEATER_MANAGER(130000000, "战区经理"), THEATER_MANAGER(130000000L, "战区经理"),
; ;
private Integer code; private Long code;
private String desc; private String desc;
protected static final Map<String, UserRoleEnum> map = Arrays.stream(values()).collect( protected static final Map<String, UserRoleEnum> map = Arrays.stream(values()).collect(
Collectors.toMap(UserRoleEnum::getDesc, Function.identity())); Collectors.toMap(UserRoleEnum::getDesc, Function.identity()));
UserRoleEnum(Integer code, String desc) { UserRoleEnum(Long code, String desc) {
this.code = code; this.code = code;
this.desc = desc; this.desc = desc;
} }
public Integer getCode() { public Long getCode() {
return code; return code;
} }

View File

@@ -72,13 +72,12 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService {
*/ */
@Override @Override
public EnterpriseUserDO getUserByRoleEnumAndAreaId(UserRoleEnum userRoleEnum, Long wantShopAreaId) { public EnterpriseUserDO getUserByRoleEnumAndAreaId(UserRoleEnum userRoleEnum, Long wantShopAreaId) {
String roleName = userRoleEnum.getDesc(); if(Objects.isNull(userRoleEnum) || Objects.isNull(wantShopAreaId)){
if(StringUtils.isBlank(roleName) || Objects.isNull(wantShopAreaId)){
return null; return null;
} }
String suitableUserId = null; String suitableUserId = null;
String investmentManagerKey = redisConstantUtil.getInvestmentManagerKey(wantShopAreaId); String investmentManagerKey = redisConstantUtil.getInvestmentManagerKey(wantShopAreaId);
if(UserRoleEnum.INVESTMENT_MANAGER.getDesc().equals(roleName)){ if(UserRoleEnum.INVESTMENT_MANAGER.equals(userRoleEnum)){
suitableUserId = redisUtilPool.rpopStr(investmentManagerKey); suitableUserId = redisUtilPool.rpopStr(investmentManagerKey);
if(StringUtils.isNotBlank(suitableUserId)){ if(StringUtils.isNotBlank(suitableUserId)){
EnterpriseUserDO userDO = enterpriseUserDAO.getUserInfoById(suitableUserId); EnterpriseUserDO userDO = enterpriseUserDAO.getUserInfoById(suitableUserId);
@@ -91,17 +90,15 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService {
if(CollectionUtils.isEmpty(authWarRegionUserIdList)){ if(CollectionUtils.isEmpty(authWarRegionUserIdList)){
return null; return null;
} }
SysRoleDO sysRoleDO = sysRoleMapper.getRolesByNameAndSource(roleName, RoleSourceEnum.CREATE.getCode()); Long roleId = userRoleEnum.getCode();
Long roleId = sysRoleDO.getId();
List<String> hasRoleUserIdList = sysRoleMapper.getPositionUserIds(Collections.singletonList(String.valueOf(roleId))); List<String> hasRoleUserIdList = sysRoleMapper.getPositionUserIds(Collections.singletonList(String.valueOf(roleId)));
if(UserRoleEnum.INVESTMENT_MANAGER.getDesc().equals(roleName) && CollectionUtils.isEmpty(hasRoleUserIdList)){ if(UserRoleEnum.INVESTMENT_MANAGER.equals(userRoleEnum) && CollectionUtils.isEmpty(hasRoleUserIdList)){
// 找大区经理 找不到找战区经理,再找不到找大区经理? // 找大区经理 找不到找战区经理,再找不到找大区经理?
sysRoleDO = sysRoleMapper.getRolesByNameAndSource(UserRoleEnum.REGION_MANAGER.getDesc(), RoleSourceEnum.CREATE.getCode()); roleId = UserRoleEnum.REGION_MANAGER.getCode();
roleId = sysRoleDO.getId();
hasRoleUserIdList = sysRoleMapper.getPositionUserIds(Collections.singletonList(String.valueOf(roleId))); hasRoleUserIdList = sysRoleMapper.getPositionUserIds(Collections.singletonList(String.valueOf(roleId)));
} }
authWarRegionUserIdList.retainAll(hasRoleUserIdList); authWarRegionUserIdList.retainAll(hasRoleUserIdList);
if(UserRoleEnum.INVESTMENT_MANAGER.getDesc().equals(roleName)){ if(UserRoleEnum.INVESTMENT_MANAGER.equals(userRoleEnum)){
// 按工号排序后放入redis // 按工号排序后放入redis
redisUtilPool.listPushTail(investmentManagerKey, authWarRegionUserIdList.toArray(new String[authWarRegionUserIdList.size()])); redisUtilPool.listPushTail(investmentManagerKey, authWarRegionUserIdList.toArray(new String[authWarRegionUserIdList.size()]));
suitableUserId = redisUtilPool.rpopStr(investmentManagerKey); suitableUserId = redisUtilPool.rpopStr(investmentManagerKey);