<?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.WxCouponPresentMapper">
	<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxCouponPresent">
		<id column="id" jdbcType="BIGINT" property="id"/>
		<result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
		<result column="user_id" jdbcType="BIGINT" property="userId"/>
		<result column="coupon_id" jdbcType="BIGINT" property="couponId"/>
		<result column="coupon_name" jdbcType="VARCHAR" property="couponName"/>
		<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
		<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
		<result column="send_amount" jdbcType="INTEGER" property="sendAmount"/>
	</resultMap>
	
	<sql id="allColumns">
	    `id`,`tenant_id`,`coupon_id`,`coupon_name`,`user_id`,`create_time`,`update_time`,`send_amount`
	</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 != couponId ">
			and `coupon_id` = #{couponId}
		</if>
		<if test=" null != couponName ">
			and `coupon_name` like concat('%', #{couponName},'%')
		</if>
		<if test=" null != phones ">
			and `phones` like concat('%', #{phones},'%')
		</if>
		<if test=" null != sendTimeStart and null!=sendTimeEnd ">
			and `create_time` between #{sendTimeStart} and #{sendTimeEnd}
		</if>
		<if test=" null != updateTime ">
			and `update_time` = #{updateTime}
		</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.WxCouponPresent" resultMap="BaseResultMap">
		select
		<include refid="allColumns"/>
		from wx_coupon_present
		<include refid="dynamicWhereConditions"/>
	</select>

</mapper>
