独联体-BD中心数据

This commit is contained in:
2025-09-29 14:03:17 +08:00
parent e66803cdaf
commit 68ea614405
4 changed files with 71 additions and 3 deletions

View File

@@ -1,10 +1,12 @@
package com.accompany.business.mybatismapper.guildsoviet;
import com.accompany.business.model.guildsoviet.GuildExtraDiamondDay;
import com.accompany.business.vo.guild.GuildInfoVo;
import com.accompany.business.vo.guildsoviet.GuildMemberSovietAdminVo;
import com.accompany.business.vo.guildsoviet.GuildSovietAdminVo;
import com.accompany.business.vo.guildsoviet.GuildSovietMemberVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
@@ -46,4 +48,11 @@ public interface GuildExtraDiamondDayMapper extends BaseMapper<GuildExtraDiamond
Page<GuildMemberSovietAdminVo> pageGuildMemberSovietAdminVo(@Param("page") Page<GuildSovietAdminVo> page, @Param("guildIdSet") Set<Integer> guildIdSet, @Param("partitionId") Integer partitionId,
@Param("uid") Long uid, @Param("regionId") Integer regionId, @Param("enable") Byte enable,
@Param("startDate") String startDate, @Param("endDate") String endDate);
BigDecimal totalBdGuildDiamondNum(@Param("startDate")String startDate, @Param("endDate")String endDate, @Param("bdId")Long bdId);
Long totalBdGuildCount(@Param("startDate")String startDate, @Param("endDate")String endDate, @Param("bdId")Long bdId);
IPage<GuildInfoVo> listBdGuildDiamondNum(@Param("ipage") IPage<GuildInfoVo> ipage, @Param("startDate")String startDate, @Param("endDate")String endDate,
@Param("bdId")Long bdId);
}

View File

@@ -3,8 +3,8 @@ 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.guildsoviet.GuildExtraDiamondDayService;
import com.accompany.business.service.user.UsersService;
import com.accompany.business.vo.guild.BdGuildCenterVo;
import com.accompany.business.vo.guild.GuildInfoVo;
@@ -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,6 +39,8 @@ public class BdGuildCenterService {
@Autowired
private GuildDiamondStatisticsDayService guildDiamondStatisticsDayService;
@Autowired
private GuildExtraDiamondDayService guildExtraDiamondDayService;
@Autowired
private FamilyGiftRecordService familyGiftRecordService;
@@ -73,6 +73,12 @@ public class BdGuildCenterService {
Long guildCount = familyGiftRecordService.totalBdFamilyCount(beginTime, endTime, bdId);
bdGuildCenterVo.setGuildNum(guildCount);
guildInfoVoIPage = familyGiftRecordService.listBdFamilyGoldNum(page, beginTime, endTime, bdId);
} else if (PartitionEnum.SOVIET.getId() == partitionId) {
BigDecimal totalDiamonds = guildExtraDiamondDayService.totalBdGuildDiamondNum(startDate, endDate, bdId);
bdGuildCenterVo.setDiamondNum(totalDiamonds);
Long guildCount = guildExtraDiamondDayService.totalBdGuildCount(startDate, endDate, bdId);
bdGuildCenterVo.setGuildNum(guildCount);
guildInfoVoIPage = guildExtraDiamondDayService.listBdGuildDiamondNum(page, startDate, endDate, bdId);
} else {
BigDecimal totalDiamonds = guildDiamondStatisticsDayService.totalBdGuildDiamondNum(startDate, endDate, bdId);
bdGuildCenterVo.setDiamondNum(totalDiamonds);

View File

@@ -2,10 +2,12 @@ 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.GuildInfoVo;
import com.accompany.business.vo.guildsoviet.GuildMemberSovietAdminVo;
import com.accompany.business.vo.guildsoviet.GuildSovietAdminVo;
import com.accompany.business.vo.guildsoviet.GuildSovietMemberVo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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;
@@ -79,4 +81,16 @@ public class GuildExtraDiamondDayService extends ServiceImpl<GuildExtraDiamondDa
Integer regionId, Byte enable, String beginDate, String endDate) {
return baseMapper.pageGuildMemberSovietAdminVo(page, guildIdSet, partitionId, uid, regionId, enable, beginDate, endDate);
}
public IPage<GuildInfoVo> listBdGuildDiamondNum(IPage<GuildInfoVo> page, String statDate, String endDate, Long bdId) {
return baseMapper.listBdGuildDiamondNum(page, statDate, endDate, bdId);
}
public BigDecimal totalBdGuildDiamondNum(String statDate, String endDate, Long bdId) {
return baseMapper.totalBdGuildDiamondNum(statDate, endDate, bdId);
}
public Long totalBdGuildCount(String statDate, String endDate, Long bdId) {
return baseMapper.totalBdGuildCount(statDate, endDate, bdId);
}
}

View File

@@ -170,4 +170,43 @@
group by ge.partition_id,ge.stat_date, ge.guild_member_id
order by statDate desc
</select>
<select id="totalBdGuildDiamondNum" resultType="java.math.BigDecimal">
SELECT
ifnull(sum(gd.diamond_num + gd.lucky_diamond_num),0)
FROM
bd_guild b
LEFT JOIN guild g ON b.guild_id = g.id
left join guild_member gm on b.guild_id = gm.guild_id
left join guild_extra_diamond_day gd on gd.guild_member_id = gm.id and gd.stat_date &gt;=#{startDate} and gd.stat_date &lt;=#{endDate}
where gm.`enable` = 1 and b.partition_id != 1 and b.bd_id = #{bdId} and b.`status` = 1
</select>
<select id="totalBdGuildCount" resultType="java.lang.Long">
SELECT
COUNT(DISTINCT b.guild_id)
FROM
bd_guild b
LEFT JOIN guild g ON b.guild_id = g.id
left join guild_member gm on b.guild_id = gm.guild_id
left join guild_extra_diamond_day gd on gd.guild_member_id = gm.id and gd.stat_date &gt;=#{startDate} and gd.stat_date &lt;=#{endDate}
where gm.`enable` = 1 and b.partition_id != 1 and b.bd_id = #{bdId} and b.`status` = 1 AND IFNULL(gd.diamond_num, 0) > 0
</select>
<select id="listBdGuildDiamondNum" resultType="com.accompany.business.vo.guild.GuildInfoVo">
SELECT
b.guild_id guildId,
g.create_time createTime,
g.avatar avatar,
g.`name` guildName,
g.owner_uid ownerUid,
ifnull(sum(gd.diamond_num + gd.lucky_diamond_num), 0) diamondNum
FROM
bd_guild b
LEFT JOIN guild g ON b.guild_id = g.id
left join guild_member gm on b.guild_id = gm.guild_id
left join guild_extra_diamond_day gd on gd.guild_member_id = gm.id and gd.stat_date &gt;=#{startDate} and gd.stat_date &lt;=#{endDate}
where gm.`enable` = 1 and b.partition_id != 1 and b.bd_id = #{bdId} and b.`status` = 1
group by b.guild_id
</select>
</mapper>