<?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.iformall.mapper.PosPayOrderMapper">
	<resultMap id="BaseResultMap" type="com.iformall.domain.po.PosPayOrder">
		<id column="id" jdbcType="BIGINT" property="id" />
		<result column="tenant_id" jdbcType="VARCHAR" property="tenantId" />
		<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
		<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
		<result column="order_id" jdbcType="BIGINT" property="orderId" />
		<result column="bu_user_id" jdbcType="BIGINT" property="buUserId" />
		<result column="type" jdbcType="INTEGER" property="type" />
		<result column="pay_from" jdbcType="INTEGER" property="payFrom" />
		<result column="pay_amount" jdbcType="INTEGER" property="payAmount" />
		<result column="pay_time_start" jdbcType="TIMESTAMP" property="payTimeStart" />
		<result column="pay_time_end" jdbcType="TIMESTAMP" property="payTimeEnd" />
		<result column="prepay_id" jdbcType="VARCHAR" property="prepayId" />
		<result column="transaction_id" jdbcType="VARCHAR" property="transactionId" />
		<result column="pay_vendor" jdbcType="INTEGER" property="payVendor" />
		<result column="pay_order_no" jdbcType="VARCHAR" property="payOrderNo" />
		<result column="pay_order_status" jdbcType="INTEGER" property="payOrderStatus" />
		<result column="share" jdbcType="INTEGER" property="share" />
		<result column="share_amount" jdbcType="INTEGER" property="shareAmount" />
		<result column="rate_amount" jdbcType="INTEGER" property="rateAmount" />
		<result column="fail_reason" jdbcType="VARCHAR" property="failReason" />
		<result column="auth_code" jdbcType="VARCHAR" property="authCode" />
		<result column="open_id" jdbcType="VARCHAR" property="openId" />
		<result column="pay_end_from" jdbcType="INTEGER" property="payEndFrom" />
	</resultMap>
	
	<sql id="allColumns">
	    `id`,`tenant_id`,`create_time`,`update_time`,`order_id`,`bu_user_id`,`type`,`pay_from`,`pay_amount`,`pay_time_start`,`pay_time_end`,`prepay_id`,`transaction_id`,`pay_vendor`,`pay_order_no`,`pay_order_status`,`share`,`share_amount`,`rate_amount`,`fail_reason`,`auth_code`,`open_id`,`pay_end_from` 
	</sql>

	<sql id="dynamicWhereConditions">
	        where 1 = 1
		<if test=" null != id ">
		    and `id` = #{id}
		</if>    
		<if test=" null != tenantId ">
		    and `tenant_id` = #{tenantId}
		</if>    
		<if test=" null != createTime ">
		    and `create_time` = #{createTime}
		</if>    
		<if test=" null != updateTime ">
		    and `update_time` = #{updateTime}
		</if>    
		<if test=" null != orderId ">
		    and `order_id` = #{orderId}
		</if>    
		<if test=" null != buUserId ">
		    and `bu_user_id` = #{buUserId}
		</if>    
		<if test=" null != type ">
		    and `type` = #{type}
		</if>    
		<if test=" null != payFrom ">
		    and `pay_from` = #{payFrom}
		</if>    
		<if test=" null != payAmount ">
		    and `pay_amount` = #{payAmount}
		</if>    
		<if test=" null != payTimeStart ">
		    and `pay_time_start` = #{payTimeStart}
		</if>    
		<if test=" null != payTimeEnd ">
		    and `pay_time_end` = #{payTimeEnd}
		</if>    
		<if test=" null != prepayId ">
		    and `prepay_id`  like concat('%', #{prepayId},'%')
		</if>    
		<if test=" null != transactionId ">
		    and `transaction_id`  like concat('%', #{transactionId},'%')
		</if>    
		<if test=" null != payVendor ">
		    and `pay_vendor` = #{payVendor}
		</if>    
		<if test=" null != payOrderNo ">
		    and `pay_order_no`  like concat('%', #{payOrderNo},'%')
		</if>    
		<if test=" null != payOrderStatus ">
		    and `pay_order_status` = #{payOrderStatus}
		</if>    
		<if test=" null != share ">
		    and `share` = #{share}
		</if>    
		<if test=" null != shareAmount ">
		    and `share_amount` = #{shareAmount}
		</if>    
		<if test=" null != rateAmount ">
		    and `rate_amount` = #{rateAmount}
		</if>    
		<if test=" null != failReason ">
		    and `fail_reason`  like concat('%', #{failReason},'%')
		</if>    
		<if test=" null != authCode ">
		    and `auth_code`  like concat('%', #{authCode},'%')
		</if>    
		<if test=" null != openId ">
		    and `open_id`  like concat('%', #{openId},'%')
		</if>    
		<if test=" null != payEndFrom ">
		    and `pay_end_from` = #{payEndFrom}
		</if>    
		<if test=" null != ids ">
		 	and id in  
			<foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")">
			#{idItem}
			</foreach>
		</if>		
		<if test=" null != sortColumns"> order by ${sortColumns} </if>
	</sql>
	
	<select id="findList" parameterType="com.iformall.domain.po.PosPayOrder" resultMap="BaseResultMap">
		select <include refid="allColumns" /> from pos_pay_order
		<include refid="dynamicWhereConditions" />
	</select>
	
	
	
	
	
	
</mapper>
