From f749f97911e7b15a48d2aafd96596e5ac53a85b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A3=E6=96=B0?= Date: Fri, 29 May 2026 01:38:05 +0000 Subject: [PATCH] Merge #152 into master from cc_20260528_fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat:开业 * cc_20260528_fix: (1 commits squashed) - feat:开业 Signed-off-by: 正新 Merged-by: 正新 CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/152 --- .../resources/mapper/ShopStageInfoMapper.xml | 16 +++++++- .../com/cool/store/request/DeskRequest.java | 3 ++ .../store/service/impl/DeskServiceImpl.java | 41 ++++++++++++------- 3 files changed, 45 insertions(+), 15 deletions(-) diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml index 23b2e6daa..3e2073c8b 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopStageInfoMapper.xml @@ -451,7 +451,21 @@ - and si.operations_consultant = #{operationsConsultant} + and ( + si.operations_consultant = #{operationsConsultant} + + or ( + si.region_id in + + #{regionId} + + or si.invest_region_id in + + #{regionId} + + ) + + ) and (si.shop_name like concat('%',#{request.shopKeyword},'%') or si.shop_code like concat('%',#{request.shopKeyword},'%')) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/DeskRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/DeskRequest.java index ee4618735..48016760b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/DeskRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/DeskRequest.java @@ -32,6 +32,9 @@ public class DeskRequest { @ApiModelProperty(value = "签约类型") private List signTypes; + @ApiModelProperty(value = "管辖区域IDs") + private List authRegionIds; + @ApiModelProperty(value = "阶段状态") private List stageStatus; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java index bfc884da7..ce3d9af89 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DeskServiceImpl.java @@ -608,26 +608,35 @@ public class DeskServiceImpl implements DeskService { @Override public PageInfo openingAcceptance(DeskRequest deskRequest, LoginUserInfo user) { List userRoleIds = enterpriseUserRoleMapper.getUserRoleIds(user.getUserId()); - //如果运营顾问 查询直接返回 - List stageList = new ArrayList<>(); - Boolean flag = Boolean.FALSE; - if (userRoleIds.contains(UserRoleEnum.QW_SUPERVISION.getCode()) || userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode())) { - stageList.addAll(Arrays.asList(SHOP_SUB_STAGE_STATUS_270.getShopSubStageStatus(),SHOP_SUB_STAGE_STATUS_274.getShopSubStageStatus())); - return operationCustomQueryList(deskRequest, user, ShopSubStageEnum.SHOP_STAGE_27, stageList); + + boolean isSupervision = userRoleIds.contains(UserRoleEnum.QW_SUPERVISION.getCode()) || userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode()); + boolean isOperationGeneralConsultant = userRoleIds.contains(UserRoleEnum.OPERATION_GENERAL_CONSULTANT.getCode()); + + // 两个角色同时存在:使用OR条件一次查询 + if (isSupervision && isOperationGeneralConsultant) { + List stageList = Arrays.asList(SHOP_SUB_STAGE_STATUS_270.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_274.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_272.getShopSubStageStatus()); + List authRegionIds = userAuthMappingService.getAuthRegionIdByUserId(user.getUserId(), null); + return operationCustomQueryList(deskRequest, user, ShopSubStageEnum.SHOP_STAGE_27, stageList, authRegionIds); } - if (userRoleIds.contains(UserRoleEnum.OPERATION_GENERAL_CONSULTANT.getCode()) ) { - stageList.add(SHOP_SUB_STAGE_STATUS_272.getShopSubStageStatus()); - flag = Boolean.TRUE; + + // 仅运营顾问:按运营顾问ID精确查询 + if (isSupervision) { + List stageList = Arrays.asList(SHOP_SUB_STAGE_STATUS_270.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_274.getShopSubStageStatus()); + return operationCustomQueryList(deskRequest, user, ShopSubStageEnum.SHOP_STAGE_27, stageList, null); } - if (CollectionUtils.isEmpty(stageList)){ - return new PageInfo<>(); + + // 仅运营总顾问:按管辖范围过滤查询 + if (isOperationGeneralConsultant) { + List stageList = Collections.singletonList(SHOP_SUB_STAGE_STATUS_272.getShopSubStageStatus()); + return commonPendingVOPageInfo(deskRequest, user, ShopSubStageEnum.SHOP_STAGE_27, stageList, Boolean.TRUE); } - return commonPendingVOPageInfo(deskRequest, user, ShopSubStageEnum.SHOP_STAGE_27, stageList, flag); + + return new PageInfo<>(); } @Override public PageInfo openingConfirmPendingList(DeskRequest deskRequest, LoginUserInfo user) { - return operationCustomQueryList(deskRequest, user, ShopSubStageEnum.SHOP_STAGE_30, Arrays.asList(SHOP_SUB_STAGE_STATUS_310.getShopSubStageStatus())); + return operationCustomQueryList(deskRequest, user, ShopSubStageEnum.SHOP_STAGE_30, Arrays.asList(SHOP_SUB_STAGE_STATUS_310.getShopSubStageStatus()), null); } @Override @@ -940,9 +949,13 @@ public class DeskServiceImpl implements DeskService { * @param user * @param shopSubStageEnum * @param subStageStatusList + * @param authRegionIds 管辖区域IDs(可选,用于两角色同时存在时的OR条件) * @return */ - private PageInfo operationCustomQueryList(DeskRequest deskRequest, LoginUserInfo user, ShopSubStageEnum shopSubStageEnum, List subStageStatusList) { + private PageInfo operationCustomQueryList(DeskRequest deskRequest, LoginUserInfo user, ShopSubStageEnum shopSubStageEnum, List subStageStatusList, List authRegionIds) { + if (CollectionUtils.isNotEmpty(authRegionIds)) { + deskRequest.setAuthRegionIds(authRegionIds); + } PageHelper.startPage(deskRequest.getPageNum(), deskRequest.getPageSize()); List specialShopStageInfo = shopStageInfoDAO.getOperationsConsultantStageInfo(null, shopSubStageEnum.getShopSubStage(), subStageStatusList, user.getUserId(), deskRequest);