⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smsclient.java

📁 java支持的短信平台
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    }

    /**
     * 发送短消息
     * @param Dest_NO List
     * @param ServiceID String
     * @param Msg_Fmt int
     * @param Msg_Content String
     * @param Fee_UserType int
     * @param FeeType String
     * @param FeeAddr String
     * @param Registered_Delivery int
     * @param MsgLevel int
     * @return int
     */
    public int SendSMS(List Dest_NO,
                       String ServiceID,
                       int Msg_Fmt,
                       String Msg_Content,
                       int Fee_UserType,
                       String FeeType,
                       String FeeAddr,
                       int Registered_Delivery,
                       int MsgLevel) {
        String FeeCode = this.getFeeCode(ServiceID);

        if (null == FeeCode) {
            System.out.println("ServiceID:" + ServiceID + "在 Service表中查不到对应资费!");
            return -1;
        }

        return SendSMS("", Dest_NO, ServiceID, Msg_Fmt,
                       Msg_Content, Fee_UserType, FeeCode, FeeType,
                       FeeAddr, Registered_Delivery, MsgLevel);
    }

    /**
     * 对目标终端进行计费,优先级为1,源发送号码为主端口号,短信编码为ucs2,需要状态报告
     * @param Dest_NO List
     * @param ServiceID String
     * @param Msg_Content String
     * @param FeeType String
     * @return int
     */
    public int SendSMS(List Dest_NO,
                       String ServiceID,
                       String Msg_Content,
                       String FeeType) {
        String FeeCode = this.getFeeCode(ServiceID);

        if (null == FeeCode) {
            System.out.println("ServiceID:" + ServiceID + "在 Service表中查不到对应资费!");
            return -1;
        }

        return SendSMS("", Dest_NO, ServiceID, com.khan.sms.Msg_Fmt.GB_STYLE,
                       Msg_Content, com.khan.sms.Fee_UserType.CHARGE_DEST, FeeCode, FeeType,
                       "", com.khan.sms.Registered_Delivery.DONT_NEED_REPORT, 1);
    }

    /**
     * 对目标终端进行计费,优先级为1,源发送号码为主端口号,短信编码为ucs2
     * @param Dest_NO List
     * @param ServiceID String
     * @param Msg_Content String
     * @param Registered_Delivery int 是否需要状态报告
     * @param FeeType String
     * @return int
     */
    public int SendSMS(List Dest_NO,
                       String ServiceID,
                       String Msg_Content,
                       int Registered_Delivery,
                       String FeeType) {
        String FeeCode = this.getFeeCode(ServiceID);

        if (null == FeeCode) {
            System.out.println("ServiceID:" + ServiceID + "在 Service表中查不到对应资费!");
            return -1;
        }

        return SendSMS("", Dest_NO, ServiceID, com.khan.sms.Msg_Fmt.GB_STYLE,
                       Msg_Content, com.khan.sms.Fee_UserType.CHARGE_DEST, FeeCode, FeeType,
                       "", Registered_Delivery, 1);
    }







    /**
     * 发送短信
     * @param Src_Port   String 发送源号码
     * @param Dest_NO    String  目标接收号码
     * @param ServiceID  String 服务代码
     * @param Msg_Fmt    int 消息格式 见Msg_Fmt类
     * @param Msg_Content  String 消息内容
     * @param Fee_UserType int 计费用户类型 见Fee_UserType类
     * @param FeeCode     String 费用
     * @param FeeType      String 资费类别 见FeeType类
     * @param FeeAddr      String 计费手机号码 Fee_UserType =INVALID 时 不填
     * @param Registered_Delivery   int 是否需要状态报告,见Registered_Delivery类
     * @param MsgLevel     int 消息发送优先级
     * @param BuildTime   String  定时发送时间
     * @return int
     */
    public int SendAT_SMS(String Src_Port,
                       List Dest_NO,
                       String ServiceID,
                       int Msg_Fmt,
                       String Msg_Content,
                       int Fee_UserType,
                       String FeeCode,
                       String FeeType,
                       String FeeAddr,
                       int Registered_Delivery,
                       int MsgLevel,
                       String BuildTime){

        if (Fee_UserType == com.khan.sms.Fee_UserType.INVALID){
            FeeAddr="";
        }
        int Len = 140;
        if (Msg_Fmt == com.khan.sms.Msg_Fmt.ASCII_STYLE){
            Len = 160;
        }

//        try {
//            Msg_Content = new String(Msg_Content.getBytes("GBK"), "ISO-8859-1");
//            //System.out.println(Msg_Content);
//        } catch (UnsupportedEncodingException ex) {
//            ex.printStackTrace();
//        }

        String sqlstr="";
        int result =0;
        for(int i=0; i<Dest_NO.size(); i++){
            sqlstr = "INSERT INTO `mt` ( `LocalMsgID`, "
                     + "`RespMsgID`, `SendStatus`,"
                     + "`SendResult`, `SendCount`, "
                     + "`OrgAddr`, `DestAddr_Count`, "
                     + "`DestAddr`, `FeeAddr`, "
                     + "`ServiceID`, `FeeCode`, "
                     + "`FeeType`, `NeedReport`,"
                     + "`FeeUserType`, `UserData_Len`, "
                     + "`UserData`, `BuildeTime`, "
                     + "`SendTime`, `MsgFmt`, "
                     + "`ReportStatus`, `MsgLevel`, "
                     + "`At_Time`, `ValID_Time`, "
                     + "`PID`, `UDHI`, "
                     + "`PK_Total`, `PK_Number`, "
                     + "`SPID`, `SendLevel`, "
                     + "`Reserve`) "
                     + "VALUES ('',"
                     + "'',0,"
                     + "-1,0,"
                     + "'" + SP_Port + Src_Port + "',1,"
                     + "'" + (String)Dest_NO.get(i) + "','" + FeeAddr + "',"
                     + "'" + ServiceID + "','" + FeeCode + "',"
                     + "'" + FeeType + "'," + Registered_Delivery + ","
                     + "" + Fee_UserType + "," + Len + ","
                     + "'" + Msg_Content + "','"+ BuildTime +"',"
                     + "NULL," + Msg_Fmt + ","
                     + "1,1,"
                     + "'','',"
                     + "0,0,"
                     + "1,1,"
                     + "'" + Enerprise_code + "'," + MsgLevel + ""
                     + ",'')";

            if (this.isjndi){
                result = com.khan.util.common.excuteSql(sqlstr, JndiName) ;
            }else{
                DBPoolCon dpc = dbp.get();
                result = com.khan.util.common.PoolExcuteSql(dpc, sqlstr);
                dbp.release(dpc);
            }
        }

      return result;
    }





    /**定时发送
     * 对目标终端进行计费,优先级为1,源发送号码为主端口号,短信编码为ucs2
     * @param Dest_NO List
     * @param ServiceID String
     * @param Msg_Content String
     * @param Registered_Delivery int 是否需要状态报告
     * @param FeeType String
     * @param BuildTime String 定时发送时间
     * @return int
     */
    public int SendAT_SMS(List Dest_NO,
                       String ServiceID,
                       String Msg_Content,
                       int Registered_Delivery,
                       String FeeType,
                       String BuildTime) {
        String FeeCode = this.getFeeCode(ServiceID);

        if (null == FeeCode) {
            System.out.println("ServiceID:" + ServiceID + "在 Service表中查不到对应资费!");
            return -1;
        }

        return SendAT_SMS("", Dest_NO, ServiceID, com.khan.sms.Msg_Fmt.GB_STYLE,
                       Msg_Content, Fee_UserType.CHARGE_DEST, FeeCode, FeeType,
                       "", Registered_Delivery, 1, BuildTime);
    }


    /**定时发送
     * 对目标终端进行计费,优先级为1,源发送号码为主端口号,短信编码为ucs2,需要状态报告
     * @param Dest_NO List
     * @param ServiceID String
     * @param Msg_Content String
     * @param FeeType String
     * @param BuildTime String 定时发送时间
     * @return int
     */
    public int SendAT_SMS(List Dest_NO,
                       String ServiceID,
                       String Msg_Content,
                       String FeeType,
                       String BuildTime) {
        String FeeCode = this.getFeeCode(ServiceID);

        if (null == FeeCode) {
            System.out.println("ServiceID:" + ServiceID + "在 Service表中查不到对应资费!");
            return -1;
        }

        return SendAT_SMS("", Dest_NO, ServiceID, com.khan.sms.Msg_Fmt.GB_STYLE,
                       Msg_Content, Fee_UserType.CHARGE_DEST, FeeCode, FeeType,
                       "", Registered_Delivery.DONT_NEED_REPORT, 1, BuildTime);
    }



    protected void finalize(){

    }

    static public void main(String[] args){


        SmsClient sc = new SmsClient();
/*        List list = new ArrayList();
        list.add("13802430378");
        list.add("13802430388");
        sc.SendSMS(list, "AAAA","测试消息", com.khan.sms.FeeType.FREE); //普通发送,需要状态报告, 免费发送
        sc.SendAT_SMS(list, "AAAA","测试消息", com.khan.sms.FeeType.FREE, "2006-8-19 4:30:55"); //定时发送,需要状态报告, 免费发送

*/
     }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -