Procházet zdrojové kódy

修改多国家上传逻辑

YPZ před 3 týdny
rodič
revize
82b60fabfd

+ 4 - 0
java/storlead-sasa/storlead-trade/src/main/java/com/storlead/trade/service/impl/MarketingCampaignServiceImpl.java

@@ -143,6 +143,8 @@ public class MarketingCampaignServiceImpl
                     "count(distinct customer_id) as cnt", qw -> qw.eq("status", 1));
             Map<Long, Long> cancelledMap = countEmailsByCampaign(marketingCampaignIdList,
                     "count(*) as cnt", qw -> qw.eq("status", -3));
+            Map<Long, Long> totalEmailMap = countEmailsByCampaign(marketingCampaignIdList,
+                    "count(*) as cnt", qw -> { });
             for (MarketingCampaignVO vo : marketingCampaignVOList) {
                 Long id = vo.getId();
                 vo.setOpenedCustomerCount(toInt(openedMap.get(id)));
@@ -155,6 +157,8 @@ public class MarketingCampaignServiceImpl
                 vo.setSentEmailCount(sent);
                 vo.setCancelledEmailCount(cancelled);
                 vo.setEmailCountStats(pending + sent + cancelled);
+                int totalEmail = toInt(totalEmailMap.get(id));
+                vo.setSentRate(totalEmail > 0 ? (double) sent / totalEmail : 0.0);
                 int sentCustomer = toInt(sentCustomerMap.get(id));
                 vo.setSentCustomerCount(sentCustomer);
                 vo.setOpenRateText(buildRate(toInt(openedMap.get(id)), sentCustomer));

+ 3 - 0
java/storlead-sasa/storlead-trade/src/main/java/com/storlead/trade/vo/MarketingCampaignVO.java

@@ -179,6 +179,9 @@ public class MarketingCampaignVO extends SysBaseField {
     @ApiModelProperty(value = "统计:邮件数统计(待发送+已发送+已取消 总数)")
     private Integer emailCountStats;
 
+    @ApiModelProperty(value = "统计:已发邮件占比(已发/总,不含删除,0~1)")
+    private Double sentRate;
+
     @ApiModelProperty(value = "统计:已发送客户数(去重 customer_id, status=1)")
     private Integer sentCustomerCount;