From 58b9c60649a874b61cb60010b99a76f2162d4c0e Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 14 Aug 2023 11:38:06 +0800
Subject: [PATCH] 赠送积分更新状态
---
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java | 3 ++-
src/main/resources/mapper/modules/MallMemberMapper.xml | 14 +++-----------
src/main/resources/mapper/modules/MallOrderInfoMapper.xml | 5 +++++
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 12 ++++++++++++
4 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
index 5b532bb..1be5021 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
@@ -1,6 +1,5 @@
package cc.mrbird.febs.mall.mapper;
-import cc.mrbird.febs.common.enumerates.OrderPayMethodEnum;
import cc.mrbird.febs.mall.dto.MallOrderInfoDto;
import cc.mrbird.febs.mall.dto.OrderListDto;
import cc.mrbird.febs.mall.entity.MallOrderInfo;
@@ -55,6 +54,8 @@
BigDecimal selectTotalAmount(@Param("memberId") Long memberId);
+ List<MallOrderInfo> selectTotalAmountListByMemberId(@Param("memberId") Long memberId);
+
BigDecimal selectTotalAmountForDate(@Param("date") Date date, @Param("member") Long memberId);
BigDecimal selectTotalAmountUnCostForDate(@Param("date") Date date, @Param("member") Long memberId, @Param("dateType") String dateType, @Param("isNormal") Integer isNormal);
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 18d8f58..ea2579c 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -359,6 +359,18 @@
MallMember mallMember = this.baseMapper.selectById(memberId);
List<TeamListVo> list = this.baseMapper.selectTeamListByInviteId(mallMember.getInviteId());
+ if(CollUtil.isNotEmpty(list)){
+ for(TeamListVo teamListVo : list){
+ List<MallOrderInfo> mallOrderInfos = mallOrderInfoMapper.selectTotalAmountListByMemberId(teamListVo.getId());
+ if(CollUtil.isNotEmpty(mallOrderInfos)){
+ BigDecimal reduce = mallOrderInfos.stream().map(MallOrderInfo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+ teamListVo.setAmount(reduce);
+ teamListVo.setOrderCnt(mallOrderInfos.size());
+ List<MallMember> mallMembers = this.baseMapper.selectChildAgentListByInviteId(teamListVo.getInviteId());
+ teamListVo.setCnt(CollUtil.isEmpty(mallMembers) ? 0 : mallMembers.size());
+ }
+ }
+ }
MyTeamVo myTeamVo = new MyTeamVo();
myTeamVo.setTeam(list);
myTeamVo.setMyAchieve(this.baseMapper.selectOrderAmountByMemberId(mallMember.getInviteId(), 1));
diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index e422e98..1571645 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -79,16 +79,7 @@
a.invite_id,
2 isCurrent,
a.created_time,
- p.prize_score,
- (select sum(e.amount)
- from mall_order_info e
- inner join mall_member b on e.member_id=b.ID
- inner join mall_order_item c on e.id = c.order_id
- where e.status in (2, 3, 4) and (find_in_set(a.invite_id, b.referrer_ids))) amount,
- (select count(e.id) from mall_order_info e
- inner join mall_member b on b.id = e.member_id and e.status in (2, 3, 4)
- where (find_in_set(a.invite_id, b.referrer_ids))) orderCnt,
- (select count(1) from mall_member x where (find_in_set(a.invite_id, x.referrer_ids))) cnt
+ p.prize_score
from mall_member a
inner join mall_member_wallet p on a.id=p.member_id
where a.referrer_id=#{inviteId}
@@ -375,7 +366,8 @@
and b.invite_id=#{inviteId}
</if>
<if test="type == 2">
- and find_in_set(#{inviteId}, b.referrer_ids)
+ b.referrer_id = #{inviteId}
+-- and find_in_set(#{inviteId}, b.referrer_ids)
</if>
</select>
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index 9d7b3b1..76f1bea 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -262,6 +262,11 @@
where member_id=#{memberId} and status in (2, 3, 4) and order_type=1
</select>
+ <select id="selectTotalAmountListByMemberId" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
+ select * from mall_order_info
+ where member_id=#{memberId} and status in (2, 3, 4)
+ </select>
+
<select id="selectTotalAmountForDate" resultType="java.math.BigDecimal">
select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info
where status = 4
--
Gitblit v1.9.1