YPZ 4 veckor sedan
förälder
incheckning
aef995628a

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

@@ -950,6 +950,15 @@ public class MarketEmailsServiceImpl extends MyBaseServiceImpl<MarketEmailsMappe
 
     @Override
     public void send() {
+        //获取需要发送的营销活动
+        LambdaQueryWrapper<MarketingCampaignEntity> marketingCampaignQueryWrapper = new LambdaQueryWrapper<>();
+        marketingCampaignQueryWrapper.eq(MarketingCampaignEntity::getIsDelete, CommonConstant.DEL_FLAG_0);
+        marketingCampaignQueryWrapper.eq(MarketingCampaignEntity::getStatus, 1);
+        List<MarketingCampaignEntity> marketingCampaignList = marketingCampaignService.list(marketingCampaignQueryWrapper);
+        if (CollectionUtils.isEmpty(marketingCampaignList)){
+            return;
+        }
+        List<Long> marketingCampaignIdList = marketingCampaignList.stream().map(MarketingCampaignEntity::getId).collect(Collectors.toList());
         LambdaQueryWrapper<MarketEmailsEntity> queryWrapper = new LambdaQueryWrapper<>();
 
 //        queryWrapper.eq(MarketEmailsEntity::getExpectSendTime, new Date());
@@ -961,6 +970,9 @@ public class MarketEmailsServiceImpl extends MyBaseServiceImpl<MarketEmailsMappe
 
         queryWrapper.eq(MarketEmailsEntity::getStatus, -1);
         queryWrapper.eq(MarketEmailsEntity::getIsDelete, CommonConstant.DEL_FLAG_0);
+        queryWrapper.eq(MarketEmailsEntity::getHasProtect,0);
+        queryWrapper.eq(MarketEmailsEntity::getHasSuspend,0);
+        queryWrapper.in(MarketEmailsEntity::getMarketingCampaignId, marketingCampaignIdList);
         List<MarketEmailsEntity> marketEmailList = this.list(queryWrapper);
 
         if (CollectionUtils.isEmpty(marketEmailList)){
@@ -983,7 +995,7 @@ public class MarketEmailsServiceImpl extends MyBaseServiceImpl<MarketEmailsMappe
                 Map<String, Object> sentMail = (Map<String, Object>) result.getResult();
                 //将邮件id写入MarketEmailsEntity
                 marketEmail.setEmailId(((Number) sentMail.get("id")).longValue());
-                marketEmail.setStatus(1);
+                marketEmail.setStatus((Integer) sentMail.get("status"));
                 log.info("id为:{}", sentMail.get("id"));
                 log.info("status为:{}", sentMail.get("status"));
                 log.info("邮件发送成功,邮件ID:{}", marketEmail.getId());