后台统计-统计-兼容region为空的旧版本用户数据

This commit is contained in:
khalil
2025-02-14 15:32:11 +08:00
parent 25a95a1ce3
commit 9b713decd2
3 changed files with 10 additions and 7 deletions

View File

@@ -77,6 +77,7 @@ public class DauStatService {
}
Map<Integer, String> regionInfoMap = regionInfoService.getAllList().stream().collect(Collectors.toMap(RegionInfo::getId, RegionInfoVo::getRegionDesc));
regionInfoMap.put(0, "");
DailyActiveUserStat stat = new DailyActiveUserStat();
stat.setDate(yesterday);
@@ -107,7 +108,7 @@ public class DauStatService {
private List<DailyActiveUserStatDto> partitionRegionStat(List<DailyActiveUserRecord> recordList, Integer partitionId, Map<Integer, String> regionInfoMap){
return recordList.stream()
.filter(record -> null == partitionId || partitionId.equals(record.getPartitionId()))
.collect(Collectors.groupingBy(DailyActiveUserRecord::getRegionId, Collectors.counting())).entrySet()
.collect(Collectors.groupingBy(r->null != r.getRegionId()? r.getRegionId() : 0, Collectors.counting())).entrySet()
.stream().map(entry -> {
DailyActiveUserStatDto dto = new DailyActiveUserStatDto();
dto.setRegionId(entry.getKey());
@@ -116,5 +117,4 @@ public class DauStatService {
return dto;
}).collect(Collectors.toList());
}
}

View File

@@ -46,6 +46,7 @@ public class DnuStatService {
BigDecimal.valueOf(newUserCount).divide(BigDecimal.valueOf(newAccountCount), 2, RoundingMode.HALF_UP);
Map<Integer, String> regionInfoMap = regionInfoService.getAllList().stream().collect(Collectors.toMap(RegionInfo::getId, RegionInfoVo::getRegionDesc));
regionInfoMap.put(0, "");
DailyNewUserStat stat = new DailyNewUserStat();
stat.setDate(yesterday);
@@ -77,7 +78,12 @@ public class DnuStatService {
private List<DailyNewUserStatDto> partitionRegionStat(List<DailyNewUserStatDto> recordList, Integer partitionId, Map<Integer, String> regionInfoMap){
return recordList.stream()
.filter(record -> partitionId.equals(record.getPartitionId()))
.peek(record -> record.setRegionDesc(regionInfoMap.get(record.getRegionId())))
.peek(record -> {
if (null == record.getRegionId()){
record.setRegionId(0);
}
record.setRegionDesc(regionInfoMap.get(record.getRegionId()));
})
.collect(Collectors.toList());
}

View File

@@ -1,10 +1,8 @@
package com.accompany.scheduler.task;
import com.accompany.business.service.DauStatService;
import com.accompany.business.service.DiamondStatService;
import com.accompany.business.service.DnuStatService;
import com.accompany.common.utils.DateTimeUtil;
import com.accompany.core.enumeration.PartitionEnum;
import com.accompany.scheduler.base.BaseTask;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -12,11 +10,10 @@ import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
@Component
@Slf4j
public class DailyActiveUserStatTask extends BaseTask {
public class UserStatTask extends BaseTask {
@Autowired
private DauStatService dauService;