From b806737cd27e047d4dfcdaf7cd064b8f20b1e51d Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 23 Apr 2021 14:45:54 +0800
Subject: [PATCH] modify enhance bug

---
 src/main/resources/mapper/modules/MemberMapper.xml |   61 +++++++++++++++++++++++++++---
 1 files changed, 54 insertions(+), 7 deletions(-)

diff --git a/src/main/resources/mapper/modules/MemberMapper.xml b/src/main/resources/mapper/modules/MemberMapper.xml
index 172a8f7..6a6c7e1 100644
--- a/src/main/resources/mapper/modules/MemberMapper.xml
+++ b/src/main/resources/mapper/modules/MemberMapper.xml
@@ -4,7 +4,17 @@
 
 
     <select id="selectMemberListInPage" resultType="com.xcong.excoin.modules.agent.entity.MemberEntity">
-        select * from member
+        select
+            a.*,
+            CONCAT(e.first_name, e.second_name) account,
+            b.total_balance contractTotal,
+            c.available_balance coinTotal,
+            d.total_balance agentTotal
+        from member a
+        left join (select member_id, sum(total_balance) total_balance from member_wallet_contract group by member_id) b on a.id=b.member_id
+        left join member_wallet_coin c on a.id=c.member_id and c.wallet_code='USDT'
+        left join member_wallet_agent d on a.id=d.member_id
+        left join member_authentication e on a.id=e.member_id
         <where>
             <if test="record != null">
                 <if test="record.inviteId !=null and record.inviteId!=''">
@@ -47,15 +57,52 @@
             a.referer_id,
             a.invite_id,
             concat(c.first_name, c.second_name) account,
-            sum(b.opening_fee_amount) openFeeAmount,
-            sum(b.closing_fee_amount) closeFeeAmount,
-            sum(b.hold_amount) holdFeeAmount,
-            sum(reward_amount) loseOrProfit
+            b.openFeeAmount openFeeAmount,
+            d.holdAmount closeFeeAmount,
+            d.closingFeeAmount holdFeeAmount,
+            d.rewardAmount loseOrProfit
         from member a
         inner join member_authentication c on a.id=c.member_id
-        inner join contract_order b on a.id=b.member_id and b.order_status=1
-        where find_in_set(#{record.refererId}, a.referer_ids)
+        inner join (select member_id, sum(opening_fee_amount) openFeeAmount from contract_order where order_type in (1,2) and order_status=1 group by member_id) b on a.id=b.member_id
+        inner join (select
+                   member_id,
+                   sum(closing_fee_amount) closingFeeAmount,
+                   sum(hold_amount) holdAmount,
+                   sum(reward_amount) rewardAmount
+            from contract_order where order_type in (3,4) and order_status=1 group by member_id) d on a.id=d.member_id
+        where find_in_set(#{record.refererIds}, a.referer_ids)
+        <if test="record.account!=null and record.account!=''">
+            and (a.phone=#{record.account} or a.email=#{record.account} or a.invite_id=#{record.account})
+        </if>
+        <if test="record.refererId!=null and record.refererId!=''">
+            and a.referer_id=#{record.refererId}
+        </if>
         group by a.create_time,a.phone, a.email
         order by a.create_time desc
     </select>
+
+    <select id="selectMemberAssetsList" resultType="com.xcong.excoin.modules.agent.entity.MemberEntity">
+        select
+            CONCAT(e.first_name, e.second_name) account,
+            a.phone,
+            a.email,
+            a.invite_id,
+            a.referer_id,
+            b.total_balance contractTotal,
+            c.available_balance coinTotal,
+            d.total_balance agentTotal
+        from member a
+        left join (select member_id, sum(total_balance) total_balance from member_wallet_contract group by member_id) b on a.id=b.member_id
+        left join member_wallet_coin c on a.id=c.member_id and c.wallet_code='USDT'
+        left join member_wallet_agent d on a.id=d.member_id
+        left join member_authentication e on a.id=e.member_id
+        where find_in_set(#{record.refererIds}, a.referer_ids)
+        <if test="record.account!=null and record.account!=''">
+            and (a.phone=#{record.account} or a.email=#{record.account} or a.invite_id=#{record.account})
+        </if>
+        <if test="record.refererId!=null and record.refererId!=''">
+            and a.referer_id=#{record.refererId}
+        </if>
+        order by a.create_time desc
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1