<?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.xhpc.payment.mapper.XhpcRefundAuditMapper">

    <resultMap type="com.xhpc.payment.domain.XhpcRefundAudit" id="XhpcRefundAuditResult">
        <result column="refund_audit_id" property="refundAuditId"/>
        <result column="refund_order_id" property="refundOrderId"/>
        <result column="status" property="status"/>
        <result column="del_flag" property="delFlag"/>
        <result column="create_time" property="createTime"/>
        <result column="create_by" property="createBy"/>
        <result column="update_time" property="updateTime"/>
        <result column="update_by" property="updateBy"/>
        <result column="remark" property="remark"/>
    </resultMap>

    <insert id="insert" parameterType="com.xhpc.payment.domain.XhpcRefundAudit" useGeneratedKeys="true"
            keyProperty="refundAuditId">
        INSERT INTO xhpc_refund_audit
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="null != refundOrderId and '' != refundOrderId">
                refund_order_id,
            </if>
            <if test="null != status and '' != status">
                status,
            </if>
            <if test="null != delFlag and '' != delFlag">
                del_flag,
            </if>
            <if test="null != createTime ">
                create_time,
            </if>
            <if test="null != createBy and '' != createBy">
                create_by,
            </if>
            <if test="null != updateTime">
                update_time,
            </if>
            <if test="null != updateBy and '' != updateBy">
                update_by,
            </if>
            <if test="null != remark and '' != remark">
                remark
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="null != refundOrderId and '' != refundOrderId">
                #{refundOrderId},
            </if>
            <if test="null != status and '' != status">
                #{status},
            </if>
            <if test="null != delFlag and '' != delFlag">
                #{delFlag},
            </if>
            <if test="null != createTime ">
                #{createTime},
            </if>
            <if test="null != createBy and '' != createBy">
                #{createBy},
            </if>
            <if test="null != updateTime">
                #{updateTime},
            </if>
            <if test="null != updateBy and '' != updateBy">
                #{updateBy},
            </if>
            <if test="null != remark and '' != remark">
                #{remark}
            </if>
        </trim>
    </insert>

    <select id="list" parameterType="java.lang.Long" resultType="java.util.Map">
        select xro.refund_order_id refundOrderId ,
        xro.`status`, xau.phone,sdd.dict_label statusName,sdds.dict_label examineStatusName,
        xra.remark,xra.create_time createTime,xro.examine_status examineStatus
        from xhpc_refund_audit xra
        LEFT JOIN xhpc_refund_order xro on xra.refund_order_id = xro.refund_order_id
        LEFT JOIN xhpc_app_user xau on xau.app_user_id = xro.user_id
        LEFT JOIN sys_dict_data sdd on sdd.`dict_type` = 'refund_order_status' and sdd.dict_value = xro.`status`
        LEFT JOIN sys_dict_data sdds on sdds.`dict_type` = 'refund_examine_status' and sdds.dict_value =
        xro.examine_status
        where xra.del_flag = 0
        <if test="refundOrderId != null and refundOrderId != ''">
            and xro.refund_order_id = #{refundOrderId}
        </if>
        ORDER BY xra.create_time DESC
    </select>

</mapper> 