diff --git a/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java b/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java index 29fd91371..a853fcff9 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/constants/RedisConstant.java @@ -292,6 +292,11 @@ public class RedisConstant { public static final String BIG_REGION_EMAIL = "big_region_email"; + /** + * 招商大区老总邮箱 + */ + public static final String INVEST_BIG_REGION_EMAIL = "invest_big_region_email"; + /** * 钱包开通失败/打标失败原因 wallet_open_fail:storeId:1/2 1平安/2网商 */ diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java index 8b75e8fbd..40dfd0e9e 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/decoration/ShopDecorationAssignDAO.java @@ -7,6 +7,7 @@ import com.cool.store.entity.decoration.ShopDecorationAssignDO; import com.cool.store.mapper.decoration.ShopDecorationAssignMapper; import com.cool.store.request.decoration.DecorationListRequest; import org.springframework.stereotype.Repository; +import tk.mybatis.mapper.entity.Example; import javax.annotation.Resource; import java.util.List; @@ -67,5 +68,9 @@ public class ShopDecorationAssignDAO { return shopDecorationAssignMapper.listByCondition(request); } - + public ShopDecorationAssignDO getByShopId(Long shopId) { + Example example = new Example(ShopDecorationAssignDO.class); + example.createCriteria().andEqualTo("shopId", shopId); + return shopDecorationAssignMapper.selectOneByExample(example); + } } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/HqtBuildRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/HqtBuildRequest.java index 6a266d668..44e39dc95 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/HqtBuildRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/HqtBuildRequest.java @@ -56,6 +56,9 @@ public class HqtBuildRequest { //负责人邮箱 private String email; + //招商大区负责人邮箱 + private String investRegionEmail; + public Boolean check(){ if (StringUtils.isAnyBlank(shopName,hqtRegionCode,hqtRegionName,supervisorName, partnershipSignatoryFirst,partnershipSignatoryFirstMobile,shopAddress)){ diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/hqt/HqtBuildAPIRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/hqt/HqtBuildAPIRequest.java index ea3e2ac00..0a4eb05c9 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/hqt/HqtBuildAPIRequest.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/hqt/HqtBuildAPIRequest.java @@ -115,6 +115,12 @@ public class HqtBuildAPIRequest { @JsonProperty("负责人邮箱") private String field191__c; + /** + * 招商大区负责人邮箱 + */ + @JsonProperty("field197__c") + private String field197__c; + /** * 特殊情况说明 */ diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java index 35fe0dca7..be04a946d 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/DecorationHandleServiceImpl.java @@ -29,6 +29,7 @@ import com.cool.store.service.HqtAPIService; import com.cool.store.service.SignFranchiseService; import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.StringUtil; +import com.cool.store.utils.poi.StringUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; @@ -177,7 +178,8 @@ public class DecorationHandleServiceImpl implements DecorationHandleService { } //配置的系统是红圈通 且不是加盟公司自有店 则推送数据 也就是配置了crm或者是加盟公司自有店 走crm流程 //2026开始 自有店也开始走红圈通 - if (teamInfo.getUseSystem().equals(DecorationUseSystemEnum.HQT.getCode())){ + // 已分配运营顾问的情况下推送 + if (teamInfo.getUseSystem().equals(DecorationUseSystemEnum.HQT.getCode()) && StringUtils.isNotBlank(shopInfoDO.getOperationsConsultant())){ hqtAPIService.pushHqtBuild(signFranchiseService.getHqtBuildRequest(shopInfoDO.getId())); } shopDecorationAssign.setDecorationDescStatus(DecorationDescStatus.ASSIGNED.getCode()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HqtAPIServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HqtAPIServiceImpl.java index 8397fc561..f9051e6ea 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HqtAPIServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HqtAPIServiceImpl.java @@ -224,6 +224,7 @@ public class HqtAPIServiceImpl implements HqtAPIService { hqtBuildAPIRequest.setField190__c(request.getOperationsConsultant()); hqtBuildAPIRequest.setField188__c(request.getInvestRegionName()); hqtBuildAPIRequest.setField191__c(request.getEmail()); + hqtBuildAPIRequest.setField197__c(request.getInvestRegionEmail()); } private HqtBuildAPIRequest.Field123__c getField123__c(HqtBuildRequest request) { diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java index 51ba1acfd..e583381bc 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SignFranchiseServiceImpl.java @@ -20,6 +20,7 @@ import com.cool.store.entity.decoration.ShopDecorationAssignDO; import com.cool.store.entity.decoration.TeamAreaMappingDO; import com.cool.store.enums.*; import com.cool.store.enums.Decoration.DecorationDescStatus; +import com.cool.store.enums.Decoration.DecorationUseSystemEnum; import com.cool.store.enums.point.ShopSubStageEnum; import com.cool.store.enums.point.ShopSubStageStatusEnum; import com.cool.store.exception.ServiceException; @@ -157,6 +158,8 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu private OperationsConsultantAssignDAO operationsConsultantAssignDAO; @Resource private DictService dictService; + @Resource + private SignFranchiseService signFranchiseService; @Override @@ -799,6 +802,10 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu if (StringUtils.isNotEmpty(email)){ request.setEmail(email); } + String investReginMail = redisUtilPool.hashGet(RedisConstant.INVEST_BIG_REGION_EMAIL, String.valueOf(shopInfo.getInvestRegionId())); + if (StringUtils.isNotBlank(investReginMail)) { + request.setInvestRegionEmail(investReginMail); + } request.setShopId(shopId); request.setShopCode(shopInfo.getShopCode()); request.setShopName(shopInfo.getShopName()); @@ -852,6 +859,22 @@ public class SignFranchiseServiceImpl implements SignFranchiseService, AuditResu //分配之后 开始以下阶段 preparationService.contractAndBuildStoreCompletion(request.getShopId()); + + // 推送红圈通 + if (StringUtils.isBlank(shopInfo.getHqtShopId())) { + try { + ShopDecorationAssignDO assignDO = shopDecorationAssignDAO.getByShopId(shopInfo.getId()); + if (Objects.nonNull(assignDO)) { + DecorationTeamConfigDO teamInfo = decorationTeamConfigDAO.getById(assignDO.getDecorationTeamId()); + if (Objects.nonNull(teamInfo) && DecorationUseSystemEnum.HQT.getCode().equals(teamInfo.getUseSystem())) { + hqtAPIService.pushHqtBuild(signFranchiseService.getHqtBuildRequest(shopInfo.getId())); + } + } + } catch (Exception e) { + log.error("推送红圈通失败", e); + } + } + return Boolean.TRUE; }