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/resources/mapper/modules/MallMemberMapper.xml |  128 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 0 deletions(-)

diff --git a/src/main/resources/mapper/modules/MallMemberMapper.xml b/src/main/resources/mapper/modules/MallMemberMapper.xml
index 5dff51a..a78304b 100644
--- a/src/main/resources/mapper/modules/MallMemberMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -42,6 +42,54 @@
         GROUP BY m.id order by m.CREATED_TIME desc
     </select>
 
+    <select id="selectHappyMemberListInPage" resultType="cc.mrbird.febs.mall.entity.MallMember">
+        SELECT
+               a.*,
+               d.balance balance,
+               d.score score,
+               d.prize_score prizeScore,
+               d.commission commission,
+               d.total_score totalScore,
+               b.name storeMasterName,
+               c.name directorName
+        FROM mall_member a
+        left join happy_sale_level b on b.code = a.store_master
+        left join happy_member_level c on c.code = a.director
+        left join mall_member_wallet d on d.member_id = a.id
+        <where>
+            <if test="record != null" >
+                <if test="record.birthdayQuery!=null">
+                    and date_format(a.birthday, '%m-%d') = date_format(#{record.birthdayQuery}, '%m-%d')
+                </if>
+                <if test="record.name!=null and record.name!=''">
+                    and a.name like concat('%',  #{record.name},'%')
+                </if>
+                <if test="record.phone!=null and record.phone!=''">
+                    and a.phone like concat('%',  #{record.phone},'%')
+                </if>
+                <if test="record.accountStatus!=null">
+                    and a.account_status = #{record.accountStatus}
+                </if>
+                <if test="record.director!=null">
+                    and a.director = #{record.director}
+                </if>
+                <if test="record.storeMaster!=null">
+                    and a.store_master = #{record.storeMaster}
+                </if>
+                <if test="record.accountType != null" >
+                    and a.account_type = #{record.accountType}
+                </if>
+                <if test="record.level!=null and record.level!=''">
+                    and a.level=#{record.level}
+                </if>
+                <if test="record.checkOrder!=null">
+                    and a.check_order=#{record.checkOrder}
+                </if>
+            </if>
+        </where>
+        GROUP BY a.id order by a.CREATED_TIME desc
+    </select>
+
     <select id="getMallMemberInfoById" resultType="cc.mrbird.febs.mall.vo.MallMemberVo">
         SELECT a.id,
                a.name,
@@ -55,6 +103,7 @@
                IFNULL(c.balance,0) balance,
                IFNULL(c.score,0) score,
                IFNULL(c.prize_score,0) prizeScore,
+               IFNULL(c.commission,0) commission,
                d.description levelName,
                b.name
                FROM mall_member a
@@ -450,4 +499,83 @@
         where id = #{id}
     </update>
 
+
+
+    <select id="selectTeamPage" resultType="cc.mrbird.febs.mall.vo.sale.ApiTeamListInfoVo">
+
+        SELECT
+            a. NAME memberName,
+            a.is_sale isSale,
+            a.CREATED_TIME createdTime,
+            ifnull(
+                (
+                SELECT
+                count(c.id)
+                FROM
+                mall_order_info c
+                WHERE
+                a.id = c.member_id
+                    and c.status = 4
+                ),
+                0
+            ) orderCnt,
+            ifnull(
+                (
+                SELECT
+                sum(b.amount)
+                FROM
+                mall_order_info b
+                WHERE
+                a.id = b.member_id
+                    and b.status = 4
+                ),
+                0
+            ) amount
+        FROM
+            mall_member a
+        <where>
+            and find_in_set(#{record.inviteId}, a.referrer_ids)
+            <if test="record != null" >
+                <if test="record.memberName != null and record.memberName != ''">
+                    and a.name like concat('%',  #{record.memberName},'%')
+                </if>
+                <if test="record.startTime != null and record.startTime != ''">
+                    and a.CREATED_TIME &gt;= #{record.startTime}
+                </if>
+                <if test="record.endTime != null and record.endTime != ''">
+                    and a.CREATED_TIME &lt;= #{record.endTime}
+                </if>
+            </if>
+        </where>
+        order by a.CREATED_TIME desc
+    </select>
+
+
+
+    <select id="selectSalePage" resultType="cc.mrbird.febs.mall.vo.sale.ApiSaleListInfoVo">
+        SELECT
+            c.name memberName,
+            a.CREATED_TIME createdTime,
+            a.cost_amount costAmount,
+            a.amount amount
+        FROM mall_achieve_record a
+        left join mall_order_info b on a.order_id = b.id
+        left join mall_member c on b.member_id = c.id
+        <where>
+            and a.member_id = #{record.memberId}
+            <if test="record != null" >
+                <if test="record.memberName != null and record.memberName != ''">
+                    and c.name like concat('%',  #{record.memberName},'%')
+                </if>
+                <if test="record.startTime != null and record.startTime != ''">
+                    and a.CREATED_TIME &gt;= #{record.startTime}
+                </if>
+                <if test="record.endTime != null and record.endTime != ''">
+                    and a.CREATED_TIME &lt;= #{record.endTime}
+                </if>
+            </if>
+        </where>
+        order by a.CREATED_TIME desc
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1