From 61a8a1b57718b83b6f8ac09e817fabf09e96fdc0 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 19 May 2025 18:01:56 +0800
Subject: [PATCH] fix(member): 修正会员累计订单统计
---
src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java
index 024498c..0a6e6bc 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiSaleServiceImpl.java
@@ -36,6 +36,7 @@
private final HappyMemberLevelMapper happyMemberLevelMapper;
private final MallAchieveRecordMapper mallAchieveRecordMapper;
private final MallMemberWalletMapper mallMemberWalletMapper;
+ private final MallMemberMapper mallMemberMapper;
@Override
public FebsResponse saleInfo() {
ApiSaleInfoVo apiSaleInfoVo = new ApiSaleInfoVo();
@@ -153,6 +154,13 @@
new LambdaQueryWrapper<HappySaleLevel>()
.orderByAsc(HappySaleLevel::getCode)
);
+
+ List<MallMember> directMembers = mallMemberMapper.selectByRefererId(mallMember.getInviteId());
+ List<MallMember> teamMembers = mallMemberMapper.selectAllChildAgentListByInviteId(mallMember.getInviteId());
+ List<MallAchieveRecord> mallAchieveRecords = mallAchieveRecordMapper.selectList(
+ new LambdaQueryWrapper<MallAchieveRecord>()
+ .eq(MallAchieveRecord::getMemberId, memberId)
+ );
if (CollUtil.isNotEmpty(happySaleLevels)) {
happySaleLevels.forEach(happySaleLevel -> {
ApiLevelListInfoVo apiLevelListInfoVo = new ApiLevelListInfoVo();
@@ -161,6 +169,15 @@
apiLevelListInfoVo.setCode(happySaleLevel.getCode());
apiLevelListInfoVo.setContent(happySaleLevel.getContent());
apiLevelListInfoVo.setHeaderPng(happySaleLevel.getIconPng());
+ apiLevelListInfoVo.setTeamCnt(happySaleLevel.getTeamCnt());
+ apiLevelListInfoVo.setTeamCntNow(CollUtil.isNotEmpty(teamMembers) ? teamMembers.size() : 0);
+ apiLevelListInfoVo.setDirectCnt(happySaleLevel.getDirectCnt());
+ apiLevelListInfoVo.setDirectCntNow(CollUtil.isNotEmpty(directMembers) ? directMembers.size() : 0);
+ apiLevelListInfoVo.setTeamAmount(happySaleLevel.getTeamAmount());
+ apiLevelListInfoVo.setTeamAmountNow(
+ CollUtil.isNotEmpty(mallAchieveRecords)
+ ? mallAchieveRecords.stream().map(MallAchieveRecord::getCostAmount).reduce(BigDecimal.ZERO, BigDecimal::add)
+ : BigDecimal.ZERO);
apiLevelListInfoVos.add(apiLevelListInfoVo);
});
}
--
Gitblit v1.9.1