Merge remote-tracking branch 'origin/cc_partner_init' into cc_partner_init

This commit is contained in:
zhangchenbiao
2024-04-16 17:09:03 +08:00
3 changed files with 14 additions and 20 deletions

View File

@@ -103,8 +103,8 @@ public class RedisConstantUtil {
return active + "_" + RedisConstant.USER_WANT_AREA_CACHE + eid + ":" + userId;
}
public String getInvestmentManagerKey(Long wantShopAreaId) {
return active + "_" + RedisConstant.INVESTMENT_MANAGER_CACHE + eid + ":" + wantShopAreaId;
public String getInvestmentManagerKey(Long wantShopAreaId, Long roleId) {
return active + "_" + RedisConstant.INVESTMENT_MANAGER_CACHE + eid + ":" + wantShopAreaId + ":" + roleId ;
}
}

View File

@@ -101,6 +101,8 @@ public class InitiatingRequest {
private String jm_csgs;
private String csfzName;
public InitiatingDO toInitiatingDO() {
InitiatingDO initiatingDO = new InitiatingDO();

View File

@@ -77,14 +77,11 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService {
if(Objects.isNull(userRoleEnum) || Objects.isNull(wantShopAreaId)){
return null;
}
String suitableUserId = null;
String investmentManagerKey = redisConstantUtil.getInvestmentManagerKey(wantShopAreaId);
if(UserRoleEnum.INVESTMENT_MANAGER.equals(userRoleEnum)){
suitableUserId = redisUtilPool.rpopStr(investmentManagerKey);
if(StringUtils.isNotBlank(suitableUserId)){
EnterpriseUserDO userDO = enterpriseUserDAO.getUserInfoById(suitableUserId);
return userDO;
}
String investmentManagerKey = redisConstantUtil.getInvestmentManagerKey(wantShopAreaId, userRoleEnum.getCode());
String suitableUserId = redisUtilPool.rpopStr(investmentManagerKey);
if(StringUtils.isNotBlank(suitableUserId)){
EnterpriseUserDO userDO = enterpriseUserDAO.getUserInfoById(suitableUserId);
return userDO;
}
Long warRegionId = regionAreaConfigDao.getByWantShopAreaId(wantShopAreaId);
if(warRegionId == null){
@@ -104,16 +101,11 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService {
if(CollectionUtils.isEmpty(authWarRegionUserIdList)){
return fillDefaultUser(userRoleEnum);
}
if(UserRoleEnum.INVESTMENT_MANAGER.equals(userRoleEnum)){
// 按工号排序后放入redis
authWarRegionUserIdList = authWarRegionUserIdList.stream()
.sorted((a, b) -> b.compareTo(a))
.collect(Collectors.toList());
redisUtilPool.listPushTail(investmentManagerKey, authWarRegionUserIdList.toArray(new String[authWarRegionUserIdList.size()]));
suitableUserId = redisUtilPool.rpopStr(investmentManagerKey);
}else {
suitableUserId = authWarRegionUserIdList.get(0);
}
authWarRegionUserIdList = authWarRegionUserIdList.stream()
.sorted((a, b) -> b.compareTo(a))
.collect(Collectors.toList());
redisUtilPool.listPushTail(investmentManagerKey, authWarRegionUserIdList.toArray(new String[authWarRegionUserIdList.size()]));
suitableUserId = redisUtilPool.rpopStr(investmentManagerKey);
EnterpriseUserDO userDO = enterpriseUserDAO.getUserInfoById(suitableUserId);
return userDO;
}