<?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="cn.wisenergy.mapper.RefillCardMapper">
    <resultMap id="refillCardMap" type="cn.wisenergy.model.app.RefillCard">
        <id column="id" property="id"/>
        <result column="batch_number" property="batchNumber"/>
        <result column="is_make_card" property="isMakeCard"/>
        <result column="card_number" property="cardNumber"/>
        <result column="is_activite" property="isActivite"/>
        <result column="is_delete" property="isDelete"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
    </resultMap>

    <sql id="table">
        refill_card
    </sql>

    <sql id="cols_all">
        id,
        <include refid="cols_exclude_id"/>
    </sql>

    <sql id="cols_exclude_id">
        card_number,batch_number,is_make_card, is_activite,is_delete,create_time,update_time
    </sql>

    <sql id="vals">
        #{cardNumber},#{batchNumber},#{isMakeCard},#{isActivite},
        #{isDelete},now(),now()
    </sql>

    <sql id="updateCondition">
        <if test="userName != null">card_number = #{cardNumber},</if>
        <if test="password != null">batch_number =#{batchNumber},</if>
        <if test="phone != null">is_make_card =#{isMakeCard},</if>
        <if test="headImage != null">is_activite =#{isMakeCard},</if>
        <if test="examType != null">is_delete = #{isDelete},</if>
        update_time =now()
    </sql>

    <sql id="criteria">
        <if test="userName != null">and card_number = #{cardNumber}</if>
        <if test="password != null"> and batch_number =#{batchNumber}</if>
        <if test="phone != null">and is_make_card =#{isMakeCard}</if>
        <if test="headImage != null"> and is_activite =#{isMakeCard}</if>
        <if test="examType != null">and is_delete = #{isDelete}</if>
        <if test="createTime != null">and create_time &gt;= #{createTime}</if>
        <if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
    </sql>

    <insert id="add" parameterType="cn.wisenergy.model.app.User" keyProperty="id" useGeneratedKeys="true">
        insert into
        <include refid="table"/>
        (<include refid="cols_exclude_id"/>)
        value(
        <include refid="vals"/>
        )
    </insert>

    <update id="update" parameterType="java.lang.String">
        UPDATE
        <include refid="table"/>
        <set>
            is_activite =0
        </set>
        <where>
            batch_number =#{batchNumber}
        </where>
    </update>

    <select id="getList" resultMap="refillCardMap" parameterType="map">
    select
    <include refid="cols_all"/>
    from
    <include refid="table"/>
    <where>
        is_delete=0

        order by create_time desc
        limit #{pageNo},#{pageSize}
    </where>
    </select>


    <select id="getUserNumbers" resultType="java.lang.Integer">
        SELECT COUNT(id)
        FROM
        <include refid="table"/>
        where is_delete=0
    </select>

    <select id="getById" resultMap="refillCardMap">
        select
        <include refid="cols_all"/>
        from
        <include refid="table"/>
        where id=#{id}
    </select>

    <update id="setIsMakeCard">
        UPDATE
        <include refid="table"/>
        <set>
            is_make_card =0
        </set>
        <where>
             id=#{id}
        </where>
    </update>
</mapper>