From 8bf923b44bbe9b45b73ddcc25df75c9c59f54e07 Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Thu, 15 Jun 2023 11:19:44 +0800
Subject: [PATCH] fix

---
 src/main/resources/mapper/modules/MallMoneyFlowMapper.xml |  206 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 197 insertions(+), 9 deletions(-)

diff --git a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
index 0e3b7d8..8d69468 100644
--- a/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
+++ b/src/main/resources/mapper/modules/MallMoneyFlowMapper.xml
@@ -3,7 +3,12 @@
 <mapper namespace="cc.mrbird.febs.mall.mapper.MallMoneyFlowMapper">
 
     <select id="selectMoneyFlowInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallMoneyFlowVo">
-        select * from mall_money_flow a where a.member_id = #{record.id}
+        select
+               a.*,
+               b.name fromMemberName
+        from mall_money_flow a
+        left join mall_member b on a.rt_member_id = b.id
+        where a.member_id = #{record.id}
         order by a.CREATED_TIME desc
     </select>
 
@@ -18,10 +23,10 @@
             left join mall_member b on a.rt_member_id=b.id
             left join data_dictionary_custom c on b.level = c.code and c.type='AGENT_LEVEL'
         <where>
-            <if test="record.type == 3">
+            <if test="record.inOrOut == 3">
                 and a.amount > 0
             </if>
-            <if test="record.type == 2">
+            <if test="record.inOrOut == 2">
                 and 0 > a.amount
             </if>
             <if test="record.memberId != null">
@@ -29,6 +34,9 @@
             </if>
             <if test="record.flowType != null and record.flowType != ''">
                 and a.flow_type=#{record.flowType}
+            </if>
+            <if test="record.type != null and record.type != ''">
+                and a.type=#{record.type}
             </if>
         </where>
         order by a.created_time desc
@@ -40,10 +48,12 @@
         b.name,
         b.bind_phone bindPhone,
         c.pay_method payMethod,
-        b.phone
+        b.phone,
+        d.name fromMemberName
         from mall_money_flow a
         inner join mall_member b on a.member_id=b.id
         left join mall_order_info c on a.order_no = c.order_no
+        left join mall_member d on d.id = a.rt_member_id
         <where>
             <if test="record != null" >
                 <if test="record.name!=null and record.name!=''">
@@ -53,7 +63,16 @@
                     and b.phone like concat('%',  #{record.phone},'%')
                 </if>
                 <if test="record.type!=null and record.type!=''">
-                    and a.type like concat('%',  #{record.type},'%')
+                    and a.type = #{record.type}
+                </if>
+                <if test="record.flowType!=null and record.flowType!=''">
+                    and a.flow_type like concat('%',  #{record.flowType},'%')
+                </if>
+                <if test="record.referrerId!=null and record.referrerId!=''">
+                    and find_in_set(#{record.referrerId}, b.referrer_ids)
+                </if>
+                <if test="record.inviteId!=null and record.inviteId!=''">
+                    and b.invite_id = #{record.inviteId}
                 </if>
             </if>
         </where>
@@ -62,14 +81,19 @@
 
     <select id="getMoneyChargeListInPage" resultType="cc.mrbird.febs.mall.vo.AdminMoneyChargeListVo">
         select
-        a.*,
+        a.id id,
+        a.created_time createdTime,
+        a.amount amount,
+        a.amount_fee amountFee,
+        a.withdraw_no withdrawNo,
+        a.remark remark,
+        a.status status,
         b.name,
         b.bind_phone bindPhone,
         b.phone
-        from mall_money_flow a
+        from mall_member_withdraw a
         inner join mall_member b on a.member_id=b.id
         <where>
-            a.type = 6
             <if test="record != null" >
                 <if test="record.name!=null and record.name!=''">
                     and b.name like concat('%',  #{record.name},'%')
@@ -99,6 +123,170 @@
     </update>
 
     <select id="selectProfitByDateAndMemberId" resultType="java.math.BigDecimal">
-        select ifnull(sum(a.amount),0) from mall_money_flow a where member_id=#{memberId} and type in (1,2) and date_format(a.CREATED_TIME, '%Y-%m-%d') = date_format(now(), '%Y-%m-%d');
+        select ifnull(sum(a.amount),0) from mall_money_flow a
+        where member_id=#{memberId} and flow_type=4 and date_format(a.CREATED_TIME, '%Y-%m-%d') = date_format(now(), '%Y-%m-%d') and amount > 0
+    </select>
+
+    <select id="selectCommissionIncome" resultType="java.math.BigDecimal">
+        select ifnull(sum(amount),0) from mall_money_flow
+        where flow_type = 1 and type in (1,2,3,4,5,7,17) and member_id=#{memberId} and amount > 0
+        <if test="type == 1">
+            and date_format(created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
+        </if>
+        <if test="type == 2">
+            and date_format(created_time, '%Y-%m') = date_format(#{date}, '%Y-%m')
+        </if>
+    </select>
+
+    <select id="selectThankfulCommission" resultType="java.math.BigDecimal">
+        select ifnull(sum(amount),0) from mall_money_flow
+        where flow_type=4 and amount > 0
+          and member_id=#{memberId}
+          and date_format(created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
+          and type in (2,3,4)
+    </select>
+
+    <insert id="insertMoneyFlow" parameterType="cc.mrbird.febs.mall.entity.MallMoneyFlow">
+        insert into mall_money_flow(
+            REVISION,
+            CREATED_BY,
+            CREATED_TIME,
+            UPDATED_BY,
+            UPDATED_TIME,
+            member_id,
+            amount,
+            type,
+            order_no,
+            rt_member_id,
+            status,
+            remark,
+            flow_type) VALUES
+                (
+                    #{revision},
+                    #{createdBy},
+                    #{createdTime},
+                    #{updatedBy},
+                    #{updatedTime},
+                    #{memberId},
+                    #{amount},
+                    #{type},
+                    #{orderNo},
+                    #{rtMemberId},
+                    #{status},
+                    #{remark},
+                    #{flowType}
+                )
+    </insert>
+
+    <select id="selectTeamEqualsMemberByDate" resultType="cc.mrbird.febs.mall.vo.AdminTeamEqualsPerkVo">
+        select
+               a.member_id memberId,
+               sum(a.amount) sumAmount,
+               c.id rtMemberId
+        from mall_money_flow a
+        inner join mall_member b on b.id = a.member_id
+        inner join mall_member c on c.invite_id = b.referrer_id and c.level = b.level
+        where
+            a.type IN (19, 20, 21, 22, 23, 24, 27)
+          and date_format(a.created_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
+        group by a.member_id;
+    </select>
+
+    <select id="selectOrderMoneyFlowInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallMoneyFlowVo">
+        select
+            a.*,
+            b.name fromMemberName
+        from mall_money_flow a
+                 left join mall_member b on a.member_id = b.id
+        where a.order_no = #{record.orderNo}
+        order by a.CREATED_TIME desc
+    </select>
+
+    <select id="selectMoneyFlowByMemberIdAndIsRetrun" resultType="cc.mrbird.febs.mall.entity.MallMoneyFlow">
+        SELECT
+            *
+        FROM
+            mall_money_flow a
+        WHERE
+            a.type = 26
+          AND a.flow_type = 6
+          AND a.is_return = #{isReturn}
+          AND a.member_id = #{memberId}
+        ORDER BY
+            a.created_time ASC
+    </select>
+
+    <update id="updateRemarkById">
+        update mall_money_flow
+        <set>
+            remark = #{remark}
+        </set>
+        WHERE id =  #{id}
+    </update>
+
+    <update id="updateRemarkAndIsReturnById">
+        update mall_money_flow
+        <set>
+            remark = #{remark},
+            is_return = 1
+        </set>
+        WHERE id =  #{id}
+    </update>
+
+    <select id="selectByOrderNoAndMemberId" resultType="cc.mrbird.febs.mall.entity.MallMoneyFlow">
+        SELECT
+            *
+        FROM
+            mall_money_flow a
+        WHERE
+            a.type = 25
+          AND a.flow_type = 5
+          AND a.is_return = #{isReturn}
+          AND a.member_id = #{memberId}
+          AND a.order_no = #{orderNo}
+        ORDER BY
+            a.created_time ASC
+    </select>
+
+    <select id="selectChargeListForExcel" resultType="cc.mrbird.febs.mall.vo.ChargeListExportVo">
+        select
+            b.name memberName
+            ,b.phone phone
+            ,a.amount
+            ,c.CREATED_TIME createTime
+            ,c.bank_name bankName
+            ,c.bank_no bankNo
+            ,c.name cardName
+            ,c.subbranch_name subbranchName
+            ,c.phone bankPhone
+        from mall_member_withdraw a
+            inner join mall_member b on a.member_id=b.id
+            inner join mall_member_bank c on b.id=c.member_id
+        <where>
+            <if test="record != null" >
+                <if test="record.name!=null and record.name!=''">
+                    and b.name like concat('%',  #{record.name},'%')
+                </if>
+                <if test="record.phone!=null and record.phone!=''">
+                    and b.phone like concat('%',  #{record.phone},'%')
+                </if>
+                <if test="record.status!=null and record.status!=''">
+                    and a.status = #{record.status}
+                </if>
+            </if>
+        </where>
+        order by a.created_time desc
+    </select>
+
+    <select id="selectMemberProfitByMemberIds" resultType="cc.mrbird.febs.mall.entity.MallMoneyFlow">
+        select memberInfo.id memberId, ifnull(sum(flowInfo.amount),0) amount from mall_member memberInfo
+            inner join mall_member flowMember on find_in_set(memberInfo.invite_id, flowMember.referrer_ids)
+            inner join mall_money_flow flowInfo on flowMember.id=flowInfo.member_id and flowInfo.flow_type = 1 and flowInfo.type in (1,2,3,4,5,7)
+        <where>
+            memberInfo.id in <foreach collection="list" item="item" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </where>
+        group by memberInfo.id
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1