<?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.mapper.SysTaskPaymentMapper">
|
|
<resultMap type="SysTaskPayment" id="SysTaskPaymentResult">
|
<result property="id" column="id" />
|
<result property="taskId" column="task_id" />
|
<result property="totalAmount" column="total_amount" />
|
<result property="settlementAmount" column="settlement_amount" />
|
<result property="paymentMethod" column="payment_method" />
|
<result property="payStatus" column="pay_status" />
|
<result property="payTime" column="pay_time" />
|
<result property="outTradeNo" column="out_trade_no" />
|
<result property="tradeNo" column="trade_no" />
|
<result property="codeUrl" column="code_url" />
|
<result property="qrExpireTime" column="qr_expire_time" />
|
<result property="provider" column="provider" />
|
<result property="paymentRefId" column="payment_ref_id" />
|
<result property="callbackUrl" column="callback_url" />
|
<result property="remark" column="remark" />
|
<result property="createdBy" column="created_by" />
|
<result property="createdTime" column="created_time" />
|
<result property="updateTime" column="update_time" />
|
<result property="pid" column="pid" />
|
<result property="syncStatus" column="sync_status" />
|
<result property="syncTime" column="sync_time" />
|
</resultMap>
|
|
<sql id="selectSysTaskPaymentVo">
|
select id, task_id, total_amount, settlement_amount, payment_method, pay_status, pay_time,
|
out_trade_no, trade_no, code_url, qr_expire_time, provider, payment_ref_id, callback_url,
|
remark, created_by, created_time, update_time, pid, sync_status, sync_time
|
from sys_task_payment
|
</sql>
|
|
<select id="selectLatestPaidByTaskId" parameterType="Long" resultMap="SysTaskPaymentResult">
|
<include refid="selectSysTaskPaymentVo"/>
|
where task_id = #{taskId} and pay_status = 'PAID'
|
order by pay_time desc
|
limit 1
|
</select>
|
|
<select id="selectAllPaidByTaskId" parameterType="Long" resultMap="SysTaskPaymentResult">
|
<include refid="selectSysTaskPaymentVo"/>
|
where task_id = #{taskId} and pay_status = 'PAID'
|
order by pay_time desc
|
</select>
|
|
<select id="selectByTaskId" parameterType="Long" resultMap="SysTaskPaymentResult">
|
<include refid="selectSysTaskPaymentVo"/>
|
where task_id = #{taskId}
|
order by created_time desc
|
</select>
|
|
<select id="selectById" parameterType="Long" resultMap="SysTaskPaymentResult">
|
<include refid="selectSysTaskPaymentVo"/>
|
where id = #{id}
|
</select>
|
|
<select id="selectByOutTradeNo" parameterType="String" resultMap="SysTaskPaymentResult">
|
<include refid="selectSysTaskPaymentVo"/>
|
where out_trade_no = #{outTradeNo}
|
</select>
|
|
<insert id="insert" parameterType="SysTaskPayment" useGeneratedKeys="true" keyProperty="id">
|
insert into sys_task_payment
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="taskId != null">task_id,</if>
|
<if test="totalAmount != null">total_amount,</if>
|
<if test="settlementAmount != null">settlement_amount,</if>
|
<if test="paymentMethod != null and paymentMethod != ''">payment_method,</if>
|
<if test="payStatus != null and payStatus != ''">pay_status,</if>
|
<if test="payTime != null">pay_time,</if>
|
<if test="outTradeNo != null and outTradeNo != ''">out_trade_no,</if>
|
<if test="tradeNo != null and tradeNo != ''">trade_no,</if>
|
<if test="codeUrl != null and codeUrl != ''">code_url,</if>
|
<if test="qrExpireTime != null">qr_expire_time,</if>
|
<if test="provider != null and provider != ''">provider,</if>
|
<if test="paymentRefId != null and paymentRefId != ''">payment_ref_id,</if>
|
<if test="callbackUrl != null and callbackUrl != ''">callback_url,</if>
|
<if test="remark != null">remark,</if>
|
<if test="createdBy != null and createdBy != ''">created_by,</if>
|
<if test="createdTime != null">created_time,</if>
|
<if test="pid != null">pid,</if>
|
<if test="syncStatus != null">sync_status,</if>
|
<if test="syncTime != null">sync_time,</if>
|
</trim>
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<if test="taskId != null">#{taskId},</if>
|
<if test="totalAmount != null">#{totalAmount},</if>
|
<if test="settlementAmount != null">#{settlementAmount},</if>
|
<if test="paymentMethod != null and paymentMethod != ''">#{paymentMethod},</if>
|
<if test="payStatus != null and payStatus != ''">#{payStatus},</if>
|
<if test="payTime != null">#{payTime},</if>
|
<if test="outTradeNo != null and outTradeNo != ''">#{outTradeNo},</if>
|
<if test="tradeNo != null and tradeNo != ''">#{tradeNo},</if>
|
<if test="codeUrl != null and codeUrl != ''">#{codeUrl},</if>
|
<if test="qrExpireTime != null">#{qrExpireTime},</if>
|
<if test="provider != null and provider != ''">#{provider},</if>
|
<if test="paymentRefId != null and paymentRefId != ''">#{paymentRefId},</if>
|
<if test="callbackUrl != null and callbackUrl != ''">#{callbackUrl},</if>
|
<if test="remark != null">#{remark},</if>
|
<if test="createdBy != null and createdBy != ''">#{createdBy},</if>
|
<if test="createdTime != null">#{createdTime},</if>
|
<if test="pid != null">#{pid},</if>
|
<if test="syncStatus != null">#{syncStatus},</if>
|
<if test="syncTime != null">#{syncTime},</if>
|
</trim>
|
</insert>
|
|
<update id="update" parameterType="SysTaskPayment">
|
update sys_task_payment
|
<trim prefix="SET" suffixOverrides=",">
|
<if test="payStatus != null and payStatus != ''">pay_status = #{payStatus},</if>
|
<if test="payTime != null">pay_time = #{payTime},</if>
|
<if test="tradeNo != null and tradeNo != ''">trade_no = #{tradeNo},</if>
|
<if test="remark != null">remark = #{remark},</if>
|
update_time = now(),
|
</trim>
|
where id = #{id}
|
</update>
|
|
<update id="updatePayStatus">
|
update sys_task_payment
|
set pay_status = #{payStatus},
|
<if test="tradeNo != null and tradeNo != ''">trade_no = #{tradeNo},</if>
|
pay_time = now(),
|
update_time = now()
|
where id = #{id}
|
</update>
|
|
<select id="selectByPid" parameterType="Long" resultMap="SysTaskPaymentResult">
|
<include refid="selectSysTaskPaymentVo"/>
|
where pid = #{pid}
|
</select>
|
|
<update id="updateSyncInfo">
|
update sys_task_payment
|
set pid = #{pid},
|
sync_status = #{syncStatus},
|
sync_time = #{syncTime},
|
update_time = now()
|
where id = #{id}
|
</update>
|
|
<select id="selectUnsyncedPaidPayments" resultMap="SysTaskPaymentResult">
|
<include refid="selectSysTaskPaymentVo"/>
|
where pay_status = 'PAID'
|
and (sync_status = 0 or sync_status = 3 or sync_status is null)
|
order by id desc
|
limit 100
|
</select>
|
|
</mapper>
|