<?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.MallRoleMapper">
	<resultMap id="BaseResultMap" type="com.iformall.domain.po.MallRole">
		<id column="id" jdbcType="BIGINT" property="id" />
		<result column="tenant_id" jdbcType="VARCHAR" property="tenantId" />
		<result column="name" jdbcType="VARCHAR" property="name" />
		<result column="available" jdbcType="VARCHAR" property="available" />
		<result column="description" jdbcType="VARCHAR" property="description" />
	</resultMap>
	
	<sql id="allColumns">
	    `id`,`tenant_id`,`name`,`available`,`description` 
	</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 != name and  '' != name "> 
		and `name`  like concat('%', #{name},'%')
       	
		</if>    
	    
		<if test=" null != available "> 
		and `available`  like concat('%', #{available},'%')
       	
		</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.MallRole" resultMap="BaseResultMap">
		select <include refid="allColumns" /> from mall_role
		<include refid="dynamicWhereConditions" />
	</select>
	
	<select id="countByName" resultType="java.lang.Integer"  parameterType="java.util.HashMap">
   		select count(1) from mall_role where name=#{name}
   		<if test="id!=null"> and id !=#{id}</if>
   	</select>
	
	
	
	
</mapper>
