From 30c1c9d16a57d2bbc7cd1511d02c5ddcc6a143f6 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 08 Jun 2021 16:10:44 +0800
Subject: [PATCH] modify

---
 src/main/resources/mapper/otc/OtcOrderDao.xml |  146 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 145 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/otc/OtcOrderDao.xml b/src/main/resources/mapper/otc/OtcOrderDao.xml
index a41a946..4928e5b 100644
--- a/src/main/resources/mapper/otc/OtcOrderDao.xml
+++ b/src/main/resources/mapper/otc/OtcOrderDao.xml
@@ -4,6 +4,150 @@
 
     <select id="selectOrderListUnFinish" resultType="com.xcong.excoin.modules.otc.entity.OtcOrder">
         select * from otc_order
-        where status not in (2,4) and member_id=#{memberId} and entrust_order_id=#{entrustOrderId}
+        where status in (1,2) and member_id=#{memberId} and entrust_order_id=#{entrustOrderId}
     </select>
+
+
+    <select id="selectOrdderListInPage" resultType="com.xcong.excoin.modules.otc.vo.OrderListVo">
+        select
+            a.id,
+            a.order_no orderNo,
+            a.unit_price unitPrice,
+            a.coin_amount amount,
+            a.status status,
+            a.total_amount totalAmount,
+            a.create_time creatTime,
+            a.order_type orderType,
+            b.name name
+        from otc_order a
+        inner join member b on a.opposite_member_id=b.id
+        <where>
+            <if test="record!=null">
+                <if test="record.status != null and record.status == 1">
+                    and a.status in (1, 2)
+                </if>
+                <if test="record.status != null and record.status == 2">
+                    and a.status = 3
+                </if>
+                <if test="record.status != null and record.status == 3">
+                    and a.status = 4
+                </if>
+                <if test="record.memberId != null">
+                    and a.member_id = ${record.memberId}
+                </if>
+            </if>
+        </where>
+        order by a.create_time desc
+    </select>
+
+    <update id="updateOrderStatusByOrderNo">
+        update otc_order
+        set status=#{status}
+        <if test="payName != null and payName != ''">
+            , pay_name = #{payName}
+        </if>
+        where order_no=#{orderNo}
+    </update>
+
+    <select id="selectOrderByOrderNoAndType" resultType="com.xcong.excoin.modules.otc.entity.OtcOrder">
+        select * from otc_order
+        where order_no=#{orderNo} and order_type=#{orderType}
+    </select>
+
+    <select id="selectOrderListWithStatusAndType" resultType="com.xcong.excoin.modules.otc.entity.OtcOrder">
+        select * from otc_order
+        where order_type=#{type} and status=#{status}
+    </select>
+
+    <select id="selectMemberCntForEntrust" resultType="java.lang.Integer">
+        select count(distinct member_id) from otc_order
+        where entrust_member_id=#{entrustMemberId} and status != 4 and entrust_member_id!=member_id
+    </select>
+
+    <select id="selectTotalOrderCount" resultType="java.lang.Integer">
+        select count(1) from otc_order
+        where member_id=#{entrustMemberId}
+        <if test="status != null">
+            and status = #{status}
+        </if>
+        <if test="type != null and type!=''">
+            and order_type = #{type}
+        </if>
+    </select>
+
+    <select id="selectMemberAvgPayTime" resultType="java.math.BigDecimal">
+        select
+               IFNULL(sum(timestampdiff(SECOND, create_time, pay_time))/count(1), 0)
+        from otc_order
+        where status=3 and member_id=#{memberId} and order_type='B'
+    </select>
+
+    <select id="selectMemberAvgCoinTime" resultType="java.math.BigDecimal">
+        select
+            IFNULL(sum(timestampdiff(SECOND, pay_time, finish_time))/count(1), 0)
+        from otc_order
+        where status=3 and member_id=40 and order_type='S'
+    </select>
+
+    <select id="selectOrderListForUser" resultType="com.xcong.excoin.modules.otc.entity.OtcOrder">
+        select * from otc_order
+        where member_id=#{memberId}
+        <!-- 查询除完成以外所有订单 -->
+        <if test="status != null">
+            and status = #{status}
+        </if>
+    </select>
+
+    <select id="selectOrderTotalAmount" resultType="java.math.BigDecimal">
+        select sum(total_amount) from otc_order
+        where member_id=#{memberId} and status = 3
+    </select>
+
+    <select id="selectByMemberIdAndTargetId" resultType="com.xcong.excoin.modules.otc.vo.ChatOrderVo">
+        select
+            order_no orderNo,
+            member_id memberId,
+            unit_price unitPrice,
+            coin_amount usdtAmount,
+            total_amount totalAmount,
+            status status,
+            order_type orderType
+        from otc_order
+        where ((member_id=#{memberId} and opposite_member_id=#{targetId})
+            or
+              (member_id=#{targetId} and opposite_member_id=#{memberId}))
+            and status in (1,2)
+        order by create_time desc
+
+    </select>
+
+    <select id="selectOneByMemberIdAndTargetId" resultType="com.xcong.excoin.modules.otc.vo.ChatOrderVo">
+        select
+            order_no orderNo,
+            member_id memberId,
+            unit_price unitPrice,
+            coin_amount usdtAmount,
+            total_amount totalAmount,
+            status status,
+            order_type orderType
+        from otc_order
+        where ((member_id=#{memberId} and opposite_member_id=#{targetId})
+            or
+               (member_id=#{targetId} and opposite_member_id=#{memberId}))
+        order by create_time desc
+            LIMIT 2
+
+    </select>
+
+    <update id="updateIsReturnByOrderNo">
+        update otc_order
+        set is_return=#{isReturn}
+        where order_no=#{orderNo}
+    </update>
+
+    <select id="selectOrderUnEntrust" resultType="com.xcong.excoin.modules.otc.entity.OtcOrder">
+        select * from otc_order
+        where order_no=#{orderNo} and member_id!=entrust_member_id
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1