<?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.WxDateAmountRecordMapper">
	<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxDateAmountRecord">
		<id column="id" jdbcType="BIGINT" property="id" />
		<result column="date" jdbcType="TIMESTAMP" property="date" />
		<result column="day_of_week" jdbcType="INTEGER" property="dayOfWeek" />
		<result column="week_of_year" jdbcType="INTEGER" property="weekOfYear" />
		<result column="pay_price" jdbcType="INTEGER" property="payPrice" />
		<result column="tenant_id" jdbcType="VARCHAR" property="tenantId" />
		<result column="month" jdbcType="INTEGER" property="month" />
		<result column="merchant_id" jdbcType="BIGINT" property="merchantId" />
		<result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
		<result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
		<result column="type" jdbcType="INTEGER" property="type" />
	</resultMap>
	
	<sql id="allColumns">
	    `id`,`date`,`day_of_week`,`week_of_year`,`pay_price`,`tenant_id`,`month`,`merchant_id`,`create_date`,`update_date`,`type` 
	</sql>

	<sql id="dynamicWhereConditions">
	        where 1 = 1
	    
		<if test=" null != id "> 
		and `id` = #{id} 
       	
		</if>    
	    
		<if test=" null != date "> 
		and `date` = #{date} 
       	
		</if>    
	    
		<if test=" null != dayOfWeek "> 
		and `day_of_week` = #{dayOfWeek} 
       	
		</if>    
	    
		<if test=" null != weekOfYear "> 
		and `week_of_year` = #{weekOfYear} 
       	
		</if>    
	    
		<if test=" null != payPrice "> 
		and `pay_price` = #{payPrice} 
       	
		</if>    
	    
		<if test=" null != tenantId "> 
		and `tenant_id`  = #{tenantId}
       	
		</if>    
	    
		<if test=" null != month "> 
		and `month` = #{month} 
       	
		</if>    
	    
		<if test=" null != merchantId "> 
		and `merchant_id` = #{merchantId} 
       	
		</if>    
	    
		<if test=" null != createDate "> 
		and `create_date` = #{createDate} 
       	
		</if>    
	    
		<if test=" null != updateDate "> 
		and `update_date` = #{updateDate} 
       	
		</if>    
	    
		<if test=" null != type "> 
		and `type` = #{type} 
       	
		</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.WxDateAmountRecord" resultMap="BaseResultMap">
		select <include refid="allColumns" /> from wx_date_amount_record
		<include refid="dynamicWhereConditions" />
	</select>
	
	<update id="updateAmount"  parameterType="com.iformall.domain.po.WxDateAmountRecord">
		update wx_date_amount_record set pay_price=pay_price+#{payPrice}
		where tenant_id=#{tenantId} and merchant_id=#{merchantId}
		and type=#{type} and date = #{date}
	
	</update>



</mapper>
