From 86611d2178b8806caa4a320d5e2101609c3a8b15 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Wed, 4 Jun 2025 16:58:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/dao/LinePayDAO.java | 8 ++- .../com/cool/store/mapper/LinePayMapper.java | 2 + .../main/resources/mapper/LinePayMapper.xml | 68 ++++++++++++++----- .../service/impl/DataHandlerServerImpl.java | 66 +++++++++++------- .../store/service/impl/DeskServiceImpl.java | 5 +- .../webb/DataHandlerController.java | 11 +++ 6 files changed, 113 insertions(+), 47 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/LinePayDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/LinePayDAO.java index 1c65b58fa..a85471f59 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/LinePayDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/LinePayDAO.java @@ -96,10 +96,16 @@ public class LinePayDAO { if (CollectionUtils.isEmpty(linePayDOList)){ return null; } - return 0; + return linePayMapper.dataUpdateLinePay(linePayDOList); } public LinePayDO selectByPaymentReceiptCode(String paymentReceiptCode) { return linePayMapper.selectByPaymentReceiptCode(paymentReceiptCode); } + public Integer updateXgjClaimStatus(List shopIds,Integer xgjClaimStatus,Integer payBusinessType){ + if (CollectionUtils.isEmpty(shopIds)){ + return null; + } + return linePayMapper.updateXgjClaimStatus(shopIds,xgjClaimStatus,payBusinessType); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LinePayMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LinePayMapper.java index fa8067a9f..75c99d824 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LinePayMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/LinePayMapper.java @@ -66,4 +66,6 @@ public interface LinePayMapper { List getDateHandler(); Integer dataUpdateLinePay(@Param("list") List linePayDOList); + + Integer updateXgjClaimStatus(@Param("list") List shopIds,@Param("xgjClaimStatus") Integer xgjClaimStatus,@Param("payBusinessType") Integer payBusinessType); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/LinePayMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/LinePayMapper.xml index b8684f839..0362abba3 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/LinePayMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/LinePayMapper.xml @@ -32,8 +32,9 @@ id,shop_id, partner_id, line_id, pay_status, pay_type, pay_user_name, pay_account, bank_code, - bank_name, branch_bank_code, branch_bank_name, pay_time, pay_pic, promise_pic, create_time, - update_time, create_user_id, update_user_id, deleted,pay_business_type,amount,combined_field,xgj_claim_status,payment_receipt_code,pay_serial_number, + bank_name, branch_bank_code, branch_bank_name, pay_time, pay_pic, promise_pic, create_time, + update_time, create_user_id, update_user_id, + deleted,pay_business_type,amount,combined_field,xgj_claim_status,payment_receipt_code,pay_serial_number, remark update xfsg_line_pay set deleted = 1 ,update_time = now(),update_user_id = #{userId} where id = #{id} - + + + update xfsg_line_pay + + + pay_time = #{item.payTime}, + + + pay_pic = #{item.payPic}, + + + payment_receipt_code = #{item.paymentReceiptCode}, + + + xgj_claim_status = #{item.xgjClaimStatus} + + + + where id = #{item.id} + + + + update xfsg_line_pay + set + xgj_claim_status = #{xgjClaimStatus}, + update_time = now() + where shop_id in ( + + #{shopId} + + ) and pay_business_type = #{payBusinessType} + diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DataHandlerServerImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DataHandlerServerImpl.java index 2aec9d12d..550c2b4e6 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DataHandlerServerImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DataHandlerServerImpl.java @@ -8,15 +8,13 @@ import com.cool.store.dao.*; import com.cool.store.dto.*; import com.cool.store.entity.*; import com.cool.store.enums.*; +import com.cool.store.enums.point.PayBusinessTypeEnum; import com.cool.store.enums.point.ShopStageEnum; import com.cool.store.enums.point.ShopSubStageEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.mapper.*; -import com.cool.store.service.DataHandlerServer; -import com.cool.store.service.FranchiseFeeService; -import com.cool.store.service.OpenApiService; -import com.cool.store.service.PreparationService; +import com.cool.store.service.*; import com.cool.store.utils.StringUtil; import com.cool.store.utils.easyExcel.EasyExcelUtil; import com.cool.store.utils.poi.DateUtils; @@ -48,9 +46,11 @@ import static com.cool.store.utils.poi.DateUtils.YYYY_MM_DD; @Slf4j public class DataHandlerServerImpl implements DataHandlerServer { @Resource - private OpenApiService openApiService; + private LinePayService linePayService; @Resource - private LinePayDAO linePayDAO; + private OpenApiService openApiService; + @Resource + private LinePayDAO linePayDAO; @Resource private AcceptanceInfoDAO acceptanceInfoDAO; @Resource @@ -932,7 +932,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { ShopSubStageEnum shopSubStageEnum = ShopSubStageEnum.SHOP_STAGE_25; List shopIds = shopAccountDAO.getShopId(); for (ShopStageInfoDO shopStageInfoDO : subStages) { - if (jdStageShopIds.contains(shopStageInfoDO.getShopId())){ + if (jdStageShopIds.contains(shopStageInfoDO.getShopId())) { continue; } LineInfoDO lineInfoDO = lineMap.get(shopStageInfoDO.getLineId()); @@ -988,12 +988,12 @@ public class DataHandlerServerImpl implements DataHandlerServer { if (CollectionUtils.isEmpty(shopInfoList)) { log.info("导入数据根据shopCode 未找到数据"); } - List shopIds = shopInfoList.stream().map(ShopInfoDO::getId).collect(Collectors.toList()); + List shopIds = shopInfoList.stream().map(ShopInfoDO::getId).collect(Collectors.toList()); Map> shopMapByCode = shopInfoList.stream().collect(Collectors.groupingBy(ShopInfoDO::getShopCode)); //装修验收数据 List acceptanceInfoDOList = acceptanceInfoDAO.selectByShopIds(shopIds); Map acceptanceInfoMap = acceptanceInfoDOList.stream().collect(Collectors.toMap(AcceptanceInfoDO::getShopId, item -> item)); - //合同阶段 + //合同阶段 List signFranchiseStageList = shopStageInfoDAO.getSubStageList(shopIds, ShopSubStageEnum.SHOP_STAGE_8.getShopSubStage()); Map signFranchiseStageMap = signFranchiseStageList.stream().collect(Collectors.toMap(ShopStageInfoDO::getShopId, Function.identity())); //装修阶段需要变更的shopId @@ -1003,23 +1003,23 @@ public class DataHandlerServerImpl implements DataHandlerServer { for (ImportOaOldShopDataDTO dto : list) { String shopCode = dto.getShopCode(); List shopInfoDOS = shopMapByCode.get(shopCode); - if (CollectionUtils.isEmpty(shopInfoDOS)){ + if (CollectionUtils.isEmpty(shopInfoDOS)) { errorList.add(new ImportOaOldShopDataErrorDTO(dto.getShopCode(), "门店编码未找到")); continue; } - if (shopInfoDOS.size() > 1){ + if (shopInfoDOS.size() > 1) { errorList.add(new ImportOaOldShopDataErrorDTO(dto.getShopCode(), "门店编码重复")); continue; } ShopInfoDO shopInfoDO = shopInfoDOS.get(0); Long shopId = shopInfoDO.getId(); ShopStageInfoDO signFranchiseStage = signFranchiseStageMap.get(shopId); - if (!signFranchiseStage.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_84.getShopSubStageStatus())){ + if (!signFranchiseStage.getShopSubStageStatus().equals(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_84.getShopSubStageStatus())) { errorList.add(new ImportOaOldShopDataErrorDTO(dto.getShopCode(), "合同阶段未完成")); continue; } AcceptanceInfoDO acceptanceInfoDO = acceptanceInfoMap.get(shopId); - if (Objects.isNull(acceptanceInfoDO)){ + if (Objects.isNull(acceptanceInfoDO)) { initFitmentShopIdList.add(shopId); } fitmentFhopIdList.add(shopId); @@ -1029,7 +1029,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { shopStageInfoDAO.dataUpdateStatus(fitmentFhopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_91); shopStageInfoDAO.dataUpdateStatus(fitmentFhopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_112); shopStageInfoDAO.dataUpdateStatus(fitmentFhopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_123); - //装修表初始化 + //装修表初始化 acceptanceInfoDAO.initAcceptanceInfo(initFitmentShopIdList); if (!errorList.isEmpty()) { task.setStatus(ImportTaskStatusEnum.ERROR.getCode()); @@ -1056,43 +1056,57 @@ public class DataHandlerServerImpl implements DataHandlerServer { public Boolean franchiseFeeStageDateHandler() { //处理加盟费阶段待审核(对账中) List waitAuditStageList = shopStageInfoDAO.getShopStageInfoByShopSubStageStatus(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus()); - log.info("waitAuditStageList:{}", JSONObject.toJSONString(waitAuditStageList)); + log.info("waitAuditStageList:{}", JSONObject.toJSONString(waitAuditStageList)); List waitAuditShopIdList = waitAuditStageList.stream().map(ShopStageInfoDO::getShopId).collect(Collectors.toList()); - shopStageInfoDAO.dataUpdateStatus(waitAuditShopIdList,ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_73); - franchiseFeeDAO.batchUpdateXgjCollectionStatus(waitAuditShopIdList,XGJCollectionStatusEnum.COMPLETED.getCode()); +// shopStageInfoDAO.dataUpdateStatus(waitAuditShopIdList,ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_73); + franchiseFeeDAO.batchUpdateXgjCollectionStatus(waitAuditShopIdList, XGJCollectionStatusEnum.WAIT_PAY.getCode()); + linePayDAO.updateXgjClaimStatus(waitAuditShopIdList, ClaimStatusEnum.TO_BE_CLAIMED.getCode(), PayBusinessTypeEnum.FRANCHISE_FEE.getCode()); //已缴费 修改新管家回调状态 List isPaidStageList = shopStageInfoDAO.getShopStageInfoByShopSubStageStatus(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_73.getShopSubStageStatus()); List isPaidShopId = isPaidStageList.stream().map(ShopStageInfoDO::getShopId).collect(Collectors.toList()); - franchiseFeeDAO.batchUpdateXgjCollectionStatus(isPaidShopId,XGJCollectionStatusEnum.COMPLETED.getCode()); + franchiseFeeDAO.batchUpdateXgjCollectionStatus(isPaidShopId, XGJCollectionStatusEnum.COMPLETED.getCode()); + linePayDAO.updateXgjClaimStatus(isPaidShopId, ClaimStatusEnum.Claimed.getCode(), PayBusinessTypeEnum.FRANCHISE_FEE.getCode()); //待加盟商缴费阶段 List waitPayStageList = shopStageInfoDAO.getShopStageInfoByShopSubStageStatus(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_71.getShopSubStageStatus()); List waitPayShopIds = waitPayStageList.stream().map(ShopStageInfoDO::getShopId).collect(Collectors.toList()); - franchiseFeeDAO.batchUpdateXgjCollectionStatus(waitPayShopIds,XGJCollectionStatusEnum.WAIT_PAY.getCode()); - return true; + franchiseFeeDAO.batchUpdateXgjCollectionStatus(waitPayShopIds, XGJCollectionStatusEnum.WAIT_PAY.getCode()); + return true; } @Override @Transactional(rollbackFor = Exception.class) public Boolean franchiseFeeDateHandler(Integer pageSize, Integer pageNum) { - PageHelper.startPage(pageNum, pageSize); List dateHandler = linePayDAO.getDateHandler(); - for (LinePayDO linePayDO : dateHandler){ + List waitAuditStageList = shopStageInfoDAO.getShopStageInfoByShopSubStageStatus(ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus()); + log.info("waitAuditStageList:{}", JSONObject.toJSONString(waitAuditStageList)); + List waitAuditShopIdList = waitAuditStageList.stream().map(ShopStageInfoDO::getShopId).collect(Collectors.toList()); + for (LinePayDO linePayDO : dateHandler) { JSONArray jsonArray = JSONObject.parseArray(linePayDO.getCombinedField()); JSONObject jsonObject = jsonArray.getJSONObject(0); linePayDO.setPayTime(jsonObject.getDate("payTime")); linePayDO.setPayPic(jsonObject.getString("payPic")); + if (waitAuditShopIdList.contains(linePayDO.getShopId())) { + linePayDO.setXgjClaimStatus(ClaimStatusEnum.TO_BE_CLAIMED.getCode()); + if (StringUtils.isBlank(linePayDO.getPaymentReceiptCode())) { + linePayDO.setPaymentReceiptCode(linePayService.getPaymentReceiptCode()); + } + } else { + linePayDO.setXgjClaimStatus(ClaimStatusEnum.Claimed.getCode()); + } } + linePayDAO.dataUpdateLinePay(dateHandler); + return true; } @Override @Transactional(rollbackFor = Exception.class) public Boolean batchStatusRefreshYls(BatchStatusRefreshDTO batchStatusRefreshDTO) { - if (CollectionUtils.isEmpty(batchStatusRefreshDTO.getShopCode())){ + if (CollectionUtils.isEmpty(batchStatusRefreshDTO.getShopCode())) { log.info("数据处理 门店编码为空"); return null; } - for (String shopCode : batchStatusRefreshDTO.getShopCode()){ + for (String shopCode : batchStatusRefreshDTO.getShopCode()) { StatusRefreshDTO statusRefreshDTO = new StatusRefreshDTO(); statusRefreshDTO.setShopCode(shopCode); statusRefreshDTO.setSystemSource(batchStatusRefreshDTO.getSystemSource()); @@ -1100,10 +1114,10 @@ public class DataHandlerServerImpl implements DataHandlerServer { openApiService.statusRefresh(statusRefreshDTO); } List shopCodeList = new ArrayList<>(); - for (String shopCode : batchStatusRefreshDTO.getShopCode()){ + for (String shopCode : batchStatusRefreshDTO.getShopCode()) { shopCodeList.add(StringUtils.substringAfter(shopCode, "_")); } - posAndOrderInfoDAO.batchUpdateYlsRemarkByShopCode(shopCodeList,batchStatusRefreshDTO.getRemark()); + posAndOrderInfoDAO.batchUpdateYlsRemarkByShopCode(shopCodeList, batchStatusRefreshDTO.getRemark()); return true; } 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 1041d59c3..459971cad 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 @@ -263,14 +263,11 @@ public class DeskServiceImpl implements DeskService { //督导代填 if (userRoleIds.contains(UserRoleEnum.QW_SUPERVISION.getCode()) || userRoleIds.contains(UserRoleEnum.SUPERVISION.getCode())) { pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7, - Arrays.asList(SHOP_SUB_STAGE_STATUS_71.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_74.getShopSubStageStatus()), Boolean.FALSE,keyword); + Arrays.asList(SHOP_SUB_STAGE_STATUS_71.getShopSubStageStatus(), SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus()), Boolean.FALSE,keyword); } else { if (userRoleIds.contains(UserRoleEnum.JOIN_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) { subStageStatusList.add(SHOP_SUB_STAGE_STATUS_70.getShopSubStageStatus()); } - if (userRoleIds.contains(UserRoleEnum.BRANCH_OFFICE.getCode()) || userRoleIds.contains(UserRoleEnum.REGION_OFFICE.getCode())) { - subStageStatusList.add(SHOP_SUB_STAGE_STATUS_72.getShopSubStageStatus()); - } if (!subStageStatusList.isEmpty()) { pageInfo = commonPendingVOPageInfo(pageNum, pageSize, user, ShopSubStageEnum.SHOP_STAGE_7, subStageStatusList, Boolean.TRUE,keyword); diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DataHandlerController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DataHandlerController.java index 3cdf5eab2..f585dc74b 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DataHandlerController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/DataHandlerController.java @@ -166,4 +166,15 @@ public class DataHandlerController { public ApiResponse batchStatusRefreshYls(@RequestBody @Validated BatchStatusRefreshDTO batchStatusRefreshDTO) { return ApiResponse.success(dataHandlerServer.batchStatusRefreshYls(batchStatusRefreshDTO)); } + + @ApiOperation("处理加盟费阶段") + @GetMapping("/franchiseFeeStageDateHandler") + public ResponseResult franchiseFeeStageDateHandler(){ + return ResponseResult.success(dataHandlerServer.franchiseFeeStageDateHandler()); + } + @ApiOperation("处理加盟费缴费信息历史数据") + @GetMapping("/franchiseFeeDateHandler") + public ResponseResult franchiseFeeDateHandler(@RequestParam("pageSize") Integer pageSize, @RequestParam("pageNum") Integer pageNum){ + return ResponseResult.success(dataHandlerServer.franchiseFeeDateHandler(pageSize,pageNum)); + } }