📄 send2huawei.java
字号:
package com.zznode.dp.ismg.sender;
import com.huawei.smproxy.*;
import com.huawei.insa2.comm.cmpp.message.*;
import com.huawei.insa2.util.*;
import com.zznode.dp.ismg.data.MessageModel;
import java.sql.Date;
import com.zznode.dp.ismg.util.Log;
import com.zznode.dp.ismg.util.StringHandler;
import com.zznode.dp.ismg.data.ConnectionModel;
import com.zznode.dp.ismg.data.SubmitMessageModel;
public class Send2HuaWei {
private static ConnectionModel connectionModel = null;
private static SubmitMessageModel submitmMessageModel = null;
/** 短信收发接口*/
private SMProxy myProxy = null;
/**日志文件*/
private Log log;
StringHandler stringhandler = null;
public Send2HuaWei(ConnectionModel connectionModel,
SubmitMessageModel submitmMessageModel) {
this.connectionModel = connectionModel;
this.submitmMessageModel = submitmMessageModel;
log = new Log().getLog();
stringhandler = new StringHandler().getStringHandler();
}
/**
* 短信发送程序入口
* @param messageModelArry MessageModel[] 短信消息体
* @return String
*/
public String sendSms(MessageModel[] messageModelArry) {
boolean isSuccess = true; //是否发送成功
StringBuffer reponse = new StringBuffer(); ; //返回消息
try {
//初始化短信连接信息
if (myProxy == null) {
Args args = initConfig();
if (args == null) {
String msg = "配置文件不存在";
System.out.println(msg);
log.writeLog(msg);
return msg;
}
myProxy = new SMProxy(args);
}
else if (myProxy.getConnState() != null) {
Args args = initConfig();
if (args == null) {
String msg = "配置文件不存在";
System.out.println(msg);
log.writeLog(msg);
return msg;
}
myProxy = new SMProxy(args);
}
if (myProxy != null) {
//发送短信
synchronized (myProxy) {
for (int i = 0; i < messageModelArry.length; i++) {
MessageModel messageModel = messageModelArry[i];
for (int j = 0; j < messageModel.getMessageContent().length; j++) {
String messageContent = messageModel.getMessageContent()[j];
CMPPSubmitMessage submitMsg = initCMPP(messageModel.getPhone(),
stringhandler.strToUcs2(messageContent));
log.writeLog("submit start");
CMPPSubmitRepMessage submitRepMsg = (CMPPSubmitRepMessage)
myProxy.
send(
submitMsg);
log.writeLog("submit end");
if (submitRepMsg.getResult() != 0) {
isSuccess = false;
System.out.println("短信发送失败:error result=" +
submitRepMsg.getResult());
log.writeLog("短信发送失败:error result=" +
submitRepMsg.getResult());
}
else {
System.out.println("短信发送成功!");
log.writeLog("短信发送成功!");
}
}
log.writeLog("是否全部发送成功:" + isSuccess);
if (isSuccess) {
reponse.append(messageModel.getMessageId() + "@@success@@,");
}
else {
reponse.append(messageModel.getMessageId() + "@@false@@,");
}
}
}
}
}
catch (Exception ex) {
ex.printStackTrace();
log.writeLog("短信发送失败:");
log.writeLog(ex.getMessage());
}
return reponse.toString();
}
/**
* 初始化短信网关连接信息
* @return Args
*/
private Args initConfig() {
Args args = new Args();
args.set("host", connectionModel.getHost().trim());
args.set("port", connectionModel.getPort().trim());
args.set("source-addr", connectionModel.getSource_addr().trim());
args.set("shared-secret", connectionModel.getShared_secret().trim());
args.set("heartbeat-interval", connectionModel.getHeartbeat_interval().trim());
args.set("reconnect-interval", connectionModel.getReconnect_interval().trim());
args.set("heartbeat-noresponseout",
connectionModel.getHeartbeat_noresponseout().trim());
args.set("transaction-timeout",
connectionModel.getTransaction_timeout().trim());
args.set("version", connectionModel.getVersion().trim());
args.set("debug", connectionModel.getDebug().trim());
return args;
}
/**
* 初始化连接
* @param tel String[]
* @param msg String
* @return CMPPSubmitMessage
*/
private CMPPSubmitMessage initCMPP(String tel[], byte[] msg_Content) {
CMPPSubmitMessage submitMsg = null;
try {
// if (tel != null && msg != null && tel.length != 0 && !msg.equals("")) {
if (tel != null && tel.length != 0) {
int pk_Total = submitmMessageModel.getPk_Total();
int pk_Number = submitmMessageModel.getPk_Number();
int registered_Delivery = submitmMessageModel.getRegistered_Delivery();
int msg_Level = submitmMessageModel.getMsg_Level();
String service_Id = submitmMessageModel.getService_Id();
int fee_UserType = submitmMessageModel.getFee_UserType();
String fee_Terminal_Id = "";
int tp_Pid = submitmMessageModel.getTp_Pid();
int tp_Udhi = submitmMessageModel.getTp_Udhi();
int msg_Fmt = submitmMessageModel.getMsg_Fmt();
String msg_Src = submitmMessageModel.getMsg_Src();
String fee_Type = submitmMessageModel.getFee_Type();
String fee_Code = submitmMessageModel.getFee_Code();
Date valid_Time = null;
Date at_Time = null;
String src_Terminal_Id = submitmMessageModel.getSrc_Terminal_Id();
String[] dest_Terminal_Id = tel;
// byte[] msg_Content = msg.getBytes();
String reserve = "";
submitMsg =
new CMPPSubmitMessage(
pk_Total,
pk_Number,
registered_Delivery,
msg_Level,
service_Id,
fee_UserType,
fee_Terminal_Id,
tp_Pid,
tp_Udhi,
msg_Fmt,
msg_Src,
fee_Type,
fee_Code,
valid_Time,
at_Time,
src_Terminal_Id,
dest_Terminal_Id,
msg_Content,
reserve
);
}
else {
return null;
}
}
catch (Exception e) {
e.printStackTrace();
}
return submitMsg;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -