公会周统计添加负责人null
This commit is contained in:
@@ -789,36 +789,36 @@ public class MyApiService {
|
||||
|
||||
List<WeekActiveGuildStat> en2ActiveGuildStatList = JSON.parseArray(stat.getEn2ActiveCountDetail(), WeekActiveGuildStat.class);
|
||||
operatorNameMap = guildOperatorService.operatorNameMap(PartitionEnum.ENGLISH2.getId());
|
||||
guildMap = new HashMap<>();
|
||||
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(en2ActiveGuildStatList)) {
|
||||
guildMap = new HashMap<>();
|
||||
List<Integer> guildIds = en2ActiveGuildStatList.stream().map(WeekActiveGuildStat::getGuildId).collect(Collectors.toList());
|
||||
List<Guild> guildList = guildService.listByIds(guildIds);
|
||||
guildMap = guildList.stream().collect(Collectors.toMap(Guild::getId, guild->guild));
|
||||
}
|
||||
for (WeekActiveGuildStat activeGuildStat : en2ActiveGuildStatList){
|
||||
Guild guild = guildMap.get(activeGuildStat.getGuildId());
|
||||
if (guild != null && guild.getOperatorId() != null) {
|
||||
activeGuildStat.setOperatorId(guild.getOperatorId());
|
||||
activeGuildStat.setOperatorName(operatorNameMap.get(guild.getOperatorId()));
|
||||
for (WeekActiveGuildStat activeGuildStat : en2ActiveGuildStatList){
|
||||
Guild guild = guildMap.get(activeGuildStat.getGuildId());
|
||||
if (guild != null && guild.getOperatorId() != null) {
|
||||
activeGuildStat.setOperatorId(guild.getOperatorId());
|
||||
activeGuildStat.setOperatorName(operatorNameMap.get(guild.getOperatorId()));
|
||||
}
|
||||
String lastWeek = DateTimeUtil.convertDate(DateTimeUtil.addDays(DateTimeUtil.convertStrToDate(activeGuildStat.getDate(), DateTimeUtil.DEFAULT_DATE_PATTERN), -7));
|
||||
String lastWeekGroupByKey = String.join("_", lastWeek, activeGuildStat.getPartitionId().toString(), activeGuildStat.getGuildId().toString());
|
||||
WeekActiveGuildStat lastWeekStat = lastWeekActiveGuildStatMap.get(lastWeekGroupByKey);
|
||||
if (null == lastWeekStat){
|
||||
continue;
|
||||
}
|
||||
activeGuildStat.setLastGuildDiamondFlow(lastWeekStat.getGuildDiamondFlow());
|
||||
activeGuildStat.setLastGuildGoldFlow(lastWeekStat.getGuildGoldFlow());
|
||||
|
||||
BigDecimal guildDiamondFlowWow = lastWeekStat.getGuildDiamondFlow().compareTo(BigDecimal.ZERO) > 0 ?
|
||||
(activeGuildStat.getGuildDiamondFlow().subtract(lastWeekStat.getGuildDiamondFlow())).divide(lastWeekStat.getGuildDiamondFlow(), 2, RoundingMode.HALF_UP): BigDecimal.ONE;
|
||||
activeGuildStat.setGuildDiamondFlowWow(guildDiamondFlowWow);
|
||||
|
||||
BigDecimal guildGoldFlowWow = lastWeekStat.getGuildGoldFlow().compareTo(BigDecimal.ZERO) > 0 ?
|
||||
(activeGuildStat.getGuildGoldFlow().subtract(lastWeekStat.getGuildGoldFlow())).divide(lastWeekStat.getGuildGoldFlow(), 2, RoundingMode.HALF_UP): BigDecimal.ONE;
|
||||
activeGuildStat.setGuildGoldFlowWow(guildGoldFlowWow);
|
||||
|
||||
log.info("[refreshWeekGuildStat] today {} last {}", JSON.toJSONString(stat), JSON.toJSONString(lastWeekStat));
|
||||
}
|
||||
String lastWeek = DateTimeUtil.convertDate(DateTimeUtil.addDays(DateTimeUtil.convertStrToDate(activeGuildStat.getDate(), DateTimeUtil.DEFAULT_DATE_PATTERN), -7));
|
||||
String lastWeekGroupByKey = String.join("_", lastWeek, activeGuildStat.getPartitionId().toString(), activeGuildStat.getGuildId().toString());
|
||||
WeekActiveGuildStat lastWeekStat = lastWeekActiveGuildStatMap.get(lastWeekGroupByKey);
|
||||
if (null == lastWeekStat){
|
||||
continue;
|
||||
}
|
||||
activeGuildStat.setLastGuildDiamondFlow(lastWeekStat.getGuildDiamondFlow());
|
||||
activeGuildStat.setLastGuildGoldFlow(lastWeekStat.getGuildGoldFlow());
|
||||
|
||||
BigDecimal guildDiamondFlowWow = lastWeekStat.getGuildDiamondFlow().compareTo(BigDecimal.ZERO) > 0 ?
|
||||
(activeGuildStat.getGuildDiamondFlow().subtract(lastWeekStat.getGuildDiamondFlow())).divide(lastWeekStat.getGuildDiamondFlow(), 2, RoundingMode.HALF_UP): BigDecimal.ONE;
|
||||
activeGuildStat.setGuildDiamondFlowWow(guildDiamondFlowWow);
|
||||
|
||||
BigDecimal guildGoldFlowWow = lastWeekStat.getGuildGoldFlow().compareTo(BigDecimal.ZERO) > 0 ?
|
||||
(activeGuildStat.getGuildGoldFlow().subtract(lastWeekStat.getGuildGoldFlow())).divide(lastWeekStat.getGuildGoldFlow(), 2, RoundingMode.HALF_UP): BigDecimal.ONE;
|
||||
activeGuildStat.setGuildGoldFlowWow(guildGoldFlowWow);
|
||||
|
||||
log.info("[refreshWeekGuildStat] today {} last {}", JSON.toJSONString(stat), JSON.toJSONString(lastWeekStat));
|
||||
}
|
||||
stat.setEn2ActiveCountDetail(JSON.toJSONString(en2ActiveGuildStatList));
|
||||
}
|
||||
|
Reference in New Issue
Block a user