<?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.WxUserChannelMapper">
	<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxUserChannel">
		<id column="id" jdbcType="BIGINT" property="id" />
		<result column="channel_name" jdbcType="VARCHAR" property="channelName" />
		<result column="scene_address" jdbcType="VARCHAR" property="sceneAddress" />
		<result column="description" jdbcType="VARCHAR" property="description" />
	</resultMap>
	
	<sql id="allColumns">
	    `id`,`channel_name`,`scene_address`,`description` 
	</sql>

	<sql id="dynamicWhereConditions">
	        where 1 = 1
	    
		<if test=" null != id "> 
		and `id` = #{id} 
       	
		</if>    
	    
		<if test=" null != channelName "> 
		and `channel_name` = #{channelName}
       	
		</if>    
	    
		<if test=" null != sceneAddress "> 
		and `scene_address`  = #{sceneAddress}
       	
		</if>    
	    
		<if test=" null != description "> 
		and `description`  like concat('%', #{description},'%')
       	
		</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.WxUserChannel" resultMap="BaseResultMap">
		select <include refid="allColumns" /> from wx_user_channel
		<include refid="dynamicWhereConditions" />
	</select>
	
	
 
	
	<select id="findDistinctChannel" resultMap="BaseResultMap">
		select distinct channel_name from wx_user_channel
		<include refid="dynamicWhereConditions" />
	</select>
	
</mapper>
