|
|
@@ -222,10 +222,13 @@ public class AdServiceImpl implements AdService {
|
|
|
//今日ecpm
|
|
|
List<AgentNetworkEcpmGroupVO> networkEcpmGroups = vo.getNetworkEcpmGroups();
|
|
|
if(CollUtil.isNotEmpty(networkEcpmGroups)){
|
|
|
- Map<String, BigDecimal> ecpmMap = networkEcpmGroups.stream().collect(
|
|
|
- Collectors.toMap(AgentNetworkEcpmGroupVO::getHour, AgentNetworkEcpmGroupVO::getEcpm));
|
|
|
+ Map<String, BigDecimal> ecpmMap = networkEcpmGroups.stream().collect(Collectors.toMap(AgentNetworkEcpmGroupVO::getHour, AgentNetworkEcpmGroupVO::getEcpm));
|
|
|
+ Map<String, AgentNetworkEcpmGroupVO> hourMap = networkEcpmGroups.stream().collect(
|
|
|
+ Collectors.toMap(AgentNetworkEcpmGroupVO::getHour, o->o));
|
|
|
+ //统计每个小时的计数加起来为全天总次数
|
|
|
vo.setTodayHourEcpmMap(ecpmMap);
|
|
|
- int count = ecpmMap.values().size();
|
|
|
+ int count = hourMap.values().stream().mapToInt(AgentNetworkEcpmGroupVO::getCount).sum();
|
|
|
+ //分小时总值求和得到全天总值, 全天总值÷全天次数 得平均值
|
|
|
vo.setTodayEcpm(ecpmMap.values().stream().reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(count), 2, BigDecimal.ROUND_HALF_UP));
|
|
|
}
|
|
|
vo.setYesterdayEcpm(adRecordMapper.getNetworkEcpmByType(appIds,2,vo.getNetowrkId()));
|