<?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.SmsSendTemplateMapper">
  <resultMap id="BaseResultMap" type="SmsSendTemplate">
    <id column="ID"  property="id" />
    <result column="SPID" jdbcType="INTEGER" property="spid" />
    <result column="NAME"  property="name" />
    <result column="CONTENT"  property="content" />
    <result column="LENGTH"  property="length" />
    <result column="STARTTIME"  property="startTime" />
    <result column="ENDTIME"  property="endTime" />
    <result column="STARTDATE"  property="startDate" />
    <result column="ENDDATE"  property="endDate" />
    <result column="CREATEID"  property="createid" />
    <result column="CREATENAMNE"  property="createnamne" />
    <result column="CREATETIME"  property="createtime" />
    <result column="UPDATETIME"  property="updatetime" />
    <result column="IS_VALID"  property="is_valid" />
    <result column="DESC"  property="desc" />
  </resultMap>

  <select id="listPageSmsSendTemplate" parameterType="SmsSendTemplate" resultMap="BaseResultMap">
    SELECT t.id, t.spid, s.sp_name spname,t.`name`, t.content, t.length, t.starttime, t.endtime, t.startDate,t.endDate,
    t.createid, su.user_name createname,s.sp_name, t.createtime, t.is_valid,t.desc
    FROM
    sms_send_template t
    LEFT JOIN
    sms_sp_info s
    ON t.spid = s.id
    LEFT JOIN
    sms_user_info su
    ON t.createid = su.id
    where 1=1
    <if test="spid != null and spid > 0">
      and t.spid = #{spid}
    </if>
    <if test="spname != null and spname != '' ">
      and s.sp_name = #{spname}
    </if>
    <if test="content != null and content != '' ">
      and t.content LIKE CONCAT('%',#{content},'%')
    </if>
  </select>
  <select id="listSmsSendTemplate" parameterType="SmsSendTemplate" resultMap="BaseResultMap">
    SELECT t.id, t.spid, s.sp_name spname,t.`name`, t.content, t.length, t.starttime, t.endtime, t.startDate,t.endDate,
         t.createid, su.user_name createname,s.sp_name, t.createtime, t.is_valid,t.desc
    FROM
       sms_send_template t
    LEFT JOIN
       sms_sp_info s
    ON t.spid = s.id
    LEFT JOIN
       sms_user_info su
    ON t.createid = su.id
    where 1=1
    <if test="spid != null and spid > 0">
      and t.spid = #{spid}
    </if>
    <if test="spname != null and spname != '' ">
      and s.sp_name = #{spname}
    </if>
    <if test="content != null and content != '' ">
      and t.content LIKE CONCAT('%',#{content},'%')
    </if>
  </select>
  <select id="getSmsSendTemplate" parameterType="int" resultMap="BaseResultMap">
     SELECT t.id, t.spid, s.sp_name spname,t.`name`, t.content, t.length, t.starttime, t.endtime, t.startDate,t.endDate,
         t.createid, su.user_name createname,s.sp_name, t.createtime, t.is_valid,t.desc
    FROM
       sms_send_template t
    LEFT JOIN
       sms_sp_info s
    ON t.spid = s.id
    LEFT JOIN
       sms_user_info su
    ON t.createid = su.id
    where 1=1
    and t.id = #{id}
  </select>
  <delete id="deleteSmsSendTemplate" parameterType="int">
    delete from  sms_send_template where id=#{id}
  </delete>
  <insert id="insertSmsSendTemplate"   useGeneratedKeys="true" keyProperty="id" parameterType="SmsSendTemplate" >
    insert into sms_send_template  ( spid, name, content, length, starttime, endtime,startDate,endDate,
         createid, createtime, is_valid,`desc`) values (#{spid},#{name},#{content},#{length},#{startTime},#{endTime},#{startDate},#{endDate},
         #{createid},sysdate(),#{is_valid},#{desc})
  </insert>
  <update id="updateSmsSendTemplate" parameterType="SmsSendTemplate">
    UPDATE sms_send_template s
    <set>
      <if test="spid != null and spid > 0 ">
        s.spid = #{spid},
      </if>
      <if test="name != null and name != '' ">
        s.name = #{name},
      </if>
      <if test="content != null and content != '' ">
        s.content = #{content},
      </if>
      <if test="length != null and length > 0 ">
        s.length = #{length},
      </if>
      <if test="startTime != null and startTime != '' ">
        s.startTime = #{startTime},
      </if>
      <if test="endTime != null and endTime != '' ">
        s.endTime = #{endTime},
      </if>
      <if test="startDate != null and startDate != '' ">
        startDate = #{startDate},
      </if>
      <if test="endDate != null and endDate != '' ">
        s.endDate = #{endDate},
      </if>
      <if test="createid != null and createid > 0  ">
        s.createid = #{createid},
      </if>
      <if test="is_valid != null  ">
        s.is_valid = #{is_valid},
      </if>
      <if test="desc != null ">
        s.desc = #{desc},
      </if>
      <if test="updatetime != null  ">
        s.updatetime = #{updatetime}
      </if>
    </set>
    where id=#{id}
  </update>

</mapper>