From b67654b6a9baf9e6c02e73a6bd690372437f661e Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 29 May 2025 13:52:33 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E5=8A=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/vo/desk/PreparationCommonPendingVO.java | 3 +++ .../main/java/com/cool/store/service/impl/DeskServiceImpl.java | 1 + 2 files changed, 4 insertions(+) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/desk/PreparationCommonPendingVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/desk/PreparationCommonPendingVO.java index 597723f76..bd6463823 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/desk/PreparationCommonPendingVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/desk/PreparationCommonPendingVO.java @@ -53,4 +53,7 @@ public class PreparationCommonPendingVO { private Integer signType; @ApiModelProperty("业务备注") private String businessRemark; + + @ApiModelProperty("签约人2姓名") + private String partnershipSignatorySecond; } 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 d9e4cdda5..1041d59c3 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 @@ -698,6 +698,7 @@ public class DeskServiceImpl implements DeskService { 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()); From 494dda498bb3373fd3fe484155b29549296fe760 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 29 May 2025 14:49:22 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/enums/FileTypeEnum.java | 2 + .../dto/ImportOaOldShopDataErrorDTO.java | 9 ++ .../cool/store/service/DataHandlerServer.java | 4 + .../service/impl/DataHandlerServerImpl.java | 88 +++++++++++++++++++ .../webb/DataHandlerController.java | 24 +++++ .../controller/webb/LineAuditController.java | 10 +-- 6 files changed, 132 insertions(+), 5 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java index f19f046b6..e7542a5c1 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/FileTypeEnum.java @@ -23,6 +23,8 @@ public enum FileTypeEnum { ZXJP_OPEN_SHOP_REPORT("zxjpOpenShopReport","正新鸡排开店"), IMPORT_OA_OLD_SHOP_STAGE_DATA("importOaOldShopStageData", "导入OA旧阶段数据"), IMPORT_OA_OLD_SHOP_STAGE_DATA_ERROR("OaOldShopStageDataError", "导入OA旧数据阶段错误列表"), + IMPORT_FITMENT_SHOP_STAGE("importFitmentShopStage", "导入装修阶段完成数据"), + IMPORT_FITMENT_SHOP_STAGE_DATA_ERROR_LIST("OaOldShopStageDataErrorList", "导入装修阶段完成数据错误列表 "), ; private String fileType; private String desc; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/ImportOaOldShopDataErrorDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/ImportOaOldShopDataErrorDTO.java index 5343f2478..0860d82f5 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/ImportOaOldShopDataErrorDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/ImportOaOldShopDataErrorDTO.java @@ -19,4 +19,13 @@ public class ImportOaOldShopDataErrorDTO { @ExcelProperty(value = "错误原因", order = 2) @ColumnWidth(40) private String errorReason; + + public ImportOaOldShopDataErrorDTO() { + + } + + public ImportOaOldShopDataErrorDTO(String shopCode, String errorReason) { + this.shopCode = shopCode; + this.errorReason = errorReason; + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/DataHandlerServer.java b/coolstore-partner-service/src/main/java/com/cool/store/service/DataHandlerServer.java index fd900a551..f12717c35 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/DataHandlerServer.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/DataHandlerServer.java @@ -32,4 +32,8 @@ public interface DataHandlerServer { Boolean dataHandlerV20241012(List> dataMapList, String originalFilename, LoginUserInfo user, ImportTaskDO task); Integer JingDongStageHandler(); + + //处理测量 设计 施工 验收 完成 + Boolean dataHandlerV2025029(List> dataMapList, String originalFilename, LoginUserInfo user, + ImportTaskDO task); } 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 0ac224030..9c2c376c9 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 @@ -954,6 +954,94 @@ public class DataHandlerServerImpl implements DataHandlerServer { } + @Override + public Boolean dataHandlerV2025029(List> dataMapList, String originalFilename, LoginUserInfo user, ImportTaskDO task) { + + List list = new ArrayList<>(); + List errorList = new ArrayList<>(); + ListUtils.emptyIfNull(dataMapList) + .forEach(data -> { + try { + ImportOaOldShopDataDTO importOaOldShopDataDTO = new ImportOaOldShopDataDTO(); + importOaOldShopDataDTO.setShopCode(String.valueOf(data.get("门店编码"))); + list.add(importOaOldShopDataDTO); + } catch (Exception e) { + log.info("dataHandlerV2025029 转化dto error:{}", JSONObject.toJSONString(data)); + } + }); + log.info("导入数据条数:{}", list.size()); + if (CollectionUtils.isEmpty(list)) { + log.info("导入数据转化为空"); + return false; + } + List shopCodeList = list.stream().map(ImportOaOldShopDataDTO::getShopCode).collect(Collectors.toList()); + List shopInfoList = shopInfoDAO.selectByShopCodeList(shopCodeList); + if (CollectionUtils.isEmpty(shopInfoList)) { + log.info("导入数据根据shopCode 未找到数据"); + } + 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 + List fitmentFhopIdList = new ArrayList<>(); + //装修验收表需要初始化的门店 + List initFitmentShopIdList = new ArrayList<>(); + for (ImportOaOldShopDataDTO dto : list) { + String shopCode = dto.getShopCode(); + List shopInfoDOS = shopMapByCode.get(shopCode); + if (CollectionUtils.isEmpty(shopInfoDOS)){ + errorList.add(new ImportOaOldShopDataErrorDTO(dto.getShopCode(), "门店编码未找到")); + continue; + } + 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())){ + errorList.add(new ImportOaOldShopDataErrorDTO(dto.getShopCode(), "合同阶段未完成")); + continue; + } + AcceptanceInfoDO acceptanceInfoDO = acceptanceInfoMap.get(shopId); + if (Objects.isNull(acceptanceInfoDO)){ + initFitmentShopIdList.add(shopId); + } + fitmentFhopIdList.add(shopId); + } + //装修stage + shopStageInfoDAO.dataUpdateStatus(fitmentFhopIdList, ShopSubStageStatusEnum.SHOP_SUB_STAGE_STATUS_863); + 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()); + String url = null; + try { + url = easyExcelUtil.exportExcel(ImportOaOldShopDataErrorDTO.class, errorList, null, + FileTypeEnum.IMPORT_FITMENT_SHOP_STAGE_DATA_ERROR_LIST.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date()), + FileTypeEnum.IMPORT_FITMENT_SHOP_STAGE_DATA_ERROR_LIST.getDesc() + DateUtils.parseDateToStr(SPECIAL_DATE_START_1, new Date())); + } catch (Exception e) { + log.info("导出失败列表失败 errorList:{}", JSONObject.toJSONString(errorList)); + } + task.setFileUrl(url); + } else { + task.setStatus(ImportTaskStatusEnum.SUCCESS.getCode()); + } + task.setTotalNum(dataMapList.size()); + task.setSuccessNum(dataMapList.size() - errorList.size()); + importTaskMapper.update(eid, task); + return null; + } + private static @NotNull ShopStageInfoDO getShopStageInfoDO(ShopSubStageEnum shopSubStageEnum, ShopStageInfoDO shopStageInfoDO, ShopSubStageStatusEnum shopSubStageStatus) { ShopStageEnum shopStageEnum = shopSubStageEnum.getShopStageEnum(); ShopStageInfoDO shopStageInfo = new ShopStageInfoDO(); 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 8d5dfa431..8199a274e 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 @@ -128,4 +128,28 @@ public class DataHandlerController { public ResponseResult JingDongStageHandler() { return ResponseResult.success(dataHandlerServer.JingDongStageHandler()); } + + @PostMapping("/dataHandlerV2025029") + @ApiOperation("导入OA2025029旧数据") + public ResponseResult dataHandlerV2025029(MultipartFile file) { + ExcelReader reader = null; + try { + reader = ExcelUtil.getReader(file.getInputStream()); + } catch (IOException e) { + log.error("read file error:", e); + } + assert reader != null; + List> dataMapList = reader.read(0, 1, Integer.MAX_VALUE); + ImportTaskDO importTaskDO = new ImportTaskDO(); + importTaskDO.setFileName(file.getOriginalFilename()); + importTaskDO.setFileType(FileTypeEnum.IMPORT_FITMENT_SHOP_STAGE.getFileType()); + importTaskDO.setIsImport(true); + importTaskDO.setStatus(ImportTaskStatusEnum.PROGRESS.getCode()); + importTaskDO.setCreateUserId(CurrentUserHolder.getUserId()); + importTaskDO.setCreateName(CurrentUserHolder.getUser().getName()); + importTaskDO.setCreateTime(System.currentTimeMillis()); + importTaskMapper.insert(eid, importTaskDO); + dataHandlerServer.dataHandlerV2025029(dataMapList, file.getOriginalFilename(), CurrentUserHolder.getUser(), importTaskDO); + return ResponseResult.success(true); + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineAuditController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineAuditController.java index 44a955b78..aa90f3b0d 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineAuditController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webb/LineAuditController.java @@ -62,10 +62,10 @@ public class LineAuditController { return ResponseResult.success(bankService.repayment(request)); } -// @ApiOperation("结束跟进") -// @PostMapping("/close") -// public ResponseResult auditClose(@RequestBody AuditCloseRequest request){ -// return ResponseResult.success(lineFlowService.auditClose(request, CurrentUserHolder.getUser())); -// } + @ApiOperation("结束跟进") + @PostMapping("/close") + public ResponseResult auditClose(@RequestBody AuditCloseRequest request){ + return ResponseResult.success(lineFlowService.auditClose(request, CurrentUserHolder.getUser())); + } } From a6cf42840d2f26bac449e0456c98269369e07fcb Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 29 May 2025 15:05:12 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/service/impl/DataHandlerServerImpl.java | 1 + 1 file changed, 1 insertion(+) 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 9c2c376c9..8bfec0198 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 @@ -955,6 +955,7 @@ public class DataHandlerServerImpl implements DataHandlerServer { } @Override + @Transactional(rollbackFor = Exception.class) public Boolean dataHandlerV2025029(List> dataMapList, String originalFilename, LoginUserInfo user, ImportTaskDO task) { List list = new ArrayList<>(); From 22733664231503ae9c0e6db2ba075ab98e767f36 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 29 May 2025 15:05:58 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/controller/webb/DataHandlerController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 8199a274e..7401de132 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 @@ -130,7 +130,7 @@ public class DataHandlerController { } @PostMapping("/dataHandlerV2025029") - @ApiOperation("导入OA2025029旧数据") + @ApiOperation("/处理测量 设计 施工 验收 完成") public ResponseResult dataHandlerV2025029(MultipartFile file) { ExcelReader reader = null; try { From 8a529743e841bb9836be85f1f535dcf1ecf57fc8 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 29 May 2025 15:50:13 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E9=80=89=E5=9D=80=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E4=B8=8D=E5=90=8C=E6=AD=A5=E9=97=A8=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/service/impl/PointServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java index aeea82dbe..d64b01cf5 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java @@ -883,7 +883,7 @@ public class PointServiceImpl implements PointService { pointInfoDAO.updatePointInfo(updatePoint); ShopInfoDO updateShop = new ShopInfoDO(); updateShop.setId(shopId); - updateShop.setShopName(pointInfo.getPointName()); + // updateShop.setShopName(pointInfo.getPointName()); updateShop.setPointId(pointId); updateShop.setRegionId(pointInfo.getRegionId()); shopInfoDAO.updateShopInfo(updateShop); @@ -971,7 +971,7 @@ public class PointServiceImpl implements PointService { Long pointId = pointInfoDAO.addPointInfo(pointInfo); pointDetailInfo.setPointId(pointId); pointDetailInfoDAO.addPointDetailInfo(pointDetailInfo); - shopInfo.setShopName(pointInfo.getPointName()); + // shopInfo.setShopName(pointInfo.getPointName()); shopInfo.setPointId(pointId); shopInfoDAO.updateShopInfo(shopInfo); PointRecommendDO pointRecommendDO = new PointRecommendDO(); From a9f8fd9306d77f3bb049c7f74c3d16b3cf82e9c0 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 29 May 2025 17:27:52 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E5=8A=A0=E7=9B=9F=E5=95=86=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E8=B7=9F=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/enums/ErrorCodeEnum.java | 1 + .../main/java/com/cool/store/dao/ShopInfoDAO.java | 10 ++++++++++ .../com/cool/store/service/impl/LineFlowService.java | 12 ++++++++++++ .../cool/store/service/impl/SyncDataServiceImpl.java | 4 ++++ 4 files changed, 27 insertions(+) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index 7ac5e4a2b..8cc6992ef 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -259,6 +259,7 @@ public enum ErrorCodeEnum { EXPORT_LIMIT_5000(151008,"导出数据不能超过5000条,请增加筛选条件,减少导出数量",null), REGION_INTERSECTION_IS_NULL(151011,"所选所属大区/分公司,不在所选集团下",null), CHECK_PAYER_ERROR(151012,"缴费人必须是签约人,请重新填写!",null), + SHOP_HAVE_NOT_OVER_ACCORDING(1511013,"该加盟商下有未结束跟进的门店,请先结束门店",null) ; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java index d6fb3e345..e0e158d07 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/ShopInfoDAO.java @@ -297,4 +297,14 @@ public class ShopInfoDAO { example.createCriteria().andIn("partnerId", partnerIds).andEqualTo("deleted", false); return shopInfoMapper.selectByExample(example); } + /** + * @Auther: wangshuo + * @Date: 2025/5/29 + * @description: 获取门店列表,根据门店状态 + */ + public List selectByShopStatus(Long lineId,List shopStatus){ + Example example = new Example(ShopInfoDO.class); + example.createCriteria().andEqualTo("lineId", lineId).andIn("shopStatus", shopStatus).andEqualTo("deleted", false); + return shopInfoMapper.selectByExample(example); + } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java index 234cc9e4e..ecd549829 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java @@ -4,22 +4,28 @@ import com.alibaba.fastjson.JSONObject; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.LineAuditInfoDAO; import com.cool.store.dao.LineInfoDAO; +import com.cool.store.dao.ShopInfoDAO; import com.cool.store.entity.LineAuditInfoDO; import com.cool.store.entity.LineInfoDO; +import com.cool.store.entity.ShopInfoDO; import com.cool.store.enums.AuditResultTypeEnum; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.LineStatusEnum; import com.cool.store.enums.WorkflowSubStageEnum; +import com.cool.store.enums.point.ShopStatusEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.AuditCloseRequest; import com.cool.store.request.AuditPassRequest; import com.cool.store.request.AuditRejectRequest; import com.cool.store.request.LineFollowLogRequest; import com.cool.store.service.LineFollowService; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.Arrays; +import java.util.List; /** * @author zhangchenbiao @@ -36,6 +42,8 @@ public abstract class LineFlowService { private LineInfoDAO lineInfoDAO; @Resource private LineFollowService lineFollowService; + @Resource + private ShopInfoDAO shopInfoDAO; /** * 审核通过 @@ -89,6 +97,10 @@ public abstract class LineFlowService { */ @Transactional(rollbackFor = Exception.class) public Boolean auditClose(AuditCloseRequest request, LoginUserInfo user){ + List shopInfoDOS = shopInfoDAO.selectByShopStatus(request.getLineId(), Arrays.asList(ShopStatusEnum.DONE.getCode(), ShopStatusEnum.ING.getCode())); + if (CollectionUtils.isNotEmpty(shopInfoDOS)){ + throw new ServiceException(ErrorCodeEnum.SHOP_HAVE_NOT_OVER_ACCORDING); + } LineInfoDO lineInfo = lineInfoDAO.getLineInfo(request.getLineId()); String partnerId = lineInfo.getPartnerId(); LineAuditInfoDO auditInfo = new LineAuditInfoDO(); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncDataServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncDataServiceImpl.java index bebd2b97f..7e88f54be 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncDataServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncDataServiceImpl.java @@ -279,6 +279,10 @@ public class SyncDataServiceImpl implements SyncDataService { return null; } String shopCode = shopInfoDO.getShopCode().trim(); + if (Objects.isNull(signFranchiseDO)){ + log.info("合同阶段暂未完成"); + return ""; + } Boolean partnershipSignatorySecondIsNull = StringUtils.isBlank(signFranchiseDO.getPartnershipSignatorySecond()); if (String.valueOf(FranchiseBrandEnum.ZXJP.getCode()).equals(shopInfoDO.getFranchiseBrand())) { //M10001 From 4f9ac6c56dab9a4242830f73b5ee5c0af693bc80 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 29 May 2025 17:52:40 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E5=8A=A0=E7=9B=9F=E5=95=86=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E8=B7=9F=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/cool/store/enums/ErrorCodeEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index 8cc6992ef..fc1c8d10b 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -259,7 +259,7 @@ public enum ErrorCodeEnum { EXPORT_LIMIT_5000(151008,"导出数据不能超过5000条,请增加筛选条件,减少导出数量",null), REGION_INTERSECTION_IS_NULL(151011,"所选所属大区/分公司,不在所选集团下",null), CHECK_PAYER_ERROR(151012,"缴费人必须是签约人,请重新填写!",null), - SHOP_HAVE_NOT_OVER_ACCORDING(1511013,"该加盟商下有未结束跟进的门店,请先结束门店",null) + SHOP_HAVE_NOT_OVER_ACCORDING(1511014,"该加盟商下有未结束跟进的门店,请先结束门店",null) ; From 0b2e903e280f90d8e5ed9502f758e16756654c42 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 29 May 2025 18:19:13 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E5=8A=A0=E7=9B=9F=E5=95=86=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E8=B7=9F=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/cool/store/service/impl/LineFlowService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java index ecd549829..62f3e3a42 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LineFlowService.java @@ -101,6 +101,7 @@ public abstract class LineFlowService { if (CollectionUtils.isNotEmpty(shopInfoDOS)){ throw new ServiceException(ErrorCodeEnum.SHOP_HAVE_NOT_OVER_ACCORDING); } + LineInfoDO lineInfo = lineInfoDAO.getLineInfo(request.getLineId()); String partnerId = lineInfo.getPartnerId(); LineAuditInfoDO auditInfo = new LineAuditInfoDO(); From 3abd8b99efdef995a75c0c99433666f52a6571bf Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 29 May 2025 18:29:33 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E5=8A=A0=E7=9B=9F=E5=95=86=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E8=B7=9F=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/SignFranchiseMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml index 5cfb3a0de..5c927fb7d 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/SignFranchiseMapper.xml @@ -76,7 +76,7 @@