公会周统计添加负责人null
This commit is contained in:
@@ -789,36 +789,36 @@ public class MyApiService {
|
|||||||
|
|
||||||
List<WeekActiveGuildStat> en2ActiveGuildStatList = JSON.parseArray(stat.getEn2ActiveCountDetail(), WeekActiveGuildStat.class);
|
List<WeekActiveGuildStat> en2ActiveGuildStatList = JSON.parseArray(stat.getEn2ActiveCountDetail(), WeekActiveGuildStat.class);
|
||||||
operatorNameMap = guildOperatorService.operatorNameMap(PartitionEnum.ENGLISH2.getId());
|
operatorNameMap = guildOperatorService.operatorNameMap(PartitionEnum.ENGLISH2.getId());
|
||||||
guildMap = new HashMap<>();
|
|
||||||
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(en2ActiveGuildStatList)) {
|
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(en2ActiveGuildStatList)) {
|
||||||
|
guildMap = new HashMap<>();
|
||||||
List<Integer> guildIds = en2ActiveGuildStatList.stream().map(WeekActiveGuildStat::getGuildId).collect(Collectors.toList());
|
List<Integer> guildIds = en2ActiveGuildStatList.stream().map(WeekActiveGuildStat::getGuildId).collect(Collectors.toList());
|
||||||
List<Guild> guildList = guildService.listByIds(guildIds);
|
List<Guild> guildList = guildService.listByIds(guildIds);
|
||||||
guildMap = guildList.stream().collect(Collectors.toMap(Guild::getId, guild->guild));
|
guildMap = guildList.stream().collect(Collectors.toMap(Guild::getId, guild->guild));
|
||||||
}
|
for (WeekActiveGuildStat activeGuildStat : en2ActiveGuildStatList){
|
||||||
for (WeekActiveGuildStat activeGuildStat : en2ActiveGuildStatList){
|
Guild guild = guildMap.get(activeGuildStat.getGuildId());
|
||||||
Guild guild = guildMap.get(activeGuildStat.getGuildId());
|
if (guild != null && guild.getOperatorId() != null) {
|
||||||
if (guild != null && guild.getOperatorId() != null) {
|
activeGuildStat.setOperatorId(guild.getOperatorId());
|
||||||
activeGuildStat.setOperatorId(guild.getOperatorId());
|
activeGuildStat.setOperatorName(operatorNameMap.get(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));
|
stat.setEn2ActiveCountDetail(JSON.toJSONString(en2ActiveGuildStatList));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user