| 12345678910111213141516171819202122232425262728293031323334353637 |
- <?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.ruoyi.system.omgpay.mapper.OmgPaymentAttemptMapper">
- <sql id="attemptColumns">
- id, dd_id AS ddId, merchant_trade_no AS merchantTradeNo,
- store_id AS storeId, merchant_id AS merchantId, amount,
- attempt_status AS attemptStatus, active_dd_id AS activeDdId,
- create_time AS createTime, update_time AS updateTime
- </sql>
- <!-- FOR UPDATE serializes concurrent endpoint calls before MerchantTradeNo generation/reuse decisions. -->
- <select id="selectOrderForUpdate"
- resultType="com.ruoyi.system.omgpay.domain.OmgPaymentOrderSnapshot">
- SELECT id, dd_id AS ddId, parent_dd_id AS parentDdId, md_id AS storeId,
- user_id AS userId, amount, state, pay_status AS payStatus, pay_type AS payType
- FROM pos_order WHERE dd_id = #{ddId} LIMIT 1 FOR UPDATE
- </select>
- <select id="selectActiveCreatedByDdId"
- resultType="com.ruoyi.system.omgpay.domain.OmgPaymentAttempt">
- SELECT <include refid="attemptColumns"/>
- FROM pos_order_omg_attempt
- WHERE active_dd_id = #{ddId}
- LIMIT 1
- </select>
- <!-- active_dd_id is a DB-generated key invariant, so Java inserts only the created facts. -->
- <insert id="insertCreated" useGeneratedKeys="true" keyProperty="id">
- INSERT INTO pos_order_omg_attempt
- (dd_id, merchant_trade_no, store_id, merchant_id, amount,
- attempt_status, create_time, update_time)
- VALUES
- (#{ddId}, #{merchantTradeNo}, #{storeId}, #{merchantId}, #{amount},
- #{attemptStatus}, #{createTime}, #{updateTime})
- </insert>
- </mapper>
|