Helius
2021-04-23 9beb428f807920b0dd646edbed822313c47961c6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?xml version="1.0" encoding="UTF-8"?>
<!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.mapper.ContractOrderMapper">
 
    <select id="selectHistoryOrderListInPage" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity">
        select
            a.phone,
            a.email,
            a.referer_id,
            concat(b.first_name, b.second_name) name,
            c.opening_fee_amount*(select fee_spread_ratio from platform_trade_setting) opening_fee_amount,
            c.closing_fee_amount*(select fee_spread_ratio from platform_trade_setting) closing_fee_amount,
            c.*
        from member a
        left join member_authentication b on a.id=b.member_id
        inner join contract_order c on a.id=c.member_id
        <where>
            <if test="record!=null">
                <if test="record.refererIds!=null and record.refererIds!=''">
                    find_in_set(#{record.refererIds}, a.referer_ids)
                </if>
                <if test="record.refererId!=null and record.refererId!=''">
                    and a.referer_id=#{record.refererId}
                </if>
                <if test="record.name!=null and record.name!=''">
                    and (a.phone=#{record.name} or a.email=#{record.name} or a.invite_id=#{record.name})
                </if>
                <if test='record.timeType=="1"'>
                    and TO_DAYS(c.create_time) = TO_DAYS(NOW())
                </if>
                <if test='record.timeType=="2"'>
                    and TO_DAYS(NOW()) - TO_DAYS(c.create_time) = 1
                </if>
                <if test='record.timeType=="3"'>
                    and YEARWEEK(date_format(c.create_time,'%Y-%m-%d')) = YEARWEEK(now())
                </if>
                <if test='record.timeType=="4"'>
                    and DATE_FORMAT(c.create_time, '%Y%m' ) = DATE_FORMAT( CURDATE() , '%Y%m' )
                </if>
                and order_status = 1
            </if>
        </where>
        order by c.create_time desc
    </select>
 
    <select id="selectHistoryDocumentaryListInPage" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity">
        select
        a.phone,
        a.email,
        a.referer_id,
        concat(b.first_name, b.second_name) name,
        c.opening_fee_amount*(select fee_spread_ratio from platform_trade_setting) opening_fee_amount,
        c.closing_fee_amount*(select fee_spread_ratio from platform_trade_setting) closing_fee_amount,
        c.*
        from member a
        left join member_authentication b on a.id=b.member_id
        inner join contract_order c on a.id=c.member_id
        <where>
            <if test="record!=null">
                <if test="record.refererIds!=null and record.refererIds!=''">
                    and a.invite_id=#{record.refererIds}
                </if>
                <if test="record.name!=null and record.name!=''">
                    and (a.phone=#{record.name} or a.email=#{record.name} or a.invite_id=#{record.name})
                </if>
                <if test='record.timeType=="1"'>
                    and TO_DAYS(c.create_time) = TO_DAYS(NOW())
                </if>
                <if test='record.timeType=="2"'>
                    and TO_DAYS(NOW()) - TO_DAYS(c.create_time) = 1
                </if>
                <if test='record.timeType=="3"'>
                    and YEARWEEK(date_format(c.create_time,'%Y-%m-%d')) = YEARWEEK(now())
                </if>
                <if test='record.timeType=="4"'>
                    and DATE_FORMAT(c.create_time, '%Y%m' ) = DATE_FORMAT( CURDATE() , '%Y%m' )
                </if>
                and c.order_status = 1
                and c.contract_type = 2
                and c.closing_time is not null
            </if>
        </where>
        order by c.create_time desc
    </select>
 
    <select id="selectHistoryDocumentaryprofitListInPage" resultType="com.xcong.excoin.modules.contract.entity.ContractOrderEntity">
        select
        a.phone,
        a.email,
        a.referer_id,
        concat(b.first_name, b.second_name) name,
        c.opening_fee_amount*(select fee_spread_ratio from platform_trade_setting) opening_fee_amount,
        c.closing_fee_amount*(select fee_spread_ratio from platform_trade_setting) closing_fee_amount,
        c.*,
        d.amount rewardAmountProfit
        from member a
        left join member_authentication b on a.id=b.member_id
        inner join contract_order c on a.id=c.member_id
        left join follow_trader_profit_detail d on d.order_no = c.order_no
        where
        c.id in (
        <foreach collection="record.IDs" item="Ids" separator=",">
            #{Ids}
        </foreach>
        )
        order by d.amount desc
    </select>
 
    <select id="selectFollowContractIdList" resultType="long">
        SELECT
            order_id
        FROM
            follow_follower_order_relation
        WHERE
            order_type = 2
          and trade_order_no = #{orderNoTrade}
          and member_id != trade_member_id
    </select>
 
</mapper>