From e58bda9eed3e15ca0be919715861a30f75344e2f Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 14 Aug 2023 10:49:11 +0800
Subject: [PATCH] 赠送积分更新状态

---
 src/main/resources/mapper/modules/MallMemberMapper.xml |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index f1f4c59..5927e97 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -83,12 +83,12 @@
             (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 -- and c.is_normal=2
-             where e.status in (2, 3, 4) and (b.invite_id=a.invite_id or b.referrer_id=a.invite_id)) amount,
-            (select count(1) from mall_member e
-                      inner join mall_order_info b on e.id=b.member_id and b.status in (2, 3, 4)
-             where e.referrer_id = a.invite_id) orderCnt,
-            (select count(1) from mall_member x where x.referrer_id = a.invite_id) cnt
+                      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(id) from mall_order_info e
+                      inner join mall_member  b on e.id = b.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
         from mall_member a
         inner join mall_member_wallet p on a.id=p.member_id
         where a.referrer_id=#{inviteId}
@@ -366,6 +366,19 @@
         </if>
     </select>
 
+    <select id="selectOrderAmountByMemberId" resultType="java.math.BigDecimal">
+        select IFNULL(sum(IFNULL(e.amount, 0)), 0)
+        from mall_order_info e
+        inner join mall_member b on e.member_id=b.ID
+        where e.status in (2, 3, 4)
+            <if test="type == 1">
+                and b.invite_id=#{inviteId}
+            </if>
+            <if test="type == 2">
+                and find_in_set(#{inviteId}, b.referrer_ids)
+            </if>
+    </select>
+
     <select id="selectMemberByName" resultType="cc.mrbird.febs.mall.entity.MallMember">
         select * from mall_member
         where name=#{name}

--
Gitblit v1.9.1