<?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.ChannelSignatureIdMapper">

    <select id="listPageChannelSignatureId" resultType="cn.roadm.admin.dto.ChannelSignatureIdListDTO">
        select id,
               channelid,
               signid,
               sign,
               createtime
        from sms_channel_sign_id
        <where>
            <if test="reqVO.channelid != null">
                and channelid = #{reqVO.channelid}
            </if>
            <if test="reqVO.signid != null and reqVO.signid != ''">
                and signid like concat('%', #{reqVO.signid}, '%')
            </if>
            <if test="reqVO.sign != null and reqVO.sign != ''">
                and sign like concat('%', #{reqVO.sign}, '%')
            </if>
        </where>
        order by id desc
    </select>

    <select id="getById" resultType="cn.roadm.admin.dto.ChannelSignatureIdListDTO">
        select id,
               channelid,
               signid,
               sign,
               createtime
        from sms_channel_sign_id
        where id = #{id}
        limit 1
    </select>

    <select id="getByChannelAndSignId" resultType="cn.roadm.admin.dto.ChannelSignatureIdListDTO">
        select id,
               channelid,
               signid,
               sign,
               createtime
        from sms_channel_sign_id
        where channelid = #{channelid}
          and signid = #{signid}
        limit 1
    </select>

    <select id="getByChannelAndSignIdExcludeId" resultType="cn.roadm.admin.dto.ChannelSignatureIdListDTO">
        select id,
               channelid,
               signid,
               sign,
               createtime
        from sms_channel_sign_id
        where channelid = #{channelid}
          and signid = #{signid}
          and id != #{id}
        limit 1
    </select>

    <insert id="insert">
        insert into sms_channel_sign_id(signid, channelid, sign, createtime)
        values (#{reqVO.signid}, #{reqVO.channelid}, #{reqVO.sign}, now())
    </insert>

    <update id="update">
        update sms_channel_sign_id
        set signid    = #{reqVO.signid},
            channelid = #{reqVO.channelid},
            sign      = #{reqVO.sign}
        where id = #{reqVO.id}
    </update>

    <delete id="deleteById">
        delete
        from sms_channel_sign_id
        where id = #{id}
    </delete>
</mapper>
