<?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.SchemeMapper">
    <resultMap id="userMap" type="cn.wisenergy.model.app.SchemeInfo">
        <id column="id" property="id"/>
        <result column="scheme_name" property="schemeName"/>
        <result column="upload_time" property="uploadTime"/>
        <result column="type" property="type"/>
        <result column="is_delete" property="isDelete"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
    </resultMap>

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

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

    <sql id="cols_exclude_id">
        scheme_name,upload_time, type,is_delete,create_time,update_time
    </sql>

    <sql id="vals">
        #{schemeName},#{uploadTime},#{type},#{isDelete},now(),now()
    </sql>

    <sql id="updateCondition">
        <if test="schemeName != null">scheme_name = #{schemeName},</if>
        <if test="uploadTime != null">upload_time =#{uploadTime},</if>
        <if test="type != null">type =#{type},</if>
        <if test="isDelete != null">is_delete =#{isDelete},</if>
        update_time =now()
    </sql>

    <sql id="criteria">
        <if test="id != null">id = #{id}</if>
        <if test="schemeName != null">and scheme_name = #{schemeName}</if>
        <if test="uploadTime != null">and upload_time =#{uploadTime}</if>
        <if test="type != null">and type =#{type}</if>
        <if test="isDelete != 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.SchemeInfo" keyProperty="id"
            keyColumn="id" useGeneratedKeys="true">
        insert into
        <include refid="table"/>
        (<include refid="cols_exclude_id"/>)
        value(
        <include refid="vals"/>
        )
    </insert>


    <select id="getList" parameterType="map" resultType="cn.wisenergy.model.app.SchemeInfo">
        select
        <include refid="cols_all"/>
        from
        <include refid="table"/>
        <where>
            is_delete=0
            order by create_time desc
            limit #{startNum},#{endNum}
        </where>
    </select>

    <select id="count" resultType="java.lang.Integer">
        select count(1)
        from
        <include refid="table"/>
        <where>
            is_delete=0
        </where>
    </select>

</mapper>