From 2ee5c334e293ed2f427bcfbb3d9c8c229399593d Mon Sep 17 00:00:00 2001 From: hokli <2629910752@qq.com> Date: Wed, 20 Aug 2025 15:40:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E4=BC=9A=E5=91=A8=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B4=9F=E8=B4=A3=E4=BA=BAnull?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit b43380bbf7d4fb79a48f2173a6c6f67ddae2894e) --- .../admin/service/api/MyApiService.java | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/api/MyApiService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/api/MyApiService.java index 67e9659fb..2062d9e48 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/api/MyApiService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/api/MyApiService.java @@ -792,36 +792,36 @@ public class MyApiService { List 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 guildIds = en2ActiveGuildStatList.stream().map(WeekActiveGuildStat::getGuildId).collect(Collectors.toList()); List 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)); }