|
@@ -158,7 +158,7 @@ public class MarketingCampaignServiceImpl
|
|
|
vo.setCancelledEmailCount(cancelled);
|
|
vo.setCancelledEmailCount(cancelled);
|
|
|
vo.setEmailCountStats(pending + sent + cancelled);
|
|
vo.setEmailCountStats(pending + sent + cancelled);
|
|
|
int totalEmail = toInt(totalEmailMap.get(id));
|
|
int totalEmail = toInt(totalEmailMap.get(id));
|
|
|
- vo.setSentRate(totalEmail > 0 ? (double) sent / totalEmail : 0.0);
|
|
|
|
|
|
|
+ vo.setSentRate(totalEmail > 0 ? (double) vo.getOpenedCustomerCount() / totalEmail : 0.0);
|
|
|
int sentCustomer = toInt(sentCustomerMap.get(id));
|
|
int sentCustomer = toInt(sentCustomerMap.get(id));
|
|
|
vo.setSentCustomerCount(sentCustomer);
|
|
vo.setSentCustomerCount(sentCustomer);
|
|
|
vo.setOpenRateText(buildRate(toInt(openedMap.get(id)), sentCustomer));
|
|
vo.setOpenRateText(buildRate(toInt(openedMap.get(id)), sentCustomer));
|
|
@@ -317,8 +317,8 @@ public class MarketingCampaignServiceImpl
|
|
|
stats.setOpenRate(sentCount > 0 ? Math.round(openCount * 100f / sentCount) : 0);
|
|
stats.setOpenRate(sentCount > 0 ? Math.round(openCount * 100f / sentCount) : 0);
|
|
|
// 回复率 = replyCount / sentCount
|
|
// 回复率 = replyCount / sentCount
|
|
|
stats.setReplyRate(sentCount > 0 ? Math.round(replyCount * 100f / sentCount) : 0);
|
|
stats.setReplyRate(sentCount > 0 ? Math.round(replyCount * 100f / sentCount) : 0);
|
|
|
- // 达成率 = sentCount / emailCount
|
|
|
|
|
- stats.setAchievementRate(sentCount > 0 ? Math.round(sentCount * 100f / emailCount) : 0);
|
|
|
|
|
|
|
+ // 达成率 = openCountLong / emailCount
|
|
|
|
|
+ stats.setAchievementRate(openCountLong > 0 ? Math.round(openCountLong * 100f / emailCount) : 0);
|
|
|
|
|
|
|
|
detailVO.setStats(stats);
|
|
detailVO.setStats(stats);
|
|
|
|
|
|