diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopAccountDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopAccountDAO.java index 6ed5e54ae..06d1298a3 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopAccountDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopAccountDAO.java @@ -7,6 +7,7 @@ import com.cool.store.enums.OpenStatusEnum; import com.cool.store.enums.PlatformBuildEnum; import com.cool.store.enums.ShopAccountEnum; import com.cool.store.mapper.ShopAccountMapper; +import com.cool.store.request.DeskRequest; import com.cool.store.utils.StringUtil; import org.apache.commons.collections4.CollectionUtils; import org.apache.ibatis.annotations.Param; @@ -191,4 +192,14 @@ public class ShopAccountDAO { List shopAccountDOS = shopAccountMapper.selectAll(); return new ArrayList<>(shopAccountDOS.stream().map(ShopAccountDO::getShopId).collect(Collectors.toSet())) ; } + + /** + * 进件待办列表 + * @param deskRequest + * @param systemName + * @return + */ + public List getEntryPendingList(DeskRequest deskRequest, String systemName){ + return shopAccountMapper.getEntryPendingList(deskRequest,systemName); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAccountMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAccountMapper.java index 82decb440..2cca39742 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAccountMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/ShopAccountMapper.java @@ -1,6 +1,7 @@ package com.cool.store.mapper; import com.cool.store.entity.ShopAccountDO; +import com.cool.store.request.DeskRequest; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; import tk.mybatis.mapper.common.Mapper; @@ -101,5 +102,13 @@ public interface ShopAccountMapper extends Mapper { Integer updateStatusDataHandle(@Param("list") List shopIds); + /** + * 进件待办列表 + * @param request + * @param systemName + * @return + */ + List getEntryPendingList(@Param("request") DeskRequest request, @Param("systemName") String systemName); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/ShopAccountMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/ShopAccountMapper.xml index 414fdb47a..dabf0fceb 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/ShopAccountMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/ShopAccountMapper.xml @@ -214,4 +214,52 @@ WHERE `password` is null and `system_name` = '火码POS' + + + \ No newline at end of file diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java index 9def104b4..24cbd3fcc 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DeskService.java @@ -195,4 +195,12 @@ public interface DeskService { Integer submitBusinessRemark(BusinessRemarkRequest request, LoginUserInfo user); + /** + * posEntry pos进件待处理数据 + * @param deskRequest + * @param user + * @return + */ + PageInfo posEntryListPendingList(DeskRequest deskRequest, LoginUserInfo user ); + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationDesignInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationDesignInfoServiceImpl.java index 6bd8c39f0..c77e33c23 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationDesignInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationDesignInfoServiceImpl.java @@ -11,6 +11,7 @@ import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.*; import com.cool.store.service.DecorationDesignInfoService; +import com.cool.store.service.PreparationService; import com.cool.store.utils.poi.StringUtils; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; @@ -42,6 +43,8 @@ public class DecorationDesignInfoServiceImpl implements DecorationDesignInfoServ private LineInfoDAO lineInfoDAO; @Resource private BuildInformationDAO buildInformationDAO; + @Resource + PreparationService preparationService; @Override @Transactional(rollbackFor = Exception.class) @@ -278,6 +281,7 @@ public class DecorationDesignInfoServiceImpl implements DecorationDesignInfoServ } if (shopSubStageInfo.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_122.getShopSubStageStatus())) { shopStageInfoDAO.updateShopStageInfo(shopInfoDO.getId(), ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_123); + preparationService.buildStoreAndDecorationComplete(shopInfoDO.getId()); } // 覆盖建店资料中的门头照和内景照 BuildInformationDO buildInformation = BuildInformationDO.builder().shopId(request.getShopId()).doorPhoto(buildJson(request.getShopDoorwayPhotoUrl())) 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 f48912741..b469524a6 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 @@ -9,6 +9,7 @@ import com.cool.store.dto.PendingCountDTO; import com.cool.store.dto.openPreparation.PlanLineDTO; import com.cool.store.entity.*; import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.ShopAccountEnum; import com.cool.store.enums.UserRoleEnum; import com.cool.store.enums.WorkflowSubStageStatusEnum; import com.cool.store.enums.point.PayBusinessTypeEnum; @@ -98,6 +99,8 @@ public class DeskServiceImpl implements DeskService { private PointInfoDAO pointInfoDAO; @Autowired private ShopStageRemarkInfoDAO shopStageRemarkInfoDAO; + @Resource + ShopAccountDAO shopAccountDAO; @Override public PageInfo intendPendingList(Integer pageNum, Integer pageSize, String userId, String keyword) { @@ -630,6 +633,73 @@ public class DeskServiceImpl implements DeskService { } + @Override + public PageInfo posEntryListPendingList(DeskRequest deskRequest, LoginUserInfo user) { + //user.getJobNumber() + PageHelper.startPage(deskRequest.getPageNum(), deskRequest.getPageSize()); + List entryPendingList = shopAccountDAO.getEntryPendingList(deskRequest, ShopAccountEnum.HUOMA.getSystemName()); + PageInfo result = new PageInfo<>(entryPendingList); + List shopIds = entryPendingList.stream().map(ShopAccountDO::getShopId).collect(Collectors.toList()); + List shopInfoList = shopInfoDAO.getShopListByIds(shopIds); + List lineIds = shopInfoList.stream().map(ShopInfoDO::getLineId).collect(Collectors.toList()); + List lines = lineInfoDAO.getLines(lineIds); + + List signType = signFranchiseDAO.getSignType(shopIds); + Map signTypeMap = signType.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, dto -> dto)); + //将shopInfoList 转为map + Map shopInfoMap = shopInfoList.stream().collect(Collectors.toMap(ShopInfoDO::getId, shop -> shop)); + //将lines 转为map + Map lineMap = lines.stream().collect(Collectors.toMap(PlanLineDTO::getLineId, line -> line)); + + List pointId = shopInfoList.stream().filter(x -> Objects.nonNull(x.getPointId())).map(ShopInfoDO::getPointId).collect(Collectors.toList()); + Set investmentUserIds = shopInfoList.stream().map(ShopInfoDO::getInvestmentManager).collect(Collectors.toSet()); + List pointListByIds = pointInfoDAO.getPointListByIds(pointId); + Map pointMap = pointListByIds.stream().collect(Collectors.toMap(PointInfoDO::getId, Function.identity())); + List regionIds = shopInfoList.stream().map(ShopInfoDO::getRegionId).distinct().collect(Collectors.toList()); + List developmentManagers = shopInfoList.stream().filter(x -> StringUtil.isNotEmpty(x.getShopManagerUserId())).map(ShopInfoDO::getShopManagerUserId).distinct().collect(Collectors.toList()); + Set< String> userIds=new HashSet<>(); + userIds.addAll(investmentUserIds); + userIds.addAll(developmentManagers); + Map userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(userIds)); + Map regionNameMap = regionService.getBelongWarRegionNameMap(regionIds); + + List list = new ArrayList<>(); + entryPendingList.forEach(x -> { + PreparationCommonPendingVO preparationCommonPendingVO = new PreparationCommonPendingVO(); + ShopInfoDO shop = shopInfoMap.get(x.getShopId()); + preparationCommonPendingVO.setLineId(shop.getLineId()); + preparationCommonPendingVO.setShopId(shop.getId()); + ShopInfoDO shopInfoDO = shopInfoMap.getOrDefault(x.getShopId(), new ShopInfoDO()); + preparationCommonPendingVO.setStoreType(shopInfoDO.getStoreType()); + if (StringUtil.isNotEmpty(shopInfoDO.getDetailAddress())) { + preparationCommonPendingVO.setShopAddress(shopInfoDO.getDetailAddress()); + } else { + PointInfoDO pointInfoDO = pointMap.get(shopInfoDO.getPointId()); + if (pointInfoDO != null) { + preparationCommonPendingVO.setShopAddress(pointInfoDO.getAddress()); + } + } + SignFranchiseDO signFranchiseDO = signTypeMap.get(x.getShopId()); + if (signFranchiseDO != null) { + preparationCommonPendingVO.setSignType(signFranchiseDO.getSignType()); + preparationCommonPendingVO.setPartnershipSignatorySecond(signFranchiseDO.getPartnershipSignatorySecond()); + } + preparationCommonPendingVO.setShopCode(shopInfoDO.getShopCode()); + preparationCommonPendingVO.setJoinMode(shopInfoDO.getJoinMode()); + preparationCommonPendingVO.setInvestmentManager(userNameMap.getOrDefault(shopInfoDO.getInvestmentManager(),"")); + preparationCommonPendingVO.setStoreName(shopInfoDO.getShopName()); + PlanLineDTO planLineDTO = lineMap.getOrDefault(shop.getLineId(), new PlanLineDTO()); + preparationCommonPendingVO.setPartnerName(planLineDTO.getUsername()); + preparationCommonPendingVO.setPartnerPhone(planLineDTO.getMobile()); + preparationCommonPendingVO.setShopManagerUserName(userNameMap.getOrDefault(shopInfoDO.getShopManagerUserId(), "")); + preparationCommonPendingVO.setRegionNodeName(regionNameMap.getOrDefault(shopInfoDO.getRegionId(), "")); + preparationCommonPendingVO.setFranchiseBrand(shopInfoDO.getFranchiseBrand()); + list.add(preparationCommonPendingVO); + }); + result.setList(list); + return result; + } + /** * 通用查询 diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java index 5e7d98e61..f328328c9 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DeskController.java @@ -123,6 +123,13 @@ public class DeskController { return ResponseResult.success(deskService.posListPendingList( deskRequest, userInfo )); } + @ApiOperation("待处理-pos-进件待办") + @PostMapping("/posEntryListPendingList") + public ResponseResult> posEntryListPendingList(@RequestBody DeskRequest deskRequest) { + LoginUserInfo userInfo = CurrentUserHolder.getUser(); + return ResponseResult.success(deskService.posEntryListPendingList(deskRequest, userInfo)); + } + @ApiOperation("待处理-营帐通") @PostMapping("/tentPassListPendingList") public ResponseResult> tentPassListPendingList(@RequestBody DeskRequest deskRequest) {