<?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.mapper.SpecialTemplateMapper">

    <select id="listPageSpecialTemplateGroup" resultType="cn.roadm.bo.SpecialTemplateGroup">
        select id,name,DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') as createTime from special_template_group where 1=1
        <if test="id != null">
            and id = #{id}
        </if>
        <if test="name != null and name != ''">
            and name like '%sms-admin-pro%'
        </if>
        order by create_time desc
    </select>

    <select id="specialTemplateGroup" resultType="cn.roadm.bo.SpecialTemplateGroup">
        select id,name,DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') as createTime from special_template_group where 1=1
        <if test="id != null">
            and id = #{id}
        </if>
        <if test="name != null and name != ''">
            and name like '%sms-admin-pro%'
        </if>
        <if test="spId != null and spId != ''">
            and find_in_set(id , (select special_template_group_id from sms_sp_special_config where sp_id = #{spId}))
        </if>
        order by create_time desc
    </select>

    <insert id="insertSpecialTemplateGroup">
        insert into special_template_group (`name`,`create_time`) value (#{name},now())
    </insert>

    <update id="updateSpecialTemplateGroup">
        update special_template_group set name = #{name} where id = #{id}
    </update>

    <select id="selectSpecialTemplateGroupById" resultType="cn.roadm.bo.SpecialTemplateGroup">
        select id,name,DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') as createTime
        from special_template_group where id = #{id}
    </select>

    <select id="listPageSpecialTemplate" resultType="cn.roadm.bo.SpecialTemplate">
        select a.id,a.group_id as groupId ,a.content ,a.name ,b.name as groupName ,
        DATE_FORMAT(a.create_time, '%Y-%m-%d %H:%i:%s') as createTime
        from special_template a left join special_template_group b on a.group_id = b.id where 1=1
        <if test="groupId != null">
            and a.group_id = #{groupId}
        </if>
        <if test="groupName != null and groupName != ''">
            and b.name like concat('%',#{groupName},'%')
        </if>
        <if test="content != null and content != ''">
            and a.content like concat('%',#{content},'%')
        </if>
        <if test="name != null and name != ''">
            and a.name like concat('%',#{name},'%')
        </if>
        <if test="spId != null and spId != ''">
            and find_in_set(a.group_id , (SELECT special_template_group_id FROM `sms_sp_special_config` WHERE sp_id = #{spId}))
        </if>
        order by a.create_time desc
    </select>

    <select id="selectSpecialTemplateById" resultType="cn.roadm.bo.SpecialTemplate">
        select id,group_id groupId,name ,content,DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s') as createTime
        from special_template where id = #{id}
    </select>

    <insert id="insertSpecialTemplate">
        insert into special_template (group_id,name,content,create_time)value(#{groupId},#{name},#{content},now())
    </insert>

    <update id="updateSpecialTemplate">
        update special_template set group_id = #{groupId},content = #{content},name = #{name} where id = #{id}
    </update>

    <delete id="deleteSpecialTemplate">
        delete from special_template where id = #{id}
    </delete>

    <delete id="deleteSpecialTemplateByIds">
        delete from special_template where id in (${ids})
    </delete>

    <delete id="deleteSpecialTemplateByGroupId">
        delete from special_template where group_id = #{id}
    </delete>

    <delete id="deleteSpecialTemplateGroupById">
        delete from special_template_group where id = #{id}
    </delete>

    <select id="getSpSpecialConfigByGroupId" resultType="SpSpecialConfig">
        select sp_id spId,special_template_group_id specialTemplateGroupId,st.s_t_arrive from sms_sp_special_config
        where find_in_set(#{id},special_template_group_id)
    </select>

    <update id="updateSpecialConfigGroupId">
        update sms_sp_special_config set special_template_group_id = #{groupIds},s_t_arrive = #{s_t_arrive}
        where sp_id = #{spId}
    </update>

    <select id="getSpSpecialConfigBySpId" resultType="SpSpecialConfig">
        select st.sp_id spId,st.id,st.unknown,st.arrive,st.deduct_mdn,st.deduct_city,st.is_valid_mdn,deduct_flag,delay_second
        ,telecom,unicom,mobile,start_num,start_cycle,null_mdn_flag,long_sms_success,
        st.nday, st.ntimes,st.keyword,st.no_keyword,st.is_null_mdn,st.deduct_black,
        st.special_template_group_id specialTemplateGroupId,st.s_t_arrive,
        st.real_channel_flag,st.real_channel_days
        from sms_sp_special_config st
        where  st.sp_id = #{spId}
    </select>
</mapper>
