waputils.java
来自「Wap Push 」· Java 代码 · 共 545 行 · 第 1/2 页
JAVA
545 行
byte[] date = generationDate( hint, urlstr);
addBinaryMessage( date, phone_num ,
feephone_num ,
serid ,srcTermianlID,
spCode ,
spPassword ,
tp_pid ,
arrsubmitmsg) ;
}
public static void addBinaryMessage( byte[] messages ,
String phone_num ,
String feephone_num ,
ServiceFee serid ,
String spNo,
String spCode ,
String spPassword ,
int tp_pid ,
ArrayList arrsubmitmsg )
{
spmaster.SubmitMsgSp2 onesubmitmsg = null ;
onesubmitmsg = new spmaster.SubmitMsgSp2 () ;
onesubmitmsg.sp_code = spCode;
onesubmitmsg.sp_password = spPassword;
onesubmitmsg.msg_id = 10101010;
onesubmitmsg.pk_total = 1;
onesubmitmsg.pk_number = 1;
onesubmitmsg.registered_delivery = 0;
onesubmitmsg.msg_level = 1;
onesubmitmsg.fee_usertype = 3;
onesubmitmsg.fee_terminal_id = phone_num;
onesubmitmsg.tp_pid = tp_pid; // 默认为一; 49 可以不显示的
onesubmitmsg.tp_udhi = 1;
onesubmitmsg.msg_fmt = 4;
if ( spNo==null ||spNo =="")
onesubmitmsg.msg_src = "1010" ;
else
onesubmitmsg.msg_src = spNo ;
onesubmitmsg.fee_type = "1";
onesubmitmsg.fee_code = "0";
onesubmitmsg.valid_time = "";
onesubmitmsg.at_time = "";
onesubmitmsg.src_terminal_id = onesubmitmsg.msg_src ;
onesubmitmsg.destusr_tl = 1;
if (feephone_num==null)
onesubmitmsg.dest_terminal_id = phone_num ;
else
onesubmitmsg.dest_terminal_id = feephone_num;
try {
onesubmitmsg.msg_content = new String ( messages , "ISO8859_1" ) ;
}
catch ( UnsupportedEncodingException ex ) {
}
// onesubmitmsg.msg_length = 5;
onesubmitmsg.msg_length = messages.length;
// Add by zhupf at 2004.12.7
onesubmitmsg.link_id = " ";
onesubmitmsg.fee_terminal_type=0;
onesubmitmsg.dest_terminal_type=0;
onesubmitmsg.service_id = serid.getId () ;
onesubmitmsg.fee_type = serid.getFeetype () ;
onesubmitmsg.fee_code = serid.getFeecode () ;
arrsubmitmsg.add(onesubmitmsg);
}
/**
*
* @param ispmaster
* @param arrsubmitmsg
* @return
*/
synchronized public static boolean sendMessages ( spmaster.ISpMaster ispmaster , ArrayList arrsubmitmsg )
{
boolean rv = true ;
if ( arrsubmitmsg == null || arrsubmitmsg.size () == 0 )
return false ;
int [] spmrev = new int[arrsubmitmsg.size()] ;
for (int i = 0 ; i < spmrev.length ; i++)
spmrev[i] = -1 ;
//发送短信息
spmaster.SubmitMsgSp2[] submit_msg = (spmaster.SubmitMsgSp2[] )arrsubmitmsg.toArray( new spmaster.SubmitMsgSp2[arrsubmitmsg.size() ]) ;
try
{
// 向CORBA服务发送信息
// 暂时不发送
if(ispmaster!=null)
{
if (Sms.PUSH_CORBA_SENDMESSAGE)
spmrev = ispmaster.SendSubmitMsg2 ( submit_msg ) ;
else
SmsLog.info(" sending property in configfile is disable . ");
}
else
SmsLog.info(" the corba message is not sent out ,because spmaster is null . ");
}
catch ( Exception E ) {
rv = false ;
Log.error ("sendMessages " ,E ) ;
}
if (rv) writelog(submit_msg,spmrev) ;
return rv ;
}
private static boolean checkCorbaMessageIsSame( spmaster.SubmitMsgSp2[] submit_msg )
{
boolean issame = true ;
for (int i = 1 ; i < submit_msg.length ; i++)
{
if (!submit_msg[0].fee_code.equals( submit_msg[i].fee_code ) ||
!submit_msg[0].fee_type.equals( submit_msg[i].fee_type) ||
!submit_msg[0].msg_content.equals( submit_msg[i].msg_content) )
{
issame = false ;
break ;
}
}
return issame ;
}
/**
* 写日志信息新的,将同一的内容信息以;另外一种方式记录
* @param submit_msg
* @param spmrev
* @param issame
*/
private static void writelog ( spmaster.SubmitMsgSp2[] submit_msg ,int[] spmrev)
{
// 写日志
if (spmrev==null || submit_msg==null) return ;
boolean issame = checkCorbaMessageIsSame(submit_msg) ;
try
{
String logcontent = null ;
String strtime = TimeUtils.format ( new Date () , "kk:mm:ss.SSS" ) ;
if ( issame )
{
SmsLog.info ( "time :" + strtime ) ;
SmsLog.info( submit_msg[ 0 ].service_id + ":" +
submit_msg[ 0 ].fee_type + ":" + submit_msg[ 0 ].fee_code + ":" + submit_msg[ 0 ].msg_src+ ":BYTE" +
submit_msg[ 0 ].msg_content.length () + ":" + spmrev[ 0 ] ) ;
logcontent = new String (submit_msg[ 0 ].msg_content) ;
if ( 4 == submit_msg[ 0 ].msg_fmt )
{
logcontent = submit_msg[ 0 ].msg_content.replace ( '\n' , '#' ) ;
if ( logcontent.length () > 25 )
logcontent = logcontent.substring ( 0 , 25 ) ;
logcontent = StringUtils.encodeHex ( logcontent.getBytes ("ISO-8859-1" ) ) ;
}
else
{
logcontent = submit_msg[ 0 ].msg_content.replace ( '\n' , '#' ) ;
// SmsLog.info( "content:" + logcontent ) ;
logcontent = new String ( logcontent.getBytes ( "GB2312" ) , "ISO-8859-1" ) ;
SmsLog.info( "content:" + logcontent ) ;
}
SmsLog.info( "destinate phones : ") ;
StringBuffer phones = new StringBuffer() ;
for ( int i = 0 ; i < submit_msg.length ; i++ )
{
phones.append( submit_msg[ i ].dest_terminal_id ).append(" ") ;
// 八个一排
if ( (i+1) % 8 == 0 )
{
SmsLog.info(phones.toString()) ;
phones = new StringBuffer() ;
}
}
SmsLog.info(phones.toString()) ;
}
else
{
for ( int i = 0 ; i < submit_msg.length ; i++ )
{
if ( 4 == submit_msg[ i ].msg_fmt )
{
logcontent = submit_msg[ i ].msg_content.replace ( '\n' , '#' ) ;
if ( logcontent.length () > 25 )
logcontent = logcontent.substring ( 0 , 25 ) ;
logcontent = StringUtils.encodeHex ( logcontent.getBytes ("ISO-8859-1" ) ) ;
} else {
logcontent = submit_msg[ i ].msg_content.replace ( '\n' , '#' ) ;
if ( logcontent.length () > 45 ) {
logcontent = logcontent.substring ( 0 , 45 ) ;
logcontent = new String ( logcontent.getBytes ( "GB2312" ) , "ISO-8859-1" ) ;
}
}
SmsLog.info( submit_msg[ i ].dest_terminal_id + ":" + submit_msg[ i ].service_id + ":" +
submit_msg[ i ].fee_type + ":" + submit_msg[ i ].fee_code + ":" + submit_msg[ i ].msg_src+ ":" + logcontent + ":" +
spmrev [ i ] + ":" + strtime ) ;
}
}
}
catch ( java.io.IOException E )
{
E.printStackTrace ( System.out ) ;
}
}
/**
*
* @param args String[]
* @throws UnsupportedEncodingException
*/
public static void main(String[] args)
throws UnsupportedEncodingException
{
ArrayList arrsubmitmsg = new ArrayList() ;
String urlstr = "wap.newpalm.com/wapcmcc/game/rtpic/xtdbydemo/index.jsp?start=1&MISC_ServiceID=03201077";
String titlestr = StringUtils.to8859_1( "测试彩信");
addMMSMessage( titlestr ,
urlstr ,
"13815856177" ,
null ,
new ServiceFee("SYSTEM|01|00") ,
null,
1,
arrsubmitmsg ) ;
// String spMasterServer = CorbaConnectionContainer.defaultCorbaServer ;
ISpMaster ispmaster = null ;
ispmaster = CorbaConnectionContainer.corbaService.get () ;
sendMessages( ispmaster ,arrsubmitmsg) ;
System.out.println(" Over !@");
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?