📄 deliverrequest.java
字号:
package com.gctech.cmpp3.msg;
import com.gctech.util.Tools;
/**
* <p>Title: 短信 API</p>
* <p>Description: 短信SP API</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: GCTECH</p>
* @author 王红宝
* @version $Id: DeliverRequest.java,v 1.6 2004/07/16 08:32:51 wanghb Exp $
*/
public class DeliverRequest extends CmppMsg {
private byte[] msgId;
private String destId;
private String serviceId;
private byte tpPid = 0x00;
private byte tpUdhi = 0x00;
private byte format = 0x0f;
private String srcId;
private byte srcTermType;
private byte registeredDelivery = 0x00;
private int msgLength = 0;
private String msgContent;
private String linkID;
public DeliverRequest() {
super();
this.head.setCommandId(CommandID.CMPP_DELIVER);
}
public DeliverRequest(MsgHead msghead) {
super(msghead);
}
//构造deliver结构
public byte[] toByteArray() {
byte[] data = new byte[109 + this.msgLength];
//byte[] data=new byte[85+this.msgLength];不太明白
for (int i = 0; i < data.length; i++) {
data[i] = 0x00;
}
CmppMsg.BytesCopy(head.toByteArray(), data, 0, 11, 0);
CmppMsg.BytesCopy(this.msgId, data, 0, 7, 12);
CmppMsg.BytesCopy(this.destId.getBytes(), data, 0, this.destId.length() - 1, 20);
data[53] = format;
CmppMsg.BytesCopy(this.srcId.getBytes(), data, 0, this.srcId.length() - 1, 54);
data[86] = this.srcTermType;
data[88] = (byte) this.msgLength;
try {
CmppMsg.BytesCopy(this.msgContent.getBytes(), data, 0, this.msgLength - 1, 89);
CmppMsg.BytesCopy(this.linkID.getBytes(), data, 0, this.linkID.length() - 1, 89 + this.msgContent.length());
} catch (Exception e) {
}
return data;
}
public String toString() {
/**@todo Override this com.gctech.cmpp3.msg.CmppMsg method*/
return super.toString();
}
//add by liya
public DeliverRequest(CmppMsg cmppmsg) {
super(cmppmsg);
}
protected void toByteArray(byte[] data) {
}
public void fromByteArray(byte[] data, int offset) {
super.fromByteArray(data, offset);
this.msgId = new byte[8];
System.arraycopy(data, 8, msgId, 0, 8);
this.destId = new String(data, 16, 21).trim();
System.out.println("this.destId:" + this.destId);
this.serviceId = new String(data, 37, 10).trim();
System.out.println("this.serviceId:" + this.serviceId);
this.tpPid = data[47];
this.tpUdhi = data[48];
this.format = data[49];
System.out.println("this.format:" + this.format);
this.srcId = new String(data, 50, 32).trim();
this.srcTermType = data[82];
this.registeredDelivery = data[83];
this.msgLength = Tools.unsignedByte2int(data[84]);
System.out.println("this.msgLength:" + this.msgLength);
try {
//根据不同的编码格式转换为相应编码的字符串
if (this.format == 8)
this.msgContent = new String(data, 85, msgLength, "UTF-16");
else if (this.format == 15)
this.msgContent = new String(data, 85, msgLength, "GBK");
else
this.msgContent = new String(data, 85, msgLength, "iso8859-1");
System.out.println("this.msgContent:" + this.msgContent);
} catch (Exception e) {
e.printStackTrace();
}
this.linkID = new String(data, 85 + msgLength, 20);
System.out.println("deliver: this.linkID:" + this.linkID);
for (int i = 85 + msgLength; i < 105 + msgLength; i++) {
System.out.println(data[i]);
}
}
public String getDestId() {
return destId;
}
public byte getFormat() {
return format;
}
public String getMsgContent() {
return msgContent;
}
public void setMsgContent(String msgContent) {
this.msgContent = msgContent;
}
public void setFormat(byte format) {
this.format = format;
}
public void setDestId(String destId) {
this.destId = destId;
}
public void setMsgId(byte[] msgId) {
this.msgId = msgId;
}
public byte[] getMsgId() {
return msgId;
}
public int getMsgLength() {
return msgLength;
}
public void setMsgLength(int msgLength) {
this.msgLength = msgLength;
}
public void setRegisteredDelivery(byte registeredDelivery) {
this.registeredDelivery = registeredDelivery;
}
public byte getRegisteredDelivery() {
return registeredDelivery;
}
public String getServiceId() {
return serviceId;
}
public void setServiceId(String serviceId) {
this.serviceId = serviceId;
}
public void setSrcId(String srcId) {
this.srcId = srcId;
}
public void setTpPid(byte tpPid) {
this.tpPid = tpPid;
}
public void setTpUdhi(byte tpUdhi) {
this.tpUdhi = tpUdhi;
}
public byte getTpUdhi() {
return tpUdhi;
}
public byte getTpPid() {
return tpPid;
}
public String getSrcId() {
return srcId;
}
/**
* @return
*/
public String getLinkID() {
return linkID;
}
/**
* @return
*/
public byte getSrcTermType() {
return srcTermType;
}
/**
* @param string
*/
public void setLinkID(String string) {
linkID = string;
}
/**
* @param b
*/
public void setSrcTermType(byte b) {
srcTermType = b;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -