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

    <select id="selectChannelList" resultType="cn.roadm.admin.dto.PaConfigDO">
        select a.id, a.is_support_international,a.is_support_unicom,a.is_support_telecom,a.is_support_mobile,p.carrier,
        a.channel_name name,a.unicom_prefix,a.mobile_prefix,a.telecom_prefix,p.loginname, p.password, a.mobile_prefix
        accessnumber, p.ip, p.port,
        p.service_id, p.carrier_sp_id, p.fee_type, p.fee_code, p.price,p.version, p.carrier_speed,
        p.socket_conn, p.src_note_id, p.local_listen_port, p.carrier_sp_sign,
        a.pa_url,a.status,a.protocol_type,a.batchsize,a.template_id,a.template_parameter,a.connect_status
        from sms_send_channel_info a left JOIN sms_carrier_channel_info p ON a.id = p.id
        <where>
            <if test="id!=null and id>=0">
                and a.id =#{id}
            </if>
            <if test="name != null and name != ''">
                and a.channel_name like CONCAT('%', #{name}, '%')
            </if>

            <if test="status != null and status != -1">
                and a.status = #{status}
            </if>

            <if test="ip != null">
                and p.ip like CONCAT('%',#{ip},'%')
            </if>
            <if test="loginname != null">
                and p.loginname like CONCAT('%',#{loginname},'%')
            </if>
        </where>

        order by a.id desc
    </select>

    <select id="getPaConfigById" resultType="cn.roadm.admin.dto.PaConfigDO">
        select a.id,a.is_support_international, a.is_support_unicom,a.is_support_telecom,a.is_support_mobile, p.carrier,
        a.channel_name name, p.loginname, p.password, a.mobile_prefix accessnumber, p.ip, p.port,
        p.service_id, p.carrier_sp_id, p.fee_type, p.fee_code, a.price,p.version, p.carrier_speed,
        p.socket_conn, p.src_note_id, p.local_listen_port, p.carrier_sp_sign, p.signflag, a.status,a.query_time as
        queryTime,
        a.ping_time as pingTime , a.auto_change as
        autoChange,a.pa_url,a.protocol_type,a.batchsize,a.template_id,a.template_parameter,a.access_key,a.http_response,a.spid
        ,a.max_expand,a.is_only_expand,p.fee_terminal_id,p.fee_usertype,p.conn_speed,p.overspeed_resend,a.server_id,a.business_manager
        businessManager,a.province,a.provinceNetPrice,a.`desc`,a.autoExtend,a.supplier_id,
        cs.supplier_name,a.pro_group_price_id,a.mmsContentFormat,a.access_province,a.access_city,a.access_company,p.windowSize,p.windowSizeFlag,a.sign_port,a.use_extend_type
        as useExtendType
        from sms_send_channel_info a left JOIN sms_carrier_channel_info p ON a.id = p.id left join channel_supplier cs
        on cs.id=a.supplier_id
        <where>
            <if test="id != null">
                a.id = #{id}
            </if>
        </where>
    </select>

    <select id="getSignChannelByChannelId" parameterType="cn.roadm.admin.controller.vo.KeyWordShuntSaveVO"
            resultType="cn.roadm.admin.dto.KeyWordShuntDO">
        select ot.sign, ot.mobilechannel, ot.mobile_suffix, ot.fixed_mobile_suffix
        from sms_sign_bypass ot
        where ot.status = 1
          and ot.mobilechannel = #{mobilechannel}
    </select>

    <select id="getGroupChannelsAndWeight" parameterType="String"
            resultType="Map">
        SELECT channels,weight,
               DATE_FORMAT(modifyTime,'%Y-%m-%d %H:%i:%S') modifyTime
        from sms_channel_group
        where id = #{groupId} AND `status` = '1'  LIMIT 1
    </select>
</mapper> 