package com.finalist.sgip;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
import cn.finalist.test.SMGDefine;
public class SMG_Submit extends SMG_Head {
public String SPNumber; // 21 Text
public String ChargeNumber; // 21 Text
private int UserCount; // 1 Integer
private String[] UserNumber; // 21 Text
public String CorpId; // 5 Text
public String ServiceType; // 10 Text
public int FeeType; // 1 Integer
public String FeeValue; // 6 Text
public String GivenValue; // 6 Text
public int AgentFlag; // 1 Integer
public int MorelatetoMTFlag; // 1 Integer
public int Priority; // 1 Integer
public String ExpireTime; // 16 Text
public String ScheduleTime; // 16 Text
public int ReportFlag; // 1 Integer
public int TP_pid; // 1 Integer
public int TP_udhi; // 1 Integer
public int MessageCoding; // 1 Integer
public int MessageType; // 1 Integer
private int MessageLength; // 4 Integer
private String MessageContent; // Message Length Text
public String Reserve; // 8 Text
private byte[] messageContentBytes;
public byte[] getMessageContentBytes() {
return messageContentBytes;
}
public void setMessageContentBytes(byte[] messageContentBytes) {
this.messageContentBytes = messageContentBytes;
MessageLength = messageContentBytes.length;
setTotalLen(20 + 123 + UserCount * 21 + MessageLength);
}
public SMG_Submit() {
setCmdID(SMGDefine.SGIP_SUBMIT);
}
public SMG_Submit(byte ba[]) {
super();
setHead(ba);
SPNumber = byte2str(ba, 20, 21);
ChargeNumber = byte2str(ba, 41, 21);
UserCount = ba[62];
UserNumber = new String[UserCount];
for (int i = 0; i < UserCount; i++) {
UserNumber[i] = byte2str(ba, 63 + i * 21, 21);
}
int idx = 63 + UserCount * 21;
CorpId = byte2str(ba, idx, 5);
ServiceType = byte2str(ba, idx + 5, 10);
FeeType = ba[idx + 15];
FeeValue = byte2str(ba, idx + 16, 6);
GivenValue = byte2str(ba, idx + 22, 6);
AgentFlag = ba[idx + 28];
MorelatetoMTFlag = ba[idx + 29];
Priority = ba[idx + 30];
idx = idx + 31;
ExpireTime = byte2str(ba, idx, 16);
ScheduleTime = byte2str(ba, idx + 16, 16);
ReportFlag = ba[idx + 32];
TP_pid = ba[idx + 33];
TP_udhi = ba[idx + 34];
MessageCoding = ba[idx + 35];
MessageType = ba[idx + 36];
MessageLength = getUINT4(ba, idx + 37);
if (MessageCoding == 8) {
byte[] tmp = new byte[MessageLength];
BytesCopy(ba, tmp, idx + 41, MessageLength + idx + 41, 0);
try {
MessageContent = new String(tmp, "UnicodeBigUnmarked");
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}
} else if (MessageCoding == 15) {
byte[] tmp = new byte[MessageLength];
BytesCopy(ba, tmp, idx + 41, MessageLength + idx + 41, 0);
try {
MessageContent = new String(tmp, "GB2312");
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}
} else {
MessageContent = byte2str(ba, idx + 41, MessageLength);
}
Reserve = byte2str(ba, idx + 41 + MessageLength, 8);
}
public byte[] getBytes() {
// System.out.println("UserCount="+UserCount);
setTotalLen(20 + 123 + UserCount * 21 + MessageLength);
byte[] r = new byte[getTotalLen()];
headFill(r);
str2byte(r, SPNumber, 20, 21);
str2byte(r, ChargeNumber, 41, 21);
r[62] = (byte) UserCount;
for (int i = 0; i < UserCount; i++) {
str2byte(r, UserNumber[i], 63 + i * 21, 21);
}
int idx = 63 + UserCount * 21;
str2byte(r, CorpId, idx, 5);
str2byte(r, ServiceType, idx + 5, 10);
r[idx + 15] = (byte) FeeType;
str2byte(r, FeeValue, idx + 16, 6);
str2byte(r, GivenValue, idx + 22, 6);
r[idx + 28] = (byte) AgentFlag;
r[idx + 29] = (byte) MorelatetoMTFlag;
r[idx + 30] = (byte) Priority;
// 辽宁联通的问题修改
// if(ExpireTime == null )
ExpireTime = "";
// if(ScheduleTime == null)
ScheduleTime = "";
idx = idx + 31;
str2byte(r, ExpireTime, idx, 16);
str2byte(r, ScheduleTime, idx + 16, 16);
r[idx + 32] = (byte) ReportFlag;
r[idx + 33] = (byte) TP_pid;
r[idx + 34] = (byte) TP_udhi;
r[idx + 35] = (byte) MessageCoding;
r[idx + 36] = (byte) MessageType;
setUINT4(r, idx + 37, MessageLength);
/*if (MessageCoding == 15) {
// System.out.println("MessageLengthGBK="+MessageLength);
try {
BytesCopy(MessageContent.getBytes("GBK"), r, 0, MessageLength, idx + 41);
} catch (UnsupportedEncodingException ex) {
}
} else if (MessageCoding == 0) {
try {
BytesCopy(MessageContent.getBytes("ASCII"), r, 0, MessageLength, idx + 41);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
try {
BytesCopy(MessageContent.getBytes("UnicodeBigUnmarked"), r, 0, MessageLength, idx + 41);
} catch (UnsupportedEncodingException ex1) {
}
}*/
BytesCopy(getMessageContentBytes(), r, 0, MessageLength, idx + 41);
str2byte(r, Reserve, idx + 41 + MessageLength, 8);
// setUINT4(r, idx + 41 + MessageLength, Reserve);
return r;
}
public String[] getUserNumber() {
return UserNumber;
}
public void setMessageContent(String MessageContent) {
this.MessageContent = MessageContent;
if (MessageCoding == 15) {
try {
MessageLength = MessageContent.getBytes("GBK").length;
} catch (UnsupportedEncodingException ex) {
}
} else if (MessageCoding == 0) {
try {
MessageLength = MessageContent.getBytes("ASCII").length;
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
try {
MessageLength = MessageContent.getBytes("UnicodeBigUnmarked").length;
} catch (UnsupportedEncodingException ex) {
}
}
setTotalLen(20 + 123 + UserCount * 21 + MessageLength);
}
public String getMessageContent() {
return MessageContent;
}
public void setUserNumber(String[] UserNumber) {
this.UserNumber = UserNumber;
UserCount = UserNumber.length;
setTotalLen(20 + 123 + UserCount * 21 + MessageLength);
}
public int getTP_udhi() {
return TP_udhi;
}
public void setTP_udhi(int TP_udhi) {
this.TP_udhi = TP_udhi;
}
public int getTP_pid() {
return TP_pid;
}
public void setTP_pid(int TP_pid) {
this.TP_pid = TP_pid;
}
public String getSPNumber() {
return SPNumber;
}
public void setSPNumber(String SPNumber) {
this.SPNumber = SPNumber;
}
public String getServiceType() {
return ServiceType;
}
public void setServiceType(String ServiceType) {
this.ServiceType = ServiceType;
}
public String getScheduleTime() {
return ScheduleTime;
}
public void setScheduleTime(String ScheduleTime) {
this.ScheduleTime = ScheduleTime;
}
public String getReserve() {
return Reserve;
}
没有合适的资源?快使用搜索试试~ 我知道了~
WapPush2.rar_PDUdecoding ja_WAP_Push_Java_push_wap push_wappush
共193个文件
svn-base:69个
class:25个
java:25个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 53 浏览量
2022-09-22
19:17:42
上传
评论
收藏 11.56MB RAR 举报
温馨提示
本程序采用java程序编写的实现用SMS下发WAP PUSH的源码,可支持多款机型。
资源推荐
资源详情
资源评论
收起资源包目录
WapPush2.rar_PDUdecoding ja_WAP_Push_Java_push_wap push_wappush (193个子文件)
all-wcprops 2KB
all-wcprops 2KB
all-wcprops 1017B
all-wcprops 996B
all-wcprops 996B
all-wcprops 372B
all-wcprops 352B
all-wcprops 352B
all-wcprops 334B
all-wcprops 334B
all-wcprops 323B
all-wcprops 323B
all-wcprops 94B
all-wcprops 94B
all-wcprops 93B
all-wcprops 93B
all-wcprops 85B
all-wcprops 85B
all-wcprops 84B
all-wcprops 84B
SMG_Submit.class 8KB
PushUtil.class 5KB
SMG_Report.class 5KB
SMG_Deliver.class 4KB
SPClient.class 4KB
SMG_Head.class 4KB
OTAMessage.class 3KB
Main.class 3KB
WBXMLToken.class 3KB
PDUdecoding.class 2KB
SMG_Bind.class 2KB
SMGDefine.class 2KB
SMG_DeliverResp.class 2KB
SMG_ReportResp.class 2KB
SMG_BindResp.class 2KB
CookieUtil.class 2KB
WBXML.class 1KB
SMG_SEQ.class 1KB
WDPHeader.class 879B
WSPHeader.class 830B
Encode.class 823B
Test.class 720B
SMG_UnbindResp.class 482B
SMG_SubmitResp.class 468B
SMG_Unbind.class 342B
.classpath 658B
entries 2KB
entries 2KB
entries 2KB
entries 1KB
entries 1KB
entries 713B
entries 565B
entries 565B
entries 553B
entries 553B
entries 543B
entries 543B
entries 277B
entries 277B
entries 255B
entries 255B
entries 250B
entries 250B
entries 249B
entries 249B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
format 2B
spring.jar 2.81MB
GroboUtils-5-core.jar 1.34MB
log4j-1.2.13.jar 350KB
commons-lang-2.3.jar 240KB
commons-logging-1.1.1.jar 59KB
commons-codec-1.3.jar 46KB
sms-core.jar 12KB
SMG_Submit.java 11KB
OTAMessage.java 8KB
PushUtil.java 6KB
SMG_Deliver.java 5KB
SMG_Report.java 5KB
PDUdecoding.java 5KB
Main.java 4KB
共 193 条
- 1
- 2
资源评论
钱亚锋
- 粉丝: 86
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功