diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisConstantUtil.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisConstantUtil.java index 59ae37998..cafac3462 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisConstantUtil.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisConstantUtil.java @@ -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 ; } } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/InitiatingRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/InitiatingRequest.java index 58ea9934d..6dd9e907d 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/InitiatingRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/InitiatingRequest.java @@ -101,6 +101,8 @@ public class InitiatingRequest { private String jm_csgs; + private String csfzName; + public InitiatingDO toInitiatingDO() { InitiatingDO initiatingDO = new InitiatingDO(); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java index 6e3d6c08b..f6f810002 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java @@ -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; }