From 9e0f5e97524cbab993df2b8ddda32c1eb7e243a7 Mon Sep 17 00:00:00 2001 From: hokli <2629910752@qq.com> Date: Tue, 14 Oct 2025 17:07:29 +0800 Subject: [PATCH] BD-data --- .../service/guild/BdInfoAdminService.java | 8 ++++---- .../family/FamilyMemberSerialMapper.java | 6 +++++- .../family/FamilyMemberSerialService.java | 14 +++++++++++++- .../sqlmappers/FamilyMemberSerialMapper.xml | 19 +++++++++++++++++-- 4 files changed, 39 insertions(+), 8 deletions(-) diff --git a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/guild/BdInfoAdminService.java b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/guild/BdInfoAdminService.java index a0d7393af..d6a97317e 100644 --- a/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/guild/BdInfoAdminService.java +++ b/accompany-admin/accompany-admin-service/src/main/java/com/accompany/admin/service/guild/BdInfoAdminService.java @@ -9,7 +9,7 @@ import com.accompany.business.model.guild.BdGuild; import com.accompany.business.model.guild.BdInfo; import com.accompany.business.model.guild.Guild; import com.accompany.business.param.BdInfoAdminVO; -import com.accompany.business.service.family.FamilyGiftRecordService; +import com.accompany.business.service.family.FamilyMemberSerialService; import com.accompany.business.service.guild.BdGuildService; import com.accompany.business.service.guild.BdInfoService; import com.accompany.business.service.guild.GuildDiamondStatisticsDayService; @@ -55,7 +55,7 @@ public class BdInfoAdminService { @Autowired private GuildDiamondStatisticsDayService guildDiamondStatisticsDayService; @Autowired - private FamilyGiftRecordService familyGiftRecordService; + private FamilyMemberSerialService familyMemberSerialService; public final int BOUND_EXPIRE_LIMIT_DAY = 7; @@ -134,7 +134,7 @@ public class BdInfoAdminService { Map guildDiamondOrGoldMap; PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(partitionId); if (Constant.ClanMode.FAMILY.equals(partitionEnum.getClanMode())) { - guildDiamondOrGoldMap = familyGiftRecordService.mapByFamilyId(DateUtil.formatDateTime(beginTime), DateUtil.formatDateTime(endTime), guildIdList) + guildDiamondOrGoldMap = familyMemberSerialService.mapByFamilyId(DateUtil.formatDateTime(beginTime), DateUtil.formatDateTime(endTime), guildIdList) .entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().doubleValue())); } else { guildDiamondOrGoldMap = guildDiamondStatisticsDayService.mapByStatDate(DateUtil.formatDate(beginTime), DateUtil.formatDate(endTime), partitionId, guildIdList); @@ -351,7 +351,7 @@ public class BdInfoAdminService { List records = guilds.getRecords(); if (records != null) { List familyIds = records.stream().map(x -> x.getGuildId().intValue()).collect(Collectors.toList()); - Map guildDiamondMap = familyGiftRecordService.mapByFamilyId(DateUtil.formatDateTime(beginTime), DateUtil.formatDateTime(endTime), familyIds) + Map guildDiamondMap = familyMemberSerialService.mapByFamilyId(DateUtil.formatDateTime(beginTime), DateUtil.formatDateTime(endTime), familyIds) .entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, x -> x.getValue().doubleValue())); for (GuildInfoVo record : records) { record.setGoldNum(BigDecimal.valueOf(guildDiamondMap.getOrDefault(record.getGuildId(), 0D))); diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberSerialMapper.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberSerialMapper.java index 737b867ed..76a3084b1 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberSerialMapper.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/family/FamilyMemberSerialMapper.java @@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param; import java.math.BigDecimal; import java.util.Date; +import java.util.List; public interface FamilyMemberSerialMapper extends BaseMapper { @@ -27,4 +28,7 @@ public interface FamilyMemberSerialMapper extends BaseMapper @Param("bdId")Long bdId); IPage listBdFamilyInfo(@Param("ipage") IPage ipage, @Param("bdId")Long bdId, @Param("seq") Integer seq); -} \ No newline at end of file + + List listTotalGoldGroupByFamily(@Param("startDate") String startDate, @Param("endDate") String endDate, + @Param("familyIdList") List familyIdList); +} diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberSerialService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberSerialService.java index a8aa854ee..cf4d2da1d 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberSerialService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/family/FamilyMemberSerialService.java @@ -6,10 +6,15 @@ import com.accompany.business.mybatismapper.family.FamilyMemberSerialMapper; import com.accompany.business.vo.guild.GuildInfoVo; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.collections.CollectionUtils; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service public class FamilyMemberSerialService extends ServiceImpl { @@ -37,4 +42,11 @@ public class FamilyMemberSerialService extends ServiceImpl mapByFamilyId(String startDate, String endDate, List familyIds) { + List familyGiftRecords = baseMapper.listTotalGoldGroupByFamily(startDate, endDate, familyIds); + if (CollectionUtils.isEmpty(familyGiftRecords)) { + return new HashMap<>(); + } + return familyGiftRecords.stream().collect(Collectors.toMap(FamilyMemberSerial::getFamilyId, x -> x.getSerialValue())); + } +} diff --git a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberSerialMapper.xml b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberSerialMapper.xml index 1a06f3d49..4ee073af1 100644 --- a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberSerialMapper.xml +++ b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyMemberSerialMapper.xml @@ -19,7 +19,7 @@ left join family_member fm on f.id = fm.family_id and fm.`enable` = 1 left join family_member_serial fgr on fgr.family_id = fm.family_id and fm.uid = fgr.uid and fgr.`date` >=#{startDate} and fgr.`date` <=#{endDate} - where f.`enable` = 1 and b.partition_id = 1 and b.bd_id = #{bdId} and b.`status` = 1 + where f.`enable` = 1 and b.bd_id = #{bdId} and b.`status` = 1 + \ No newline at end of file