<?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.dy.pipIrrGlobal.daoSe.SeRefundMapper">
|
<resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeRefund">
|
<!--@mbg.generated-->
|
<!--@Table se_refund-->
|
<id column="id" jdbcType="BIGINT" property="id" />
|
<result column="wallet_id" jdbcType="BIGINT" property="walletId" />
|
<result column="client_id" jdbcType="BIGINT" property="clientId" />
|
<result column="money" jdbcType="FLOAT" property="money" />
|
<result column="refund_amount" jdbcType="FLOAT" property="refundAmount" />
|
<result column="after_refund" jdbcType="FLOAT" property="afterRefund" />
|
<result column="application_time" jdbcType="TIMESTAMP" property="applicationTime" />
|
<result column="refund_status" jdbcType="TINYINT" property="refundStatus" />
|
<result column="auditor" jdbcType="BIGINT" property="auditor" />
|
<result column="audit_time" jdbcType="TIMESTAMP" property="auditTime" />
|
<result column="remarks" jdbcType="VARCHAR" property="remarks" />
|
</resultMap>
|
<sql id="Base_Column_List">
|
<!--@mbg.generated-->
|
id, wallet_id, client_id, money, refund_amount, after_refund, application_time, refund_status,
|
auditor, audit_time, remarks
|
</sql>
|
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
|
<!--@mbg.generated-->
|
select
|
<include refid="Base_Column_List" />
|
from se_refund
|
where id = #{id,jdbcType=BIGINT}
|
</select>
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
|
<!--@mbg.generated-->
|
delete from se_refund
|
where id = #{id,jdbcType=BIGINT}
|
</delete>
|
<insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRefund">
|
<!--@mbg.generated-->
|
insert into se_refund (id, wallet_id, client_id,
|
money, refund_amount, after_refund,
|
application_time, refund_status, auditor,
|
audit_time, remarks)
|
values (#{id,jdbcType=BIGINT}, #{walletId,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT},
|
#{money,jdbcType=FLOAT}, #{refundAmount,jdbcType=FLOAT}, #{afterRefund,jdbcType=FLOAT},
|
#{applicationTime,jdbcType=TIMESTAMP}, #{refundStatus,jdbcType=TINYINT}, #{auditor,jdbcType=BIGINT},
|
#{auditTime,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR})
|
</insert>
|
<insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRefund">
|
<!--@mbg.generated-->
|
insert into se_refund
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="id != null">
|
id,
|
</if>
|
<if test="walletId != null">
|
wallet_id,
|
</if>
|
<if test="clientId != null">
|
client_id,
|
</if>
|
<if test="money != null">
|
money,
|
</if>
|
<if test="refundAmount != null">
|
refund_amount,
|
</if>
|
<if test="afterRefund != null">
|
after_refund,
|
</if>
|
<if test="applicationTime != null">
|
application_time,
|
</if>
|
<if test="refundStatus != null">
|
refund_status,
|
</if>
|
<if test="auditor != null">
|
auditor,
|
</if>
|
<if test="auditTime != null">
|
audit_time,
|
</if>
|
<if test="remarks != null">
|
remarks,
|
</if>
|
</trim>
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<if test="id != null">
|
#{id,jdbcType=BIGINT},
|
</if>
|
<if test="walletId != null">
|
#{walletId,jdbcType=BIGINT},
|
</if>
|
<if test="clientId != null">
|
#{clientId,jdbcType=BIGINT},
|
</if>
|
<if test="money != null">
|
#{money,jdbcType=FLOAT},
|
</if>
|
<if test="refundAmount != null">
|
#{refundAmount,jdbcType=FLOAT},
|
</if>
|
<if test="afterRefund != null">
|
#{afterRefund,jdbcType=FLOAT},
|
</if>
|
<if test="applicationTime != null">
|
#{applicationTime,jdbcType=TIMESTAMP},
|
</if>
|
<if test="refundStatus != null">
|
#{refundStatus,jdbcType=TINYINT},
|
</if>
|
<if test="auditor != null">
|
#{auditor,jdbcType=BIGINT},
|
</if>
|
<if test="auditTime != null">
|
#{auditTime,jdbcType=TIMESTAMP},
|
</if>
|
<if test="remarks != null">
|
#{remarks,jdbcType=VARCHAR},
|
</if>
|
</trim>
|
</insert>
|
<update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRefund">
|
<!--@mbg.generated-->
|
update se_refund
|
<set>
|
<if test="walletId != null">
|
wallet_id = #{walletId,jdbcType=BIGINT},
|
</if>
|
<if test="clientId != null">
|
client_id = #{clientId,jdbcType=BIGINT},
|
</if>
|
<if test="money != null">
|
money = #{money,jdbcType=FLOAT},
|
</if>
|
<if test="refundAmount != null">
|
refund_amount = #{refundAmount,jdbcType=FLOAT},
|
</if>
|
<if test="afterRefund != null">
|
after_refund = #{afterRefund,jdbcType=FLOAT},
|
</if>
|
<if test="applicationTime != null">
|
application_time = #{applicationTime,jdbcType=TIMESTAMP},
|
</if>
|
<if test="refundStatus != null">
|
refund_status = #{refundStatus,jdbcType=TINYINT},
|
</if>
|
<if test="auditor != null">
|
auditor = #{auditor,jdbcType=BIGINT},
|
</if>
|
<if test="auditTime != null">
|
audit_time = #{auditTime,jdbcType=TIMESTAMP},
|
</if>
|
<if test="remarks != null">
|
remarks = #{remarks,jdbcType=VARCHAR},
|
</if>
|
</set>
|
where id = #{id,jdbcType=BIGINT}
|
</update>
|
<update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeRefund">
|
<!--@mbg.generated-->
|
update se_refund
|
set wallet_id = #{walletId,jdbcType=BIGINT},
|
client_id = #{clientId,jdbcType=BIGINT},
|
money = #{money,jdbcType=FLOAT},
|
refund_amount = #{refundAmount,jdbcType=FLOAT},
|
after_refund = #{afterRefund,jdbcType=FLOAT},
|
application_time = #{applicationTime,jdbcType=TIMESTAMP},
|
refund_status = #{refundStatus,jdbcType=TINYINT},
|
auditor = #{auditor,jdbcType=BIGINT},
|
audit_time = #{auditTime,jdbcType=TIMESTAMP},
|
remarks = #{remarks,jdbcType=VARCHAR}
|
where id = #{id,jdbcType=BIGINT}
|
</update>
|
|
<!--根据钱包ID获取待审核的退款申请对象-->
|
<select id="getRefundByWallerId" parameterType="java.lang.Long" resultMap="BaseResultMap">
|
select
|
<include refid="Base_Column_List" />
|
from se_refund
|
where refund_status = 1 AND wallet_id = ${walletId}
|
</select>
|
|
<!--根据指定条件获取电子钱包退款记录数-->
|
<select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
|
SELECT
|
COUNT(*) AS recordCount
|
FROM se_refund ref
|
INNER JOIN se_client cli ON ref.client_id = cli.id
|
<where>
|
<if test = "refundStatus != null and refundStatus > 0">
|
AND ref.refund_status = ${refundStatus}
|
</if>
|
|
<if test = "clientName != null and clientName !=''">
|
AND cli.name like CONCAT('%',#{clientName},'%')
|
</if>
|
</where>
|
</select>
|
|
<!--根据指定条件获取电子钱包退款记录-->
|
<select id="getWalletRefunds" resultType="com.dy.pipIrrGlobal.voSe.VoWalletRefund">
|
SELECT
|
cli.`name`,
|
cli.clientNum,
|
cli.phone,
|
ref.refund_amount AS refundAmount,
|
ref.application_time AS applicationTime,
|
ref.refund_status AS refundStatus,
|
(CASE
|
WHEN ref.refund_status = 1 THEN '未退款'
|
WHEN ref.refund_status = 2 THEN '已退款'
|
End) AS refundStatusName,
|
ref.audit_time AS auditTime,
|
ref.remarks
|
FROM se_refund ref
|
INNER JOIN se_client cli ON ref.client_id = cli.id
|
<where>
|
<if test = "refundStatus != null and refundStatus > 0">
|
AND ref.refund_status = ${refundStatus}
|
</if>
|
|
<if test = "clientName != null and clientName !=''">
|
AND cli.name like CONCAT('%',#{clientName},'%')
|
</if>
|
</where>
|
ORDER BY ref.application_time DESC
|
<trim prefix="limit " >
|
<if test="start != null and count != null">
|
#{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
|
</if>
|
</trim>
|
</select>
|
|
<!--获取指定日期微信退款(只计算已退的)总额,财务对账审核页使用-->
|
<select id="getRefundSum" resultType="java.lang.Double">
|
SELECT
|
SUM(refund_amount) AS tradeAmount
|
FROM se_refund
|
<where>
|
AND refund_status = 2
|
<if test = "tradeDate != null and tradeDate !=''">
|
AND Date(audit_time) = #{tradeDate}
|
</if>
|
</where>
|
GROUP BY Date(audit_time)
|
</select>
|
</mapper>
|