package com.skywin.simpass.sysinterface.sms.util;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.huawei.insa2.comm.cmpp.message.CMPPDeliverMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPSubmitMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPSubmitRepMessage;
import com.huawei.insa2.util.Args;
import com.huawei.smproxy.SMProxy;
import com.skywin.simpass.sysinterface.sms.entity.SMSEntity;
public class SMSClient extends SMProxy {
private static SMSClient ins;
private SMSClient(Args args) {
super(args);
}
public static SMSClient getInstance() {
if (ins == null) {
Map
// 系统参数配置
m.put("host", "host");
m.put("port", "port");
m.put("source-addr", "source-addr");
m.put("shared-secret", "shared-secret");
m.put("heartbeat-interval", "30");
m.put("reconnect-interval", "30");
m.put("heartbeat-noresponseout", "5");
m.put("transaction-timeout", "10");
m.put("version", "0");
m.put("debug", "true");
ins = new SMSClient(new Args(m));
}
return ins;
}
public CMPPMessage onDeliver(CMPPDeliverMessage msg) {
String message = null;
try {
String receivedMsg = new String(msg.getMsgContent(), "UTF-8");
// System.out.println("接收到的消息:"+receivedMsg);
String receivedTelephone = msg.getSrcterminalId();
// System.out.println("接收的手机号码:"+receivedTelephone);
if ((receivedMsg.subSequence(0, 5)).equals("CSize")) {
System.out.println(receivedMsg);
} else {
message = "充值请求信息格式不对";
CMPPSubmitMessage submitMsg = new CMPPSubmitMessage(1, 1, 0, 1,
"0010", 0, "", 0, 0, 15, "950338", "02", Integer
.toString(0),
new Date(System.currentTimeMillis() + (long) 50000), // 存活期
null, "10658672", new String[] { receivedTelephone },
message.getBytes(), "");
// 发送错误信息给用户
SMSClient.getInstance().send(submitMsg);
}
} catch (Exception e) {
}
return super.onDeliver(msg);
}
public void send(CMPPSubmitMessage msg) throws Exception {
CMPPSubmitRepMessage rep = (CMPPSubmitRepMessage) super.send(msg);
// System.out.println(rep.toString());
}
/**
* @param args
*/
public static void main(String[] args) throws Exception {
SMSClient client = SMSClient.getInstance();
System.in.read();
}
}