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 93cd4389b..fca445e34 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 @@ -13,6 +13,7 @@ import com.accompany.business.service.family.FamilyGiftRecordService; import com.accompany.business.service.guild.BdGuildService; import com.accompany.business.service.guild.BdInfoService; import com.accompany.business.service.guild.GuildDiamondStatisticsDayService; +import com.accompany.business.service.guildsoviet.GuildExtraDiamondDayService; import com.accompany.business.service.invite.UserInviteFissionRecordService; import com.accompany.business.service.user.UsersService; import com.accompany.business.vo.guild.GuildInfoVo; @@ -56,6 +57,8 @@ public class BdInfoAdminService { private GuildDiamondStatisticsDayService guildDiamondStatisticsDayService; @Autowired private FamilyGiftRecordService familyGiftRecordService; + @Autowired + private GuildExtraDiamondDayService guildExtraDiamondDayService; public final int BOUND_EXPIRE_LIMIT_DAY = 7; @@ -134,6 +137,8 @@ public class BdInfoAdminService { Map guildDiamondOrGoldMap; if (PartitionEnum.ENGLISH.getId() == partitionId) { guildDiamondOrGoldMap = familyGiftRecordService.mapByFamilyId(DateUtil.formatDateTime(beginTime), DateUtil.formatDateTime(endTime), guildIdList); + } else if (PartitionEnum.SOVIET.getId() == partitionId) { + guildDiamondOrGoldMap = guildExtraDiamondDayService.mapByStatDate(DateUtil.formatDate(beginTime), DateUtil.formatDate(endTime), partitionId, guildIdList); } else { guildDiamondOrGoldMap = guildDiamondStatisticsDayService.mapByStatDate(DateUtil.formatDate(beginTime), DateUtil.formatDate(endTime), partitionId, guildIdList); } @@ -355,6 +360,16 @@ public class BdInfoAdminService { record.setGoldNum(BigDecimal.valueOf(guildDiamondMap.getOrDefault(record.getGuildId(), 0D))); } } + } else if (PartitionEnum.SOVIET.getId() == users.getPartitionId()) { + guilds = bdGuildService.guildsByBdId(bdId, pageNo, pageSize); + List records = guilds.getRecords(); + if (records != null) { + List guildIds = records.stream().map(x -> x.getGuildId().intValue()).collect(Collectors.toList()); + Map guildDiamondMap = guildExtraDiamondDayService.mapByStatDate(DateUtil.formatDate(beginTime), DateUtil.formatDate(endTime), partitionId, guildIds); + for (GuildInfoVo record : records) { + record.setDiamondNum(BigDecimal.valueOf(guildDiamondMap.getOrDefault(record.getGuildId(), 0D))); + } + } } else { guilds = bdGuildService.guildsByBdId(bdId, pageNo, pageSize); List records = guilds.getRecords(); diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/guildsoviet/GuildExtraDiamondDayMapper.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/guildsoviet/GuildExtraDiamondDayMapper.java index 1a2a892ac..d6aef87c9 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/guildsoviet/GuildExtraDiamondDayMapper.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/mybatismapper/guildsoviet/GuildExtraDiamondDayMapper.java @@ -1,6 +1,7 @@ package com.accompany.business.mybatismapper.guildsoviet; import com.accompany.business.model.guildsoviet.GuildExtraDiamondDay; +import com.accompany.business.vo.guild.GuildDiamondStatisticsDayVo; import com.accompany.business.vo.guild.GuildInfoVo; import com.accompany.business.vo.guildsoviet.GuildMemberSovietAdminVo; import com.accompany.business.vo.guildsoviet.GuildSovietAdminVo; @@ -55,4 +56,7 @@ public interface GuildExtraDiamondDayMapper extends BaseMapper listBdGuildDiamondNum(@Param("ipage") IPage ipage, @Param("startDate")String startDate, @Param("endDate")String endDate, @Param("bdId")Long bdId); + + List listByStatDateGuildIds(@Param("startDate")String startDate, @Param("endDate")String endDate, + @Param("guildIds") List guildIds, @Param("partitionId") Integer partitionId); } diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildsoviet/GuildExtraDiamondDayService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildsoviet/GuildExtraDiamondDayService.java index fd89223b9..559bbe90e 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildsoviet/GuildExtraDiamondDayService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guildsoviet/GuildExtraDiamondDayService.java @@ -2,6 +2,7 @@ package com.accompany.business.service.guildsoviet; import com.accompany.business.model.guildsoviet.GuildExtraDiamondDay; import com.accompany.business.mybatismapper.guildsoviet.GuildExtraDiamondDayMapper; +import com.accompany.business.vo.guild.GuildDiamondStatisticsDayVo; import com.accompany.business.vo.guild.GuildInfoVo; import com.accompany.business.vo.guildsoviet.GuildMemberSovietAdminVo; import com.accompany.business.vo.guildsoviet.GuildSovietAdminVo; @@ -11,12 +12,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.List; -import java.util.Set; +import java.util.*; +import java.util.stream.Collectors; /** * 公会钻石流水额外收入记录 服务实现类 @@ -93,4 +94,12 @@ public class GuildExtraDiamondDayService extends ServiceImpl mapByStatDate(String statDate, String endDate, int partitionId, List guildIds) { + List guildDiamondStatisticsDayVos = baseMapper.listByStatDateGuildIds(statDate, endDate, guildIds, partitionId); + if (CollectionUtils.isEmpty(guildDiamondStatisticsDayVos)) { + return new HashMap<>(); + } + return guildDiamondStatisticsDayVos.stream().collect(Collectors.toMap(GuildDiamondStatisticsDayVo::getGuildId, x -> x.getDiamondNum())); + } } diff --git a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/GuildExtraDiamondDayMapper.xml b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/GuildExtraDiamondDayMapper.xml index 17df630c9..80a01d1f5 100644 --- a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/GuildExtraDiamondDayMapper.xml +++ b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/GuildExtraDiamondDayMapper.xml @@ -209,4 +209,21 @@ where gm.`enable` = 1 and b.partition_id != 1 and b.bd_id = #{bdId} and b.`status` = 1 group by b.guild_id + +