<?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.roadm.admin.mapper.ChannelSupplierMapper">

    <select id="listPageChannelSupplier" resultType="cn.roadm.admin.dto.ChannelSupplierDTO">
        select id,
               supplier_name as supplierName,
               business,
               date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime
        from channel_supplier
        <where>
            <if test="reqVO.id != null">
                and id = #{reqVO.id}
            </if>
            <if test="reqVO.supplierName != null and reqVO.supplierName != ''">
                and supplier_name like concat('%', #{reqVO.supplierName}, '%')
            </if>
            <if test="reqVO.business != null and reqVO.business != ''">
                and business = #{reqVO.business}
            </if>
            <if test="reqVO.startTime != null and reqVO.startTime != ''">
                and create_time &gt;= str_to_date(#{reqVO.startTime}, '%Y-%m-%d')
            </if>
            <if test="reqVO.endTime != null and reqVO.endTime != ''">
                and create_time &lt; DATE_ADD(str_to_date(#{reqVO.endTime}, '%Y-%m-%d'), INTERVAL 1 DAY)
            </if>
        </where>
        order by id desc
    </select>

    <select id="getChannelSupplierById" resultType="cn.roadm.admin.dto.ChannelSupplierDTO">
        select id,
               supplier_name as supplierName,
               business,
               date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime
        from channel_supplier
        where id = #{id}
        limit 1
    </select>

    <select id="countBySupplierName" resultType="int">
        select count(1)
        from channel_supplier
        where supplier_name = #{supplierName}
        <if test="id != null">
            and id != #{id}
        </if>
    </select>

    <insert id="insertChannelSupplier" useGeneratedKeys="true" keyProperty="id">
        insert into channel_supplier(supplier_name, create_time, business)
        values (#{supplierName}, now(), #{business})
    </insert>

    <update id="updateChannelSupplier">
        update channel_supplier
        set supplier_name = #{supplierName},
            business      = #{business}
        where id = #{id}
    </update>

    <delete id="deleteChannelSupplier">
        delete
        from channel_supplier
        where id = #{id}
    </delete>
</mapper>
