📄 smsclient.java
字号:
}
/**
* 发送短消息
* @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 + -