<?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.WxDataRuleTargetMapper">
	<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxDataRuleTarget">
		<id column="id" jdbcType="BIGINT" property="id"/>
		<result column="tenant_id" jdbcType="VARCHAR" property="tenantId"/>
		<result column="parent" jdbcType="BIGINT" property="parent"/>
		<result column="name" jdbcType="VARCHAR" property="name"/>
		<result column="tag" jdbcType="VARCHAR" property="tag"/>
		<result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
		<result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
	</resultMap>
	
	<sql id="allColumns">
        `id`,`parent`,`name`,`tag`,`create_time`,`update_time`
	</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 != parent ">
			and `parent` = #{parent}
		</if>
		
		<if test=" null != name ">
			and `name` like concat('%',#{name},'%')
		</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.WxDataRuleTarget" resultMap="BaseResultMap">
		select
		<include refid="allColumns"/>
		from wx_data_rule_target
		<include refid="dynamicWhereConditions"/>
	</select>

</mapper>
