Helius
2021-05-21 d30d959c8f249c20b39e66dd0c48341a77751d21
src/main/resources/mapper/otc/OtcOrderDao.xml
@@ -14,12 +14,13 @@
            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.member_id=b.id
        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">
@@ -36,11 +37,15 @@
                </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>
@@ -48,4 +53,36 @@
        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 entrust_member_id=#{entrustMemberId} and entrust_member_id!=member_id
        <if test="status != null">
            and status = #{status}
        </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>
</mapper>