mx_datav_gs/mxdata_v-system/target/classes/mybatis/gansu/TradeSeqMapper.xml

105 lines
4.6 KiB
XML
Raw Normal View History

2024-11-11 09:53:47 +08:00
<?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.alonginfo.project.gansu.mapper.TradeSeqDao">
<!-- 交易序列入库 == 正式环境数据 -->
<insert id="pushTradeSeq" parameterType="java.util.List">
INSERT INTO
task_trade_seq(trade_seq_id, trade_seq_caption, sub_trade_type, trade_seq_type, creat_time, data_time)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.tradeSeqId}, #{item.tradeSeqCaption}, #{item.subTradetype}, #{item.tradeSeqType}, #{item.creatTime}, #{item.dataTime})
</foreach>
</insert>
<!-- 删除旧交易序列数据 == 正式环境数据-->
<delete id="delTradeSeq">
DELETE FROM
task_trade_seq
</delete>
<!-- 根据交易序列类型获取交易序列id -->
<!-- type = 2-实时多日交易 1-实时非多日交易 0-回演 -->
<!-- subTradeType = 0-常规交易 1-发电权交易 2-合同转让交易 -->
<select id="getAll" resultType="java.util.Map" parameterType = "String">
SELECT tts.trade_seq_id tradeSeqId, tts.trade_seq_caption tradeSeqCaption, ttn.end_date, ttn.file,
<if test = "tradeSeqType == 0">
CASE
WHEN DATE_FORMAT(ttn.end_date, '%Y-%m-%d %H:%i:%s') > NOW() AND ttn.tradeseq_cycle = '多日交易' THEN '2'
WHEN DATE_FORMAT(ttn.end_date, '%Y-%m-%d %H:%i:%s') > NOW() AND ttn.tradeseq_cycle != '多日交易' THEN '1'
WHEN DATE_FORMAT(ttn.end_date, '%Y-%m-%d %H:%i:%s') <![CDATA[<]]> NOW() THEN '0'
ELSE '0' END type,
CASE
WHEN tts.sub_trade_type = '110100' THEN '0'
WHEN tts.sub_trade_type = '120100' THEN '1'
WHEN tts.sub_trade_type = '130100' THEN '2'
ELSE '0' END subTradeType
</if>
<if test = "tradeSeqType == 1 or tradeSeqType == 2">
CASE
WHEN DATE_FORMAT(DATE_ADD(ttn.end_date, INTERVAL 3 HOUR), '%Y-%m-%d %H:%i:%s') > NOW() THEN '1'
WHEN DATE_FORMAT(DATE_ADD(ttn.end_date, INTERVAL 3 HOUR), '%Y-%m-%d %H:%i:%s') <![CDATA[<]]> NOW() THEN '0'
ELSE '0' END type
</if>
FROM
task_trade_seq tts
LEFT JOIN
task_trade_notice ttn
ON
tts.trade_seq_id = ttn.trade_seq_id
WHERE
tts.trade_seq_type = #{tradeSeqType}
ORDER BY
tts.creat_time
DESC
</select>
<!-- 交易序列入库 == 测试环境数据 -->
<insert id="pushTestTradeSeq" parameterType="java.util.List">
INSERT INTO
test_task_trade_seq(trade_seq_id, trade_seq_caption, sub_trade_type, trade_seq_type, creat_time, data_time)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.tradeSeqId}, #{item.tradeSeqCaption}, #{item.subTradetype}, #{item.tradeSeqType}, #{item.creatTime}, #{item.dataTime})
</foreach>
</insert>
<!-- 删除旧交易序列数据 == 测试环境数据-->
<delete id="delTestTradeSeq">
DELETE FROM
test_task_trade_seq
</delete>
<!-- 获取全部的交易序列id -->
<select id="getAllTest" resultType="java.util.Map">
SELECT tts.trade_seq_id tradeSeqId, tts.trade_seq_caption tradeSeqCaption, ttn.end_date, ttn.file,
<if test = "tradeSeqType == 0">
CASE
WHEN DATE_FORMAT(ttn.end_date, '%Y-%m-%d %H:%i:%s') > NOW() AND ttn.tradeseq_cycle = '多日交易' THEN '2'
WHEN DATE_FORMAT(ttn.end_date, '%Y-%m-%d %H:%i:%s') > NOW() AND ttn.tradeseq_cycle != '多日交易' THEN '1'
WHEN DATE_FORMAT(ttn.end_date, '%Y-%m-%d %H:%i:%s') <![CDATA[<]]> NOW() THEN '0'
ELSE '0' END type,
CASE
WHEN tts.sub_trade_type = '110100' THEN '0'
WHEN tts.sub_trade_type = '120100' THEN '1'
WHEN tts.sub_trade_type = '130100' THEN '2'
ELSE '0' END subTradeType
</if>
<if test = "tradeSeqType == 1 or tradeSeqType == 2">
CASE
WHEN DATE_FORMAT(DATE_ADD(ttn.end_date, INTERVAL 3 HOUR), '%Y-%m-%d %H:%i:%s') > NOW() THEN '1'
WHEN DATE_FORMAT(DATE_ADD(ttn.end_date, INTERVAL 3 HOUR), '%Y-%m-%d %H:%i:%s') <![CDATA[<]]> NOW() THEN '0'
ELSE '0' END type
</if>
FROM
test_task_trade_seq tts
LEFT JOIN
test_task_trade_notice ttn
ON
tts.trade_seq_id = ttn.trade_seq_id
WHERE
tts.trade_seq_type = #{tradeSeqType}
ORDER BY
tts.creat_time
DESC
</select>
</mapper>