ITradeOrderDao.xml
2.53 KB
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
<?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.diligrp.cashier.trade.dao.ITradeOrderDao">
<resultMap id="TradeOrderMap" type="com.diligrp.cashier.trade.model.TradeOrder">
<id column="id" property="id"/>
<result column="mch_id" property="mchId"/>
<result column="trade_id" property="tradeId"/>
<result column="type" property="type"/>
<result column="out_trade_no" property="outTradeNo"/>
<result column="amount" property="amount"/>
<result column="max_amount" property="maxAmount"/>
<result column="goods" property="goods"/>
<result column="timeout" property="timeout"/>
<result column="state" property="state"/>
<result column="notify_url" property="notifyUrl"/>
<result column="description" property="description"/>
<result column="attach" property="attach"/>
<result column="source" property="source"/>
<result column="version" property="version"/>
<result column="created_time" property="createdTime"/>
<result column="modified_time" property="modifiedTime"/>
</resultMap>
<insert id="insertTradeOrder" parameterType="com.diligrp.cashier.trade.model.TradeOrder">
INSERT INTO upay_trade_order(mch_id, trade_id, type, out_trade_no, amount, max_amount, goods, timeout,
state, notify_url, description, attach, source, version, created_time, modified_time)
VALUES (#{mchId}, #{tradeId}, #{type}, #{outTradeNo}, #{amount}, #{maxAmount}, #{goods}, #{timeout},
#{state}, #{notifyUrl}, #{description}, #{attach}, #{source}, #{version}, #{createdTime}, #{modifiedTime})
</insert>
<select id="findByTradeId" resultMap="TradeOrderMap">
SELECT * FROM upay_trade_order WHERE trade_id = #{tradeId}
</select>
<select id="findByOutTradeNo" resultMap="TradeOrderMap">
SELECT * FROM upay_trade_order WHERE mch_id = #{mchId} AND out_trade_no = #{outTradeNo}
</select>
<update id="compareAndSetState">
UPDATE upay_trade_order SET version = version + 1
<if test="amount != null">
, amount = #{amount}
</if>
<if test="state != null">
, state = #{state}
</if>
<if test="modifiedTime != null">
, modified_time = #{modifiedTime}
</if>
WHERE
trade_id = #{tradeId} AND version = #{version}
</update>
</mapper>