From 107c4d630c5b5c1b04f0d63a147e363b68dd1e8c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 27 Oct 2023 17:57:53 +0800
Subject: [PATCH] 版本管理

---
 src/main/resources/mapper/modules/ChatUserMapper.xml |   61 ++++++++++++++++++++++--------
 1 files changed, 44 insertions(+), 17 deletions(-)

diff --git a/src/main/resources/mapper/modules/ChatUserMapper.xml b/src/main/resources/mapper/modules/ChatUserMapper.xml
index c7c4d86..411497c 100644
--- a/src/main/resources/mapper/modules/ChatUserMapper.xml
+++ b/src/main/resources/mapper/modules/ChatUserMapper.xml
@@ -49,27 +49,40 @@
         a.is_robot isRobot,
         date_format(a.create_time, '%Y-%m-%d %H:%m:%s') createTime,
         IFNULL(sum(b.total_amount), 0) totalAmount,
-        IFNULL(sum(b.ava_amount), 0) avaAmount
+        IFNULL(sum(b.ava_amount), 0) avaAmount,
+        (
+            SELECT
+                COUNT(c.id)
+            FROM chat_red_bag c
+            where c.from_user_id = a.user_id
+                AND c.msg_type = 'GROUP'
+        ) groupRedBagNum,
+        (
+            select IFNULL(sum(IFNULL(d.amount,0)),0)
+            from chat_amount_flow d
+            where (d.type = 7 or d.type = 9)
+            and d.user_id = a.user_id
+        ) teamPerkAmount
         from chat_user a
-        left join chat_wallet b on b.user_id = a.user_id and type = 'USDT'
+        left join chat_wallet b on b.user_id = a.user_id and b.type = 'USDT'
         <where>
-            <if test="record != null">
-                <if test="record.phone != null and record.phone != ''">
-                    and a.phone like CONCAT('%', CONCAT(#{record.phone}, '%'))
-                </if>
-                <if test="record.nickName != null and record.nickName != ''">
-                    and a.nick_name like CONCAT('%', CONCAT(#{record.nickName}, '%'))
-                </if>
-                <if test="record.inviteId != null and record.inviteId != ''">
-                    and a.invite_id = #{record.inviteId}
-                </if>
-                <if test="record.status != null and record.status != ''">
-                    and a.status = #{record.status}
-                </if>
+            <if test="record.phone != null and record.phone != ''">
+                and a.phone like CONCAT('%', CONCAT(#{record.phone}, '%'))
+            </if>
+            <if test="record.nickName != null and record.nickName != ''">
+                and a.nick_name like CONCAT('%', CONCAT(#{record.nickName}, '%'))
+            </if>
+            <if test="record.inviteId != null and record.inviteId != ''">
+                and (find_in_set(#{record.inviteId}, referrer_ids) or invite_id = #{record.inviteId})
+            </if>
+            <if test="record.isRobot != null">
+                and a.is_robot = #{record.isRobot}
             </if>
         </where>
         group by a.user_id
-        order by a.create_time desc
+        HAVING teamPerkAmount > 0
+        order by
+        a.user_id asc ,a.create_time asc
     </select>
 
     <select id="selectByUserId" resultType="cc.mrbird.febs.mall.entity.ChatUser">
@@ -168,7 +181,7 @@
         b.nick_name nickName,
         b.phone phone,
         a.id id,
-        a.amount amount,
+        (a.amount - a.fee) amount,
         a.type type,
         a.address address,
         a.state state
@@ -353,6 +366,20 @@
         </if>
     </select>
 
+
+    <select id="selectTotalTypeByUserId" resultType="java.math.BigDecimal">
+        select IFNULL(sum(IFNULL(amount,0)),0)
+        from chat_amount_flow
+        where type = #{type}
+          and user_id = #{userId}
+        <if test='dateType == "D"'>
+            and date_format(create_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d');
+        </if>
+        <if test='dateType == "M"'>
+            and date_format(create_time, '%Y-%m') = date_format(#{date}, '%Y-%m');
+        </if>
+    </select>
+
     <select id="selectUserList" resultType="cc.mrbird.febs.mall.entity.ChatUser">
         select
         a.*

--
Gitblit v1.9.1