From eb9c69f82ee66f0e0b2da8964a153f7ca6c485e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Fri, 16 May 2025 14:40:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A4=84=E7=90=86=E4=BA=BA=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/service/ShopService.java | 9 ++ .../store/service/impl/ShopServiceImpl.java | 109 +++++++++++++++++- 2 files changed, 115 insertions(+), 3 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java index 458afd560..5319f5279 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ShopService.java @@ -123,4 +123,13 @@ public interface ShopService { * @return */ List getIntendSubStageHandle(Long lineId,Integer subStage); + + + /** + * 获取子阶段处理人数据 + * @param shopId + * @param subStage + * @return + */ + List getSubStageHandle(Long shopId,Integer subStage); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java index 9466c6e35..258214cb6 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ShopServiceImpl.java @@ -45,7 +45,8 @@ import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; -import static com.cool.store.enums.ErrorCodeEnum.UPDATE_INVESTMENT_MANAGER_FAIL; +import static com.cool.store.enums.ErrorCodeEnum.*; +import static com.cool.store.enums.UserRoleEnum.*; import static com.cool.store.enums.WorkflowSubStageStatusEnum.*; /** @@ -702,9 +703,111 @@ public class ShopServiceImpl implements ShopService { } return userList; } + @Resource + DecorationMeasureDAO decorationMeasureDAO; + @Resource + DecorationDesignInfoDAO decorationDesignInfoDAO; - - + @Override + public List getSubStageHandle(Long shopId, Integer subStage) { + if (shopId==null||subStage==null){ + throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED); + } + ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(shopId); + LineInfoDO lineInfo = lineInfoDAO.getLineInfo(shopInfo.getLineId()); + DecorationMeasureDO measureDO = decorationMeasureDAO.getByShopId(shopId); + DecorationDesignInfoDO decoration = decorationDesignInfoDAO.getByShopId(shopId); + ShopStageInfoDO stage = shopStageInfoDAO.getByShopIdAndSubStage(shopId, subStage); + ShopSubStageStatusEnum shopSubStageStatusEnum = ShopSubStageStatusEnum.getShopSubStageStatusEnum(stage.getShopSubStageStatus()); + List userList = new ArrayList<>(); + switch (shopSubStageStatusEnum){ + case SHOP_SUB_STAGE_STATUS_10: + case SHOP_SUB_STAGE_STATUS_20: + case SHOP_SUB_STAGE_STATUS_22: + case SHOP_SUB_STAGE_STATUS_30: + case SHOP_SUB_STAGE_STATUS_40: + case SHOP_SUB_STAGE_STATUS_50: + case SHOP_SUB_STAGE_STATUS_71: + case SHOP_SUB_STAGE_STATUS_74: + case SHOP_SUB_STAGE_STATUS_905: + case SHOP_SUB_STAGE_STATUS_121: + userList.add(new UserDTO(lineInfo.getUsername(), lineInfo.getMobile())); + return userList; + case SHOP_SUB_STAGE_STATUS_11: + case SHOP_SUB_STAGE_STATUS_21: + case SHOP_SUB_STAGE_STATUS_110: + case SHOP_SUB_STAGE_STATUS_111: + case SHOP_SUB_STAGE_STATUS_122: + EnterpriseUserDO userInfo = enterpriseUserDAO.getUserInfoById(lineInfo.getInvestmentManager()); + if (Objects.nonNull(userInfo)){ + userList.add(new UserDTO(userInfo.getName(), userInfo.getMobile())); + } + return userList; + case SHOP_SUB_STAGE_STATUS_70: + case SHOP_SUB_STAGE_STATUS_80: + case SHOP_SUB_STAGE_STATUS_85: + List userDOList1 = userAuthMappingService.getUserIdByRoleEnumAndRegionId(Arrays.asList(REGION_OFFICE, JOIN_OFFICE), shopInfo.getRegionId()); + userDOList1.forEach(x->{ + userList.add(new UserDTO(x.getName(), x.getMobile())); + }); + case SHOP_SUB_STAGE_STATUS_72: + case SHOP_SUB_STAGE_STATUS_83: + List userDOList2 = userAuthMappingService.getUserIdByRoleEnumAndRegionId(Arrays.asList(REGION_OFFICE, BRANCH_OFFICE), shopInfo.getRegionId()); + userDOList2.forEach(x->{ + userList.add(new UserDTO(x.getName(), x.getMobile())); + }); + case SHOP_SUB_STAGE_STATUS_85_1: + //财务 + SysRoleRequest sysRoleRequest = new SysRoleRequest(); + sysRoleRequest.setRoleName(FINANCE.getDesc()); + List userListByRole = userAuthMappingService.findUserListByRole(sysRoleRequest); + userListByRole.forEach(x->{ + userList.add(new UserDTO(x.getName(), x.getMobile())); + }); + case SHOP_SUB_STAGE_STATUS_861: + //财务 + SysRoleRequest req = new SysRoleRequest(); + req.setRoleName(CONSTRUCTION_CUSTOMER.getDesc()); + List userListByRole1 = userAuthMappingService.findUserListByRole(req); + userListByRole1.forEach(x->{ + userList.add(new UserDTO(x.getName(), x.getMobile())); + }); + case SHOP_SUB_STAGE_STATUS_862: + EnterpriseUserDO measureUser = enterpriseUserDAO.getUserInfoById(measureDO.getMeasureUserId()); + if (Objects.nonNull(measureUser)){ + userList.add(new UserDTO(measureUser.getName(), measureUser.getMobile())); + } + return userList; + case SHOP_SUB_STAGE_STATUS_90: + EnterpriseUserDO designLeaderUser = enterpriseUserDAO.getUserInfoById(decoration.getDesignLeaderId()); + if (Objects.nonNull(designLeaderUser)){ + userList.add(new UserDTO(designLeaderUser.getName(), designLeaderUser.getMobile())); + } + return userList; + case SHOP_SUB_STAGE_STATUS_901: + EnterpriseUserDO designUser = enterpriseUserDAO.getUserInfoById(decoration.getDesignUserId()); + if (Objects.nonNull(designUser)){ + userList.add(new UserDTO(designUser.getName(), designUser.getMobile())); + } + return userList; + case SHOP_SUB_STAGE_STATUS_902: + SysRoleRequest quotationReq = new SysRoleRequest(); + quotationReq.setRoleName(QUOTATION_OFFICE.getDesc()); + List userListByRole2 = userAuthMappingService.findUserListByRole(quotationReq); + userListByRole2.forEach(x->{ + userList.add(new UserDTO(x.getName(), x.getMobile())); + }); + return userList; + case SHOP_SUB_STAGE_STATUS_903: + EnterpriseUserDO quotationDesignUser = enterpriseUserDAO.getUserInfoById(decoration.getQuotationUserId()); + if (Objects.nonNull(quotationDesignUser)){ + userList.add(new UserDTO(quotationDesignUser.getName(), quotationDesignUser.getMobile())); + } + return userList; + default: + return userList; + } + } }