📄 sendprovision.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 + -