From a9f8fd9306d77f3bb049c7f74c3d16b3cf82e9c0 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Thu, 29 May 2025 17:27:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E7=9B=9F=E5=95=86=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=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