From 84102b8a1e4e716ffb8041e3a20a11e9e0b2651a Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 06 Jan 2023 15:00:00 +0800
Subject: [PATCH] 20221227 充值归集
---
src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java | 2 +
src/main/resources/mapper/modules/MallMemberMapper.xml | 47 +++++++++++++----------
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java | 16 +++++++-
3 files changed, 43 insertions(+), 22 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
index b9d27a0..5631fd9 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -102,4 +102,6 @@
void updateLevelStatusById(@Param("levelStatus")int i, @Param("id")Long memberId);
IPage<MemberCoinChargeEntity> selectMemberChargeListInPage(Page<MemberCoinChargeEntity> page, @Param("record")MemberCoinChargeEntity memberCoinChargeEntity);
+
+ BigDecimal getSumAmountByMemberId(@Param("memberId")Long memberId);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 61152cf..09a2aaf 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -224,6 +224,7 @@
if(CollUtil.isNotEmpty(records)){
for(AdminAgentVo adminAgentVo : records){
String inviteId = adminAgentVo.getInviteId();
+
//直接下级
List<MallMember> mallMembers = mallMemberMapper.selectChildAgentListByInviteId(inviteId);
adminAgentVo.setMemberNum(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size());
@@ -231,6 +232,17 @@
//获取总数
List<MallMember> allMallMembers =mallMemberMapper.selectAllChildAgentListByInviteId(inviteId);
adminAgentVo.setAllMemberNum(CollUtil.isEmpty(allMallMembers) ? 0 : allMallMembers.size());
+
+ //团队业绩
+ BigDecimal amount = BigDecimal.ZERO;
+ if(CollUtil.isNotEmpty(allMallMembers)){
+ for(MallMember teamMember : allMallMembers){
+ Long memberId = teamMember.getId();
+ BigDecimal sumAmount = mallMemberMapper.getSumAmountByMemberId(memberId);
+ amount = amount.add(sumAmount);
+ }
+ }
+ adminAgentVo.setAmount(amount);
}
}
return adminAgentVos;
@@ -277,8 +289,8 @@
List<AdminAgentMemberVo> records = adminAgentMemberVos.getRecords();
if(CollUtil.isNotEmpty(records)){
for(AdminAgentMemberVo agentMemberVo : records){
- String inviteId = agentMemberVo.getInviteId();
- BigDecimal amount = mallMemberMapper.getAgentTeamAmountByInviteId(inviteId);
+ Long agentMemberVoId = agentMemberVo.getId();
+ BigDecimal amount = mallMemberMapper.getSumAmountByMemberId(agentMemberVoId);
agentMemberVo.setAmount(amount);
}
}
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index ba901e6..c320725 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -135,22 +135,11 @@
<select id="getAgentListInPage" resultType="cc.mrbird.febs.mall.vo.AdminAgentVo">
- SELECT m.*,a.description levelName,
- ifnull((
- SELECT
- sum(b.amount)
- FROM
- mall_member e
- INNER JOIN mall_order_info b ON e.id = b.member_id
- AND b.STATUS = 4 and b.comment_state = 2
- WHERE
- e.invite_id = m.invite_id
- OR e.referrer_id = m.invite_id
- or find_in_set(m.invite_id, e.referrer_ids)
- ),0) amount
+ SELECT m.*,a.description levelName
FROM mall_member m
left join data_dictionary_custom a on a.description = m.level
<where>
+ 1= 1
and m.level != 'VIP'
<if test="record != null" >
<if test="record.name!=null and record.name!=''">
@@ -213,13 +202,11 @@
SELECT
ifnull(sum(b.amount),0)
FROM
- mall_member e
- INNER JOIN mall_order_info b ON e.id = b.member_id
- AND b.STATUS = 4
+ mall_order_info b
+ INNER JOIN mall_member e ON e.id = b.member_id
and b.comment_state = 2
WHERE
e.invite_id = #{inviteId}
- OR e.referrer_id = #{inviteId}
or find_in_set(#{inviteId}, e.referrer_ids)
</select>
@@ -356,15 +343,24 @@
<select id="selectAchieveByMemberId" resultType="java.math.BigDecimal">
select IFNULL(sum(IFNULL(a.amount, 0)), 0)
from mall_order_info a
- inner join mall_member b on a.member_id=b.ID
where 1=1
- and a.status = 4
and a.comment_state = 2
<if test="type == 1">
and b.invite_id=#{inviteId}
</if>
<if test="type == 2">
- and (find_in_set(#{inviteId}, b.referrer_ids) or b.invite_id=#{inviteId})
+ AND a.member_id IN (
+ SELECT
+ id
+ FROM
+ mall_member
+ WHERE
+ 1 = 1
+ AND (
+ find_in_set(#{inviteId}, referrer_ids)
+ OR invite_id = #{inviteId}
+ )
+ )
</if>
</select>
@@ -465,4 +461,15 @@
</where>
order by a.CREATED_TIME desc
</select>
+
+ <select id="getSumAmountByMemberId" resultType="java.math.BigDecimal">
+ SELECT
+ IFNULL(sum(IFNULL(a.amount, 0)), 0)
+ FROM
+ mall_order_info a
+ WHERE
+ 1 = 1
+ AND a.comment_state = 2
+ and a.member_id = #{memberId}
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1