<?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.yami.trading.dao.contract.ContractOrderMapper">
|
|
<sql id="contractOrderColumns">
|
a.UUID AS "uuid",
|
a.PARTY_ID AS "partyId",
|
a.SYMBOL AS "symbol",
|
a.ORDER_NO AS "orderNo",
|
a.DIRECTION AS "direction",
|
a.UNIT_AMOUNT AS "unitAmount",
|
a.AMOUNT_CLOSE AS "amountClose",
|
a.FEE AS "fee",
|
a.DEPOSIT AS "deposit",
|
a.DEPOSIT_OPEN AS "depositOpen",
|
a.PROFIT AS "profit",
|
a.TRADE_AVG_PRICE AS "tradeAvgPrice",
|
a.STOP_PRICE_PROFIT AS "stopPriceProfit",
|
a.STOP_PRICE_LOSS AS "stopPriceLoss",
|
a.PIPS AS "pips",
|
a.PIPS_AMOUNT AS "pipsAmount",
|
a.STATE AS "state",
|
a.LEVER_RATE AS "leverRate",
|
a.VOLUME AS "volume",
|
a.VOLUME_OPEN AS "volumeOpen",
|
a.CLOSE_TIME AS "closeTime",
|
a.CLOSE_AVG_PRICE AS "closeAvgPrice",
|
a.create_by AS "createBy",
|
a.create_time AS "createTime",
|
a.update_by AS "updateBy",
|
a.update_time AS "updateTime",
|
a.remarks AS "remarks",
|
a.del_flag AS "delFlag",
|
a.create_time_ts AS "createTimeTs",
|
a.update_time_ts AS "updateTimeTs"
|
</sql>
|
|
<sql id="contractOrderJoins">
|
|
</sql>
|
|
|
<select id="listRecord" resultType="com.yami.trading.bean.contract.dto.ContractOrderDTO">
|
select a.*,b.role_name AS "roleName",b.user_code AS "userCode",c.money,item.name AS "symbolName" from t_contract_order a
|
left join tz_user b on a.PARTY_ID = b.user_id
|
left join tz_wallet c ON c.user_id = b.user_id
|
left join t_item item on a.symbol = item.SYMBOL
|
<where>
|
<if test="query.type!=null and query.type!=''">
|
and item.type=#{query.type}
|
</if>
|
<if test="query.orderNo!=null and query.orderNo!=''">
|
and a.order_no=#{query.orderNo}
|
</if>
|
<if test="query.children != null and query.children.size() >0">
|
AND a.party_id in
|
<foreach collection="query.children" item="item" index="index" open="(" close=")" separator=",">
|
#{item}
|
</foreach>
|
</if>
|
<if test="query.state!=null and query.state!=''">
|
and a.state=#{query.state}
|
</if>
|
<if test="query.startTime!=null and query.startTime!=''">
|
and a.create_time >= #{query.startTime}
|
</if>
|
|
<if test="query.endTime!=null and query.endTime!=''">
|
and a.create_time <= #{query.endTime}
|
</if>
|
<if test="query.userId!=null and query.userId!=''">
|
and b.user_id=#{query.userId}
|
</if>
|
<if test="query.userCode!=null and query.userCode!=''">
|
and b.user_code=#{query.userCode}
|
</if>
|
<if test="query.roleName!=null and query.roleName!=''">
|
and b.role_name=#{query.roleName}
|
</if>
|
<if test="query.ip!=null and query.ip!=''">
|
and b.user_lastip like CONCAT('%', #{query.ip}, '%')
|
</if>
|
|
<if test="query.userName!=null and query.userName!=''">
|
AND (b.user_name like CONCAT('%', #{query.userName}, '%') or b.user_code like CONCAT('%',
|
#{query.userName}, '%'))
|
</if>
|
</where>
|
GROUP BY a.order_no
|
order by a.create_time desc
|
</select>
|
|
|
<select id="findById" resultType="com.yami.trading.bean.contract.dto.ContractOrderDTO">
|
SELECT
|
<include refid="contractOrderColumns"/>
|
FROM t_contract_order a
|
<include refid="contractOrderJoins"/>
|
WHERE a.uuid = #{id} and a.del_flag = 0
|
</select>
|
|
<select id="findList" resultType="com.yami.trading.bean.contract.dto.ContractOrderDTO">
|
SELECT
|
<include refid="contractOrderColumns"/>
|
FROM t_contract_order a
|
<include refid="contractOrderJoins"/>
|
${ew.customSqlSegment}
|
</select>
|
|
<update id="batchUpdateBuffer">
|
<foreach collection="list" item="item" index="index" open="" separator=";" close="">
|
UPDATE t_contract_order
|
SET force_close_price =#{item.forceClosePrice},
|
close_avg_price = #{item.closeAvgPrice},
|
profit = #{item.profit}
|
WHERE uuid = #{item.uuid}
|
</foreach>
|
</update>
|
|
|
|
</mapper>
|