<?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.SmsSendTemplateVariableMapper">
  <resultMap id="BaseResultMap" type="SmsSendTemplateVariable">
    <id column="ID"  property="id" />
    <result column="NAME"  property="name" />
    <result column="VARIABLE_TYPE_ID"  property="variable_type_id" />
    <result column="VARIABLE_TYPE"  property="variable_type" />
    <result column="VARIABLE_DESC"  property="variable_desc" />
    <result column="LENGTH"  property="length" />
    <result column="CREATEID"  property="createid" />
    <result column="PIC_NAME"  property="pic_name" />
    <result column="MODIFIED"  property="modified" />
    <result column="IS_DEL"  property="is_del" />
    <result column="CREATETIME"  property="createtime" />
    <result column="UPDATETIME"  property="updatetime" />
  </resultMap>
  <select id="listAllSmsSendTemplateVariable" resultMap="BaseResultMap">
    SELECT t.ID,t.NAME,t.VARIABLE_TYPE_ID,s.VARIABLE_TYPE,s.VARIABLE_DESC,t.LENGTH,t.CREATEID,t.CREATETIME,t.PIC_NAME,t.MODIFIED
    FROM
    sms_send_template_variable t
    left JOIN sms_send_template_variable_type s
    ON t.variable_type_id = s.id
    ORDER BY t.id ASC
  </select>
  <select id="listSmsSendTemplateVariable" resultMap="BaseResultMap">
      SELECT t.ID,t.NAME,t.VARIABLE_TYPE_ID,s.VARIABLE_TYPE,s.VARIABLE_DESC,t.LENGTH,t.CREATEID,t.CREATETIME,t.PIC_NAME,t.MODIFIED
      FROM
        sms_send_template_variable t
      left JOIN sms_send_template_variable_type s
      ON t.variable_type_id = s.id
      WHERE t.is_del = 0
      ORDER BY t.id ASC
  </select>
  <select id="getSmsSendTemplateVariable" parameterType="int" resultMap="BaseResultMap">
     SELECT t.ID,t.NAME,t.VARIABLE_TYPE_ID,s.VARIABLE_TYPE,s.VARIABLE_DESC,t.LENGTH,t.CREATEID,t.CREATETIME,t.PIC_NAME,t.MODIFIED
     FROM
       sms_send_template_variable t
     left JOIN sms_send_template_variable_type s
     ON t.variable_type_id = s.id
     WHERE t.id = #{id} and is_del = 0
     limit 1
  </select>
  <delete id="deleteSmsSendTemplateVariable" parameterType="int">
    UPDATE sms_send_template_variable set is_del = 1 where id=#{id}
  </delete>
  <insert id="insertSmsSendTemplateVariable"   useGeneratedKeys="true" keyProperty="id" parameterType="SmsSendTemplateVariable" >
    insert into sms_send_template_variable  ( name, VARIABLE_TYPE_ID,  LENGTH, CREATEID,CREATETIME,PIC_NAME,MODIFIED,IS_DEL)
    values (#{name},#{variable_type_id},#{length},#{createid},sysdate(),#{pic_name},1,0)
  </insert>
  <update id="updateSmsSendTemplateVariable" parameterType="SmsSendTemplateVariable">
    UPDATE sms_send_template_variable
    <set>
      <if test="name != null and name != '' ">
        name = #{name}
      </if>
      <if test="variable_type_id != null and variable_type_id != '' ">
        variable_type_id = #{variable_type_id}
      </if>
      <if test="length != null ">
        length = #{length}
      </if>
      <if test="createid != null and createid != '' ">
        createid = #{createid}
      </if>
      <if test="limitday != null and limitday != '' ">
        limitday = #{limitday}
      </if>
      <if test="pic_name != null and pic_name != '' ">
        pic_name = #{pic_name}
      </if>
      <if test="createid != null and createid > 0  ">
        createid = #{createid}
      </if>
      <if test="updatetime != null  ">
        updatetime = #{updatetime}
      </if>
    </set>
    where id=#{id}
  </update>

</mapper>