diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java index 2f3a34b6e..317fbcef1 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/UserAuthMappingService.java @@ -35,7 +35,16 @@ public interface UserAuthMappingService { * @param wantShopAreaId * @return */ - EnterpriseUserDO getUserByRoleEnumAndAreaId(UserRoleEnum userRoleEnum, Long wantShopAreaId); + EnterpriseUserDO getUserByRoleEnumAndWantShopAreaId(UserRoleEnum userRoleEnum, Long wantShopAreaId); + + /** + * 获取有区域权限和职位 的人 + * @param userRoleEnum + * @param regionId + * @return + */ + EnterpriseUserDO getUserByRoleEnumAndRegionId(UserRoleEnum userRoleEnum, Long regionId); + /** * 跟进角色和战区获取用户id diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java index 8b703bf84..b20d2e0df 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/JoinIntentionServiceImpl.java @@ -75,7 +75,7 @@ public class JoinIntentionServiceImpl extends LineFlowService implements JoinInt } LineInfoDO lineInfoDO = lineInfoMapper.getByLineId(request.getLineId()); if ((Objects.nonNull(request.getAreaCode()) && Objects.nonNull(lineInfoDO) && StringUtils.isBlank(lineInfoDO.getInvestmentManager())) || (Objects.isNull(lineInfoDO))){ - EnterpriseUserDO userByRoleNameAndAreaId = userAuthMappingService.getUserByRoleEnumAndAreaId(UserRoleEnum.INVESTMENT_COMMISSIONER, Long.valueOf(request.getAreaCode())); + EnterpriseUserDO userByRoleNameAndAreaId = userAuthMappingService.getUserByRoleEnumAndWantShopAreaId(UserRoleEnum.INVESTMENT_COMMISSIONER, Long.valueOf(request.getAreaCode())); lineInfoParam.setInvestmentManager(userByRoleNameAndAreaId.getUserId()); } //todo 目前写死为进入私海 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java index ac0d1a50d..b7181808e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineInterviewServiceImpl.java @@ -129,7 +129,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt InterviewTypeEnum interviewType = WorkflowSubStageEnum.getInterviewType(lineInfo.getWorkflowSubStage()); String interviewerUserId = lineInfo.getInvestmentManager(), firstInterviewer = null, secondInterviewer = null; if(!InterviewTypeEnum.MEET.equals(interviewType)){ - EnterpriseUserDO enterpriseUser = userAuthMappingService.getUserByRoleEnumAndAreaId(UserRoleEnum.REGION_MANAGER, lineInfo.getWantShopAreaId()); + EnterpriseUserDO enterpriseUser = userAuthMappingService.getUserByRoleEnumAndWantShopAreaId(UserRoleEnum.REGION_MANAGER, lineInfo.getWantShopAreaId()); interviewerUserId = Optional.ofNullable(enterpriseUser).map(EnterpriseUserDO::getUserId).orElse(null); } firstInterviewer = InterviewTypeEnum.INTERVIEW.equals(interviewType) ? interviewerUserId : null; @@ -419,7 +419,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt updateLine.setId(lineInfo.getId()); updateLine.setWorkflowStage(WorkflowStageEnum.STORE.getCode()); updateLine.setWorkflowSubStageStatus(WorkflowSubStageStatusEnum.SECOND_INTERVIEWS_125.getCode()); - EnterpriseUserDO enterpriseUser = userAuthMappingService.getUserByRoleEnumAndAreaId(UserRoleEnum.SELECT_SITE_MANAGER, lineInfo.getWantShopAreaId()); + EnterpriseUserDO enterpriseUser = userAuthMappingService.getUserByRoleEnumAndWantShopAreaId(UserRoleEnum.SELECT_SITE_MANAGER, lineInfo.getWantShopAreaId()); String developmentManager = Optional.ofNullable(enterpriseUser).map(EnterpriseUserDO::getUserId).orElse(null); updateLine.setDevelopmentManager(developmentManager); updateLine.setUpdateUserId(userId); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java index d4b93e15c..398fd4f93 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineServiceImpl.java @@ -405,7 +405,7 @@ public class LineServiceImpl implements LineService { if (StringUtils.isNotBlank(addLineRequest.getInvestmentManagerUserId())){ userId = addLineRequest.getInvestmentManagerUserId(); }else { - EnterpriseUserDO user = userAuthMappingService.getUserByRoleEnumAndAreaId(UserRoleEnum.INVESTMENT_COMMISSIONER, addLineRequest.getWantShopAreaId()); + EnterpriseUserDO user = userAuthMappingService.getUserByRoleEnumAndWantShopAreaId(UserRoleEnum.INVESTMENT_COMMISSIONER, addLineRequest.getWantShopAreaId()); userId = user.getUserId(); } Long regionId = regionAreaConfigDao.getByWantShopAreaId(addLineRequest.getWantShopAreaId()); 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 0d90a21e0..c4b692997 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 @@ -86,7 +86,7 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService { * @return */ @Override - public EnterpriseUserDO getUserByRoleEnumAndAreaId(UserRoleEnum userRoleEnum, Long wantShopAreaId) { + public EnterpriseUserDO getUserByRoleEnumAndWantShopAreaId(UserRoleEnum userRoleEnum, Long wantShopAreaId) { log.info("getUserByRoleEnumAndAreaId:{},wantShopAreaId:{}", userRoleEnum, wantShopAreaId); if(Objects.isNull(userRoleEnum) || Objects.isNull(wantShopAreaId)){ return null; @@ -124,6 +124,35 @@ public class UserAuthMappingServiceImpl implements UserAuthMappingService { return userDO; } + /** + * 获取有区域权限和职位 的人 + * @param userRoleEnum + * @param regionId + * @return + */ + @Override + public EnterpriseUserDO getUserByRoleEnumAndRegionId(UserRoleEnum userRoleEnum, Long regionId) { + // 查找有区域权限的人 + List authRegionUserIdList = authWarRegionUser(regionId); + if(CollectionUtils.isEmpty(authRegionUserIdList)){ + return null; + } + Long roleId = userRoleEnum.getCode(); + List hasRoleUserIdList = sysRoleMapper.getPositionUserIds(Collections.singletonList(String.valueOf(roleId))); + if(CollectionUtils.isEmpty(hasRoleUserIdList)){ + return null; + } + authRegionUserIdList.retainAll(hasRoleUserIdList); + if(CollectionUtils.isEmpty(authRegionUserIdList)){ + return null; + } + if(CollectionUtils.isNotEmpty(authRegionUserIdList)){ + EnterpriseUserDO userDO = enterpriseUserDAO.getUserInfoById(authRegionUserIdList.get(0)); + return userDO; + } + return null; + } + private EnterpriseUserDO fillDefaultUser(UserRoleEnum userRoleEnum) { // 如果找不到招商专员,则分配给默认的招商经理 if(UserRoleEnum.INVESTMENT_COMMISSIONER.equals(userRoleEnum)){ diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/UserAuthMappingController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/UserAuthMappingController.java index 29914cf09..bba41df56 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/UserAuthMappingController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/UserAuthMappingController.java @@ -35,7 +35,7 @@ public class UserAuthMappingController { public ResponseResult getUserByRoleNameAndAreaId(@RequestParam(value = "roleName", required = true) String roleName, @RequestParam(value = "wantShopAreaId", required = true) Long wantShopAreaId) { UserRoleEnum roleEnum = UserRoleEnum.getByDesc(roleName); - return ResponseResult.success(userAuthMappingService.getUserByRoleEnumAndAreaId(roleEnum, wantShopAreaId)); + return ResponseResult.success(userAuthMappingService.getUserByRoleEnumAndWantShopAreaId(roleEnum, wantShopAreaId)); } @ApiOperation("找意向区域")