xiaoyong931011
2021-05-26 0ca7bf5c850eaef852a6b49d4b94e8366deedb29
src/main/resources/mapper/otc/OtcOrderDao.xml
@@ -4,7 +4,7 @@
    <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>
@@ -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,69 @@
                </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 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>
    <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 == 0">
              and status = 3
          </if>
        <if test="status != null and status != 0">
            and status != 3
        </if>
    </select>
    <select id="selectOrderTotalAmount" resultType="java.math.BigDecimal">
        select sum(total_amount) from otc_order
        where member_id=#{memberId} and status = 3
    </select>
</mapper>