瀏覽代碼

客户详情修改

YPZ 5 天之前
父節點
當前提交
cc876e6d8b

+ 27 - 1
java/storlead-sasa/storlead-trade/src/main/java/com/storlead/trade/service/impl/MarketEmailsServiceImpl.java

@@ -1167,6 +1167,7 @@ public class MarketEmailsServiceImpl extends MyBaseServiceImpl<MarketEmailsMappe
         queryStopWrapper.in(MarketEmailsEntity::getMarketingCampaignId, marketingCampaignIdListWithReplyStop);
         queryStopWrapper.eq(MarketEmailsEntity::getIsDelete, CommonConstant.DEL_FLAG_0);
         queryStopWrapper.eq(MarketEmailsEntity::getHasReply, 1);
+        queryStopWrapper.eq(MarketEmailsEntity::getHasReader, 1);
         List<MarketEmailsEntity> marketEmailsStopList = this.list(queryStopWrapper);
         List<Long> customerIdList = new ArrayList<>();
         if (!CollectionUtils.isEmpty(marketEmailsStopList)){
@@ -1261,7 +1262,32 @@ public class MarketEmailsServiceImpl extends MyBaseServiceImpl<MarketEmailsMappe
         marketingCampaignQueryWrapper.eq(MarketingCampaignEntity::getIsDelete, CommonConstant.DEL_FLAG_0);
         marketingCampaignQueryWrapper.eq(MarketingCampaignEntity::getStatus, 1);
         marketingCampaignQueryWrapper.eq(MarketingCampaignEntity::getFollowUpRulesNotOpened, 1);
-        List<MarketingCampaignEntity> marketingCampaignList = marketingCampaignService.list(marketingCampaignQueryWrapper);
+        List<MarketingCampaignEntity> marketingCampaignFirstList = marketingCampaignService.list(marketingCampaignQueryWrapper);
+        if (CollectionUtils.isEmpty(marketingCampaignFirstList)){
+            return;
+        }
+        List<MarketingCampaignEntity> marketingCampaignList = new ArrayList<>();
+        //提取未开启客户回复后停止自动化的营销活动
+        List<MarketingCampaignEntity> marketingCampaignListA = marketingCampaignFirstList.stream().filter(
+                campaign -> campaign.getFollowUpRulesReplied() == null || campaign.getFollowUpRulesReplied() == 0
+        ).collect(Collectors.toList());
+        if (!CollectionUtils.isEmpty(marketingCampaignListA)){
+            marketingCampaignList.addAll(marketingCampaignListA);
+        }
+        List<MarketingCampaignEntity> marketingCampaignListB = marketingCampaignFirstList.stream().filter(
+                campaign -> campaign.getFollowUpRulesReplied() != null && campaign.getFollowUpRulesReplied() == 1
+        ).collect(Collectors.toList());
+        //排除有客户回复的营销活动
+        marketingCampaignListB = marketingCampaignListB.stream().filter(campaign -> {
+            LambdaQueryWrapper<MarketEmailsEntity> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(MarketEmailsEntity::getIsDelete, CommonConstant.DEL_FLAG_0);
+            queryWrapper.eq(MarketEmailsEntity::getMarketingCampaignId, campaign.getId());
+            queryWrapper.eq(MarketEmailsEntity::getHasReply, 1);
+            return this.count(queryWrapper) == 0;
+        }).collect(Collectors.toList());
+        if (!CollectionUtils.isEmpty(marketingCampaignListB)){
+            marketingCampaignList.addAll(marketingCampaignListB);
+        }
         if (CollectionUtils.isEmpty(marketingCampaignList)){
             return;
         }