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 1fc83f5cc..a0d7393af 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 @@ -132,7 +132,8 @@ public class BdInfoAdminService { beginTime = DateUtil.offsetDay(DateUtil.beginOfDay(endTime), -7); } Map guildDiamondOrGoldMap; - if (PartitionEnum.ENGLISH.getId() == partitionId) { + PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(partitionId); + if (Constant.ClanMode.FAMILY.equals(partitionEnum.getClanMode())) { guildDiamondOrGoldMap = familyGiftRecordService.mapByFamilyId(DateUtil.formatDateTime(beginTime), DateUtil.formatDateTime(endTime), guildIdList) .entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().doubleValue())); } else { 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 99a4ea659..737b867ed 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 @@ -1,8 +1,11 @@ package com.accompany.business.mybatismapper.family; import com.accompany.business.model.family.FamilyMemberSerial; +import com.accompany.business.vo.guild.GuildInfoVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; + import java.math.BigDecimal; import java.util.Date; @@ -16,4 +19,12 @@ public interface FamilyMemberSerialMapper extends BaseMapper @Param("serialValue") BigDecimal serialValue, @Param("time") Date time); + BigDecimal totalBdFamilyGoldNum(@Param("startDate")String startDate, @Param("endDate")String endDate, @Param("bdId")Long bdId); + + Long totalBdFamilyCount(@Param("startDate")String startDate, @Param("endDate")String endDate, @Param("bdId")Long bdId); + + IPage listBdFamilyGoldNum(@Param("ipage") IPage ipage, @Param("startDate")String startDate, @Param("endDate")String endDate, + @Param("bdId")Long bdId); + + IPage listBdFamilyInfo(@Param("ipage") IPage ipage, @Param("bdId")Long bdId, @Param("seq") Integer seq); } \ No newline at end of file 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 529448590..a8aa854ee 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 @@ -3,8 +3,11 @@ package com.accompany.business.service.family; import com.accompany.business.model.family.FamilyMember; import com.accompany.business.model.family.FamilyMemberSerial; 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.springframework.stereotype.Service; + import java.math.BigDecimal; import java.util.Date; @@ -18,4 +21,20 @@ public class FamilyMemberSerialService extends ServiceImpl listBdFamilyGoldNum(IPage page, String statDate, String endDate, Long bdId) { + return baseMapper.listBdFamilyGoldNum(page,statDate, endDate, bdId); + } + + public BigDecimal totalBdFamilyGoldNum(String statDate, String endDate, Long bdId){ + return baseMapper.totalBdFamilyGoldNum(statDate, endDate, bdId); + } + + public Long totalBdFamilyCount(String statDate, String endDate, Long bdId){ + return baseMapper.totalBdFamilyCount(statDate, endDate, bdId); + } + + public IPage listBdFamilyInfo(IPage page, Long bdId, Integer orderBy){ + return baseMapper.listBdFamilyInfo(page, bdId, orderBy); + } + } \ No newline at end of file diff --git a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guild/BdGuildCenterService.java b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guild/BdGuildCenterService.java index ae39724b3..dcb918050 100644 --- a/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guild/BdGuildCenterService.java +++ b/accompany-business/accompany-business-service/src/main/java/com/accompany/business/service/guild/BdGuildCenterService.java @@ -3,11 +3,11 @@ package com.accompany.business.service.guild; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.accompany.business.model.guild.BdInfo; -import com.accompany.business.model.guild.Guild; -import com.accompany.business.service.family.FamilyGiftRecordService; +import com.accompany.business.service.family.FamilyMemberSerialService; import com.accompany.business.service.user.UsersService; import com.accompany.business.vo.guild.BdGuildCenterVo; import com.accompany.business.vo.guild.GuildInfoVo; +import com.accompany.common.constant.Constant; import com.accompany.common.result.BusiResult; import com.accompany.common.status.BusiStatus; import com.accompany.common.utils.DateTimeUtil; @@ -19,7 +19,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.web.bind.annotation.RequestHeader; import java.math.BigDecimal; import java.util.Date; @@ -27,7 +26,6 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import static com.accompany.common.constant.ApplicationConstant.PublicParameters.PUB_UID; import static java.util.Collections.EMPTY_LIST; @Service @@ -41,7 +39,7 @@ public class BdGuildCenterService { @Autowired private GuildDiamondStatisticsDayService guildDiamondStatisticsDayService; @Autowired - private FamilyGiftRecordService familyGiftRecordService; + private FamilyMemberSerialService familyMemberSerialService; public BusiResult center(Long uid, String startDate, String endDate, Integer pageNo, Integer pageSize) { @@ -65,14 +63,13 @@ public class BdGuildCenterService { IPage guildInfoVoIPage; IPage page = new Page<>(pageNo, pageSize, false); - if (PartitionEnum.ENGLISH.getId() == partitionId) { - Date beginTime = DateUtil.parseDate(startDate); - Date endTime = DateUtil.endOfDay(DateUtil.parseDate(endDate)); - BigDecimal totalDiamonds = familyGiftRecordService.totalBdFamilyGoldNum(beginTime, endTime, bdId); + PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(partitionId); + if (Constant.ClanMode.FAMILY.equals(partitionEnum.getClanMode())) { + BigDecimal totalDiamonds = familyMemberSerialService.totalBdFamilyGoldNum(startDate, endDate, bdId); bdGuildCenterVo.setDiamondNum(totalDiamonds); - Long guildCount = familyGiftRecordService.totalBdFamilyCount(beginTime, endTime, bdId); + Long guildCount = familyMemberSerialService.totalBdFamilyCount(startDate, endDate, bdId); bdGuildCenterVo.setGuildNum(guildCount); - guildInfoVoIPage = familyGiftRecordService.listBdFamilyGoldNum(page, beginTime, endTime, bdId); + guildInfoVoIPage = familyMemberSerialService.listBdFamilyGoldNum(page, startDate, endDate, bdId); } else { BigDecimal totalDiamonds = guildDiamondStatisticsDayService.totalBdGuildDiamondNum(startDate, endDate, bdId); bdGuildCenterVo.setDiamondNum(totalDiamonds); @@ -85,7 +82,6 @@ public class BdGuildCenterService { if (CollectionUtils.isNotEmpty(records)) { List ownerUids = records.stream().filter(x -> x.getOwnerUid()!=null).map(GuildInfoVo::getOwnerUid).collect(Collectors.toList()); Map usersMapByUids = usersService.getUsersMapByUids(ownerUids); - PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(partitionId); for (GuildInfoVo record : records) { if (record.getCreateTime() != null) { record.setCreateTimeStr(DateTimeUtil.convertWithZoneId(record.getCreateTime(), partitionEnum.getZoneId()) @@ -113,7 +109,7 @@ public class BdGuildCenterService { Integer partitionId = users.getPartitionId(); IPage page = new Page<>(pageNo, pageSize, false); if (PartitionEnum.ENGLISH.getId() == partitionId) { - page = familyGiftRecordService.listBdFamilyInfo(page, bdInfo.getId(), orderBy); + page = familyMemberSerialService.listBdFamilyInfo(page, bdInfo.getId(), orderBy); } else { page = guildDiamondStatisticsDayService.listBdGuildInfo(page, bdInfo.getId(), orderBy); } diff --git a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyGiftRecordMapper.xml b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyGiftRecordMapper.xml index c3b885ffb..ce52cebb8 100644 --- a/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyGiftRecordMapper.xml +++ b/accompany-business/accompany-business-service/src/main/resources/accompany/sqlmappers/FamilyGiftRecordMapper.xml @@ -172,7 +172,7 @@ and `date` >= #{startTime} - and `date <= #{endTime} + and `date` <= #{endTime} group by family_member_id) fg ON fg.family_member_id = gm.id 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 11d783362..1a06f3d49 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 @@ -9,5 +9,67 @@ serial_value = serial_value + #{serialValue}, update_time = #{time} - + + + + + + + + \ No newline at end of file