From 0ca7bf5c850eaef852a6b49d4b94e8366deedb29 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 26 May 2021 15:03:51 +0800
Subject: [PATCH] 20210525  申诉

---
 src/main/resources/mapper/contract/ContractOrderDao.xml |  165 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 161 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/contract/ContractOrderDao.xml b/src/main/resources/mapper/contract/ContractOrderDao.xml
index d98a8d3..49f2f97 100644
--- a/src/main/resources/mapper/contract/ContractOrderDao.xml
+++ b/src/main/resources/mapper/contract/ContractOrderDao.xml
@@ -2,10 +2,167 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xcong.excoin.modules.contract.dao.ContractOrderDao">
 
-
-    <select id="selectContractOrderInPage" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity">
-        select * from contract_order where member_id=#{memberId}
-        order by create_time desc
+    <select id="selectOrderNoByOrderIds" resultType="java.lang.String">
+        SELECT
+            order_no
+        FROM
+            contract_order
+        WHERE
+              id = #{orderId}
     </select>
 
+    <select id="selectFollowOrderListByMemberId" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity">
+        SELECT
+            *
+        FROM
+            contract_order
+        WHERE
+            member_id = #{tradeMemberId}
+          AND contract_type = 2
+          AND closing_price IS NOT NULL;
+    </select>
+
+    <select id="selectContractOrderInPage" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity">
+        select
+            create_time,
+            id,
+            member_id,
+            order_no,
+            position_type,
+            trade_type,
+            order_type,
+            order_status,
+            entrust_opening_price,
+            entrust_time,
+            symbol,
+            symbol_cnt,
+            symbol_sku,
+            closing_price,
+            closing_time,
+            closing_fee_amount*(select fee_spread_ratio from platform_trade_setting) closing_fee_amount,
+            closing_type,
+            lever_ratio,
+            stop_loss_price,
+            stop_profit_price,
+            reward_amount,
+            reward_ratio,
+            opening_price,
+            opening_time,
+            pre_payment_amount,
+            bond_amount,
+            mark_price,
+            force_closing_price,
+            hold_amount,
+            opening_fee_amount*(select fee_spread_ratio from platform_trade_setting) opening_fee_amount
+        from contract_order
+        <if test="record != null">
+            <where>
+                <if test="record.memberId != null" >
+                    and member_id=#{record.memberId}
+                </if>
+                <if test="record.symbol != null and record.symbol != ''">
+                    and symbol = #{record.symbol}
+                </if>
+            </where>
+        </if>
+        order by create_time desc, id desc
+    </select>
+
+    <select id="selectOrderDetailByIdAndMemberId" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity">
+        select * from contract_order where id=#{id} and member_id=#{memberId}
+    </select>
+
+    <select id="selectFollowOrderByMemberId" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity">
+        select *
+        from contract_order a, follow_follower_order_relation b
+        where a.id=b.order_id and a.member_id=#{memberId}
+    </select>
+
+    <select id="selectFollowOrderTotalProfitByMemberId" resultType="java.math.BigDecimal">
+        select sum(reward_ratio)*100
+        from contract_order
+        where member_id=#{memberId} and contract_type=2
+    </select>
+
+    <select id="selectFollowOrderCntForWinRate" resultType="java.math.BigDecimal">
+        select count(1)
+        from contract_order a
+        where member_id=#{memberId}
+        and contract_type=2
+          and closing_time is not null
+        <if test="type!=null and type==1">
+            and reward_amount > 0
+        </if>
+        <if test="type!=null and type==2">
+            and 0 > reward_amount
+        </if>
+    </select>
+
+    <select id="selectWholeOpenOrderByOrderNo" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity">
+        select * from contract_order
+        where order_no=#{orderNo}
+        and order_type in (1,2) and order_status=1
+    </select>
+
+    <select id="selectWholeFeeAmountByOrderNo" resultType="java.math.BigDecimal">
+        select sum(opening_fee_amount)
+        from contract_order
+        where order_no=#{orderNo}
+        and order_type in (1,2) and order_status=1
+    </select>
+
+    <update id="updateOrderProfitOrLessById">
+        update contract_order
+        set reward_amount=#{rewardAmount},
+        reward_ratio=#{rewardRatio}
+        where id=#{id}
+    </update>
+
+    <select id="getBurstUsdtByMemberId" resultType="java.math.BigDecimal">
+        SELECT
+            IFNULL(SUM(reward_amount), 0)
+        FROM
+            contract_order
+        WHERE
+            closing_type IN (4, 5)
+            and member_id=#{memberId}
+    </select>
+
+    <select id="selectThirtyTotalCntByMemberId" resultType="java.math.BigDecimal">
+        select count(id)
+        from contract_order
+        where
+              member_id=#{memberId}
+          and contract_type=2
+          and closing_time is not null
+          and create_time BETWEEN #{offsetDay} and #{date}
+    </select>
+
+    <select id="selectThirtyWinCntByMemberId" resultType="java.math.BigDecimal">
+        select count(id)
+        from contract_order
+        where
+        member_id=#{memberId}
+        and contract_type=2
+        and create_time BETWEEN #{offsetDay} and #{date}
+        and reward_ratio > 0
+    </select>
+
+    <select id="selectThirtyMaxRatioByMemberId" resultType="java.math.BigDecimal">
+        select MAX(reward_ratio)*100
+        from contract_order
+        where
+        member_id=#{memberId}
+        and contract_type=2
+        and create_time BETWEEN #{offsetDay} and #{date}
+    </select>
+
+    <select id="selectThirtyMinRatioByMemberId" resultType="java.math.BigDecimal">
+        select MIN(reward_ratio)*100
+        from contract_order
+        where
+        member_id=#{memberId}
+        and contract_type=2
+        and create_time BETWEEN #{offsetDay} and #{date}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1