AntiFakeMapper.xml 6.24 KB
<?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.AntiFakeMapper">
    <resultMap id="antiMap" type="cn.wisenergy.model.app.AntiFake">
        <id column="id" property="id"/>
        <result column="product_no" property="productNo"/>
        <result column="security_code" property="securityCode"/>
        <result column="batch_number" property="batchNumber"/>
        <result column="sha_value" property="shaValue"/>
        <result column="produce_time" property="produceTime"/>
        <result column="scan_time" property="scanTime"/>
        <result column="status" property="status"/>
        <result column="use_status" property="useStatus"/>
        <result column="scan_number" property="scanNumber"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
    </resultMap>

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

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

    <sql id="cols_exclude_id">
        product_no,security_code,batch_number,sha_value,produce_time,scan_time,status,use_status,scan_number,create_time,update_time
    </sql>

    <sql id="vals">
        #{productNo},#{securityCode},#{batchNumber},#{shaValue},#{produceTime},#{scanTime},#{status},#{useStatus},#{scanNumber},now(),now()
    </sql>

    <sql id="createsVal">
        #{i.productNo},#{i.securityCode},#{i.batchNumber},#{i.shaValue},#{i.produceTime},#{i.scanTime},#{i.status},#{i.useStatus},
        #{i.scanNumber},now(),now()
    </sql>

    <sql id="updateCondition">
        <if test="productNo != null">product_no = #{productNo},</if>
        <if test="securityCode != null">security_code = #{securityCode},</if>
        <if test="batchNumber != null">batch_number = #{batchNumber},</if>
        <if test="shaValue != null">sha_value = #{shaValue},</if>
        <if test="produceTime != null">produce_time = #{produceTime},</if>
        <if test="scanTime != null">scan_time = #{scanTime},</if>
        <if test="status != null">status = #{status},</if>
        <if test="useStatus != null">use_status = #{useStatus},</if>
        <if test="scanNumber != null">scan_number = #{scanNumber},</if>
        update_time =now()
    </sql>

    <sql id="criteria">
        <if test="id != null">id = #{id}</if>
        <if test="productNo != null">and product_no = #{productNo}</if>
        <if test="securityCode != null">and security_code = #{securityCode}</if>
        <if test="batchNumber != null">and batch_number = #{batchNumber}</if>
        <if test="shaValue != null">and sha_value = #{shaValue}</if>
        <if test="produceTime != null">and produce_time = #{produceTime}</if>
        <if test="scanTime != null">and scan_time = #{scanTime}</if>
        <if test="status != null">and status = #{status}</if>
        <if test="useStatus != null">and use_status = #{useStatus}</if>
        <if test="scaNumber != null">and sca_number = #{scaNumber}</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.AntiFake" keyProperty="id" useGeneratedKeys="true">
        insert into
        <include refid="table"/>
        (<include refid="cols_exclude_id"/>)
        value(
        <include refid="vals"/>
        )
    </insert>

    <update id="edit" parameterType="cn.wisenergy.model.app.AntiFake">
        UPDATE
        <include refid="table"/>
        <set>
            <include refid="updateCondition"/>
        </set>
        <where>
            id = #{id}
        </where>
    </update>

    <update id="updateUseStatus">
        UPDATE
        <include refid="table"/>
        <set>
            use_status=1
        </set>
        <where>
            use_status=1
            and batch_number=#{batchNumber}
        </where>
    </update>

    <select id="getByBestBigNumber" resultType="java.lang.String">
        select MAX(batch_number)
        from
        <include refid="table"/>
    </select>


    <!-- 批量创建接口 -->
    <insert id="creates" parameterType="list">
        INSERT INTO
        <include refid="table"/>
        (<include refid="cols_exclude_id"/>)
        VALUES
        <foreach collection="list" item="i" index="index" separator=",">
            (<include refid="createsVal"/>)
        </foreach>
    </insert>

    <select id="getByProductNo" resultMap="antiMap">
        select
        <include refid="cols_all"/>
        from
        <include refid="table"/>
        <where>
            product_no=#{productNo}
        </where>
    </select>

    <select id="count" resultType="java.lang.Integer">
        select count(1)
        from
        <include refid="table"/>
        <where>
            1=1
            <if test="useStatus != null">
                and use_status=#{useStatus}
            </if>
        </where>
    </select>

    <select id="getList" resultMap="antiMap">
        select
        <include refid="cols_all"/>
        from
        <include refid="table"/>
        <where>
            1=1
            <if test="useStatus != null">
                and use_status=#{useStatus}
            </if>
            order by create_time desc
            limit #{startNum},#{endNum}
        </where>
    </select>

    <select id="getProductNos" resultMap="antiMap">
        select
        <include refid="cols_all"/>
        from
        <include refid="table"/>
        <where>
            use_status=0
            and id IN
            <foreach collection="list" index="index" item="id" separator="," open="(" close=")">
                #{id}
            </foreach>
        </where>
    </select>

    <select id="getByShaValue" resultMap="antiMap">
        select
        <include refid="cols_all"/>
        from
        <include refid="table"/>
        <where>
            sha_value=#{shaValue}
        </where>
    </select>

    <select id="getBatchNumber" resultMap="antiMap">
        select
        <include refid="cols_all"/>
        from
        <include refid="table"/>
        <where>
            use_status=0
            and batch_number=#{batchNumber}
        </where>
    </select>


</mapper>