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

📄 sendprovision.java

📁 java支持的短信平台
💻 JAVA
字号:
package com.khan.sms.provision;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
import java.net.MalformedURLException;
import java.util.HashMap;

import com.khan.socket.HttpSend;
import com.khan.file.Log;
import com.khan.db.DBPoolCon;
import com.khan.util.*;
import com.khan.xml.XMLParse;
import com.khan.db.DBConPool;


public class SendProvision {
  Log log = new Log("SendOrder_log.out");
  Log err = new Log("SendOrder_log.err");
  String url = "http://211.155.18.110:8090/dsmp/dsmp.wsdl";
  DBConPool dbp = new DBConPool(DBConPool.MSSQL_DRIVER,
                                "jdbc:postgresql://127.0.0.1:9055/smscgw",
                                "postgres",
                                "52play2*0*0*5",
                                3,
                                60);

  public SendProvision() {
  }

  public void Send(DBPoolCon con) throws java.net.MalformedURLException {
    XMLParse xml = new XMLParse();

    String query = "SELECT top 1 [ID], to_char(seq, '999999999') as seq, mobile, service, smscid,servicestyle"
                   + " FROM extraio"
                   + " WHERE cdrtype ='mt' and smscid='0020106010'"
                   + " ORDER BY ioid ";
    // + " LIMIT 1";
    String sql = null;

    // System.out.println(query);

    int id = 0;
    String mobile_no = "";
    String service_id = "";
    int seq_id = 0;
    int service_style = 0;

    String strs[][] = common.poolGetRecord(con, query);

    log.logOut("开始查询:" + query);
    if (strs.length > 0) {
      mobile_no = strs[0][2];
      id = Integer.parseInt(strs[0][0]);
      seq_id = Integer.parseInt(strs[0][1]);
      service_id = strs[0][3];
      service_style = Integer.parseInt(strs[0][5]);

      if (service_style == 3) {
        log.logOut("开始处理反向取消请求");
        UnSubscribeServiceReq usr = new UnSubscribeServiceReq(
          "UnSubscribeServiceReq", "1.5.0", mobile_no, mobile_no, service_id, "", String.valueOf(seq_id));
        HttpSend hs = new HttpSend();
        String result = hs.connectURL("UTF-8", url, usr.BuildSoapStruct(), "text/plain", "en-US");
        System.out.println("result= " + result);
        if (result == null || result.length() < 1) {
          return;
        }

        int iret = xml.parseXml(result);

        HashMap hm = xml.provisionMap;
        if (Integer.parseInt((String) (hm.get("hRet"))) != 0) {

          log.logOut("Mobile:" + mobile_no + " | " + service_id + " 返回错误代码:" + hm.get("hRet"));

          if (Integer.parseInt((String) (hm.get("hRet"))) == 115) {
            if (mobile_no != null && (mobile_no.startsWith("86") || mobile_no.startsWith("13"))) {
              mobile_no = mobile_no.substring(2);
              log.logOut("Mobile:" + mobile_no + " 订购关系不存在,将模拟一条取消记录同步订购");
              sql = "INSERT INTO extraio(msgid,cdrtype,smscid,port,"
                    + "mobile,service,linkid,servicestyle)" + "VALUES("
                    + String.valueOf(seq_id) + ", 'mo', "
                    + "'0020106010', '06010'," + "'"
                    + mobile_no + "'," + "'"
                    + service_id + "',"
                    + "'',CAST(2 AS smallint))";
              common.PoolExcuteSql(con, sql);

              log.logOut("用户号码:" + mobile_no + "正向取消" + service_id + "处理");
            }
          }
        } else {
          log.logOut("Mobile:" + mobile_no + " 反向取消请求完成");
        }
      } else {
        System.out.println("开始处理反向订购请求");
        SubscribeServiceReq ssr = new SubscribeServiceReq(
          "UnSubscribeServiceReq", "1.5.0",
          mobile_no,
          mobile_no,
          service_id, "",
          String.valueOf(seq_id));
        HttpSend hs = new HttpSend();
        String result = hs.connectURL("UTF-8", url, ssr.BuildSoapStruct(), "text/plain", "en-US");
        if (result == null || result.length() < 1) {
          return;
        }
        int iret = xml.parseXml(result);
        HashMap hm = xml.provisionMap;
        if (Integer.parseInt((String) (hm.get("hRet"))) != 0) {
          log.logOut("Mobile:" + mobile_no + " | " + service_id + " 返回错误代码:" + hm.get("hRet"));
        } else {
          log.logOut("Mobile:" + mobile_no + " 反向订购请求完成");
        }

      }

      sql = "DELETE FROM extraio WHERE ioid = " + String.valueOf(id);
      common.PoolExcuteSql(con, sql);
    } else {
      try {
        Thread.sleep(2000);
      } catch (InterruptedException e) {
        err.logOut("当系统无数据时产生的sleep动作异常", e);
      }
    }

  }

  /**
   * @param args
   */
  public static void main(String[] args) {

    SendProvision sp = new SendProvision();
    while (true) {
      try {
        sp.Send(sp.dbp.get());

      } catch (MalformedURLException e) {
        try {
          System.out.println("暂停2s");
          Thread.sleep(2000);
        } catch (InterruptedException e1) {
          e1.printStackTrace();
        }
      }
    }
  }
}

⌨️ 快捷键说明

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