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

    <resultMap type="BlackPhoneType" id="blackPhoneTypeResultMap">
        <id column="id" property="id" />
        <result column="createtime" property="createtime" />
        <result column="descption" property="descption" />
        <result column="blacklist_group_name" property="blacklist_group_name" />
        <result column="type" property="type" />
        <result column="price" property="price" />
        <result column="dynamic_param" property="dynamic_param" />
        <result column="dynamic_param_val" property="dynamic_param_val" />
        <result column="buffer" property="buffer" />
        <result column="request_order" property="request_order" />
    </resultMap>

    <select id="listPageBlackPhoneType" parameterType="BlackPhoneType"
            resultMap="blackPhoneTypeResultMap">
        select bt.id,
        bt.blacklist_group_name,
        bt.createtime,
        bt.descption,
        bt.type,
        bt.price
        from sms_black_phone_type bt where 1=1
        <if test="blacklist_group_name!=null and blacklist_group_name!=''">
            and bt.blacklist_group_name like CONCAT('%',#{blacklist_group_name},'%')
        </if>
        order by bt.id
    </select>

    <select id="getBlackPhoneTypeById" parameterType="int"
            resultMap="blackPhoneTypeResultMap">
             select bt.id,
            bt.blacklist_group_name,
            bt.createtime,
            bt.descption,
            bt.type,
            bt.price,
            bt.dynamic_param,
            bt.dynamic_param_val,
        bt.request_order,
        bt.buffer,
        dpt.name as templateName,
        dpt.template as template
            from sms_black_phone_type bt left join sms_black_dynamic_param_template dpt
        on bt.dynamic_param = dpt.handler_name  where bt.id=#{id}
    </select>
    <select id="getBlackCountByName" parameterType="BlackPhoneType"
            resultType="int">
        select count(1) from sms_black_phone_type bt
        where
        bt.blacklist_group_name=#{blacklist_group_name}
    </select>
    <delete id="deleteBlackPhoneTypeById" parameterType="int">
       delete from sms_black_phone_type where id=#{id}
    </delete>

    <update id="updateBlackPhoneTypeById" parameterType="BlackPhoneType">
        update
        sms_black_phone_type set
        blacklist_group_name=#{blacklist_group_name},
        descption=#{descption},
        type=#{type},
        createtime=sysdate(),
        price=round(#{price}*10000,1),
        dynamic_param = #{dynamic_param},
        dynamic_param_val = #{dynamic_param_val},
        buffer = #{buffer},
        request_order = #{request_order}
        where
        id=#{id}
    </update>

    <insert id="insertBlackPhoneType"  useGeneratedKeys="true" keyProperty="id"  parameterType="BlackPhoneType">
        insert into sms_black_phone_type
        (blacklist_group_name,descption,createtime,type,price,dynamic_param,dynamic_param_val,buffer,request_order) values
        (#{blacklist_group_name,jdbcType=VARCHAR},#{descption,jdbcType=VARCHAR},sysdate(),#{type},round(#{price}*10000,1),
        #{dynamic_param,jdbcType=VARCHAR},#{dynamic_param_val,jdbcType=VARCHAR},#{buffer},#{request_order})
    </insert>


</mapper>
