⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msgsubmit.java

📁 中国联通短信通信协议
💻 JAVA
字号:
package com.wireless.sms.gwif.sgip12;

/**
 * <p>Title: WVAS-PLATFORM-SMS</p>
 * <p>Description: 无线增值业务平台-----短信接口机</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: moon</p>
 * @author tech team
 * @version 1.0
 */

import com.wireless.sms.pub.util.Base64;
//import com.wireless.sms.pub.mq.*;
public class MsgSubmit extends MsgHead
{
  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

    public void setMessageLength(int MessageLength) {
        this.MessageLength = MessageLength;
    }

    public int getMessageLength() {
        return MessageLength;
    }

    public MsgSubmit() {
    setCmdID(0x3);
  }

  public byte[] getBytes(){
    byte[] sMsgContent = null;
    try {
      if (MessageCoding == 8){
	sMsgContent = MessageContent.getBytes("iso-10646-ucs-2");
      } else if (MessageCoding == 15) {
	sMsgContent = MessageContent.getBytes("GBK");
      } else if(MessageCoding == 4 || MessageCoding == 3) {
	sMsgContent = Base64.decode(MessageContent.getBytes("iso-8859-1"));
      } else {
	sMsgContent = MessageContent.getBytes("iso-8859-1");
      }
    } catch (Exception ex) {
      ex.printStackTrace();
    }

    MessageLength = sMsgContent.length;

    //设置包长
    setTotalLen(20 + 123 + UserCount * 21 + MessageLength);
    byte[] r = new byte[getTotalLen()];
    headFill(r);

    str2byte(r, SPNumber, 20, 21);                                         //1
    str2byte(r, ChargeNumber, 41, 21);                                     //2
    r[62] = (byte)UserCount;                                               //3
    for (int i=0; i< UserCount; i++){
      str2byte(r, UserNumber[i], 63 + i * 21, 21);                         //4
    }
    int idx = 63 + UserCount * 21;
    str2byte(r, CorpId, idx, 5);                                           //5
    str2byte(r, ServiceType, idx + 5, 10);                                 //6
    r[idx + 15] = (byte)FeeType;                                           //7
    str2byte(r, FeeValue, idx + 16, 6);                                    //8
    str2byte(r, GivenValue, idx + 22, 6);                                  //9
    r[idx + 28] = (byte)AgentFlag;                                         //10
    r[idx + 29] = (byte)MorelatetoMTFlag;                                  //11
    r[idx + 30] = (byte)Priority;                                          //12
    idx = idx + 31;
    str2byte(r, ExpireTime, idx, 16);                                      //13
    str2byte(r, ScheduleTime, idx + 16, 16);                               //14
    r[idx + 32] = (byte)ReportFlag;                                        //15
    r[idx + 33] = (byte)TP_pid;                                            //16
    r[idx + 34] = (byte)TP_udhi;                                           //17
    r[idx + 35] = (byte)MessageCoding;                                     //18
    r[idx + 36] = (byte)MessageType;                                       //19
    setUINT4(r, idx + 37, MessageLength);                                  //20
    System.arraycopy(sMsgContent,0,r,idx+41,sMsgContent.length);           //21
    str2byte(r, Reserve, idx + 41 + MessageLength, 8);                     //22

    return r;

  }
  public byte[] getSpecialBytes(byte [] msgcontent){
    byte[] sMsgContent = msgcontent;


    MessageLength = sMsgContent.length;

    //设置包长
    setTotalLen(20 + 123 + UserCount * 21 + MessageLength);
    byte[] r = new byte[getTotalLen()];
    headFill(r);

    str2byte(r, SPNumber, 20, 21);                                         //1
    str2byte(r, ChargeNumber, 41, 21);                                     //2
    r[62] = (byte)UserCount;                                               //3
    for (int i=0; i< UserCount; i++){
      str2byte(r, UserNumber[i], 63 + i * 21, 21);                         //4
    }
    int idx = 63 + UserCount * 21;
    str2byte(r, CorpId, idx, 5);                                           //5
    str2byte(r, ServiceType, idx + 5, 10);                                 //6
    r[idx + 15] = (byte)FeeType;                                           //7
    str2byte(r, FeeValue, idx + 16, 6);                                    //8
    str2byte(r, GivenValue, idx + 22, 6);                                  //9
    r[idx + 28] = (byte)AgentFlag;                                         //10
    r[idx + 29] = (byte)MorelatetoMTFlag;                                  //11
    r[idx + 30] = (byte)Priority;                                          //12
    idx = idx + 31;
    str2byte(r, ExpireTime, idx, 16);                                      //13
    str2byte(r, ScheduleTime, idx + 16, 16);                               //14
    r[idx + 32] = (byte)ReportFlag;                                        //15
    r[idx + 33] = (byte)TP_pid;                                            //16
    r[idx + 34] = (byte)TP_udhi;                                           //17
    r[idx + 35] = (byte)MessageCoding;                                     //18
    r[idx + 36] = (byte)MessageType;                                       //19
    setUINT4(r, idx + 37, MessageLength);                                  //20
    System.arraycopy(sMsgContent,0,r,idx+41,sMsgContent.length);           //21
    str2byte(r, Reserve, idx + 41 + MessageLength, 8);                     //22

    return r;

  }

  public String[] getUserNumber() {
    return UserNumber;
  }
  public void setMessageContent(String MessageContent) {
    this.MessageContent = MessageContent;
    MessageLength =MessageContent.getBytes().length;
    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;
  }
  public void setReserve(String Reserve) {
    this.Reserve = Reserve;
  }
  public int getReportFlag() {
    return ReportFlag;
  }
  public int getPriority() {
    return Priority;
  }
  public void setPriority(int Priority) {
    this.Priority = Priority;
  }
  public void setReportFlag(int ReportFlag) {
    this.ReportFlag = ReportFlag;
  }
  public int getMorelatetoMTFlag() {
    return MorelatetoMTFlag;
  }
  public void setMorelatetoMTFlag(int MorelatetoMTFlag) {
    this.MorelatetoMTFlag = MorelatetoMTFlag;
  }
  public int getMessageType() {
    return MessageType;
  }
  public void setMessageType(int MessageType) {
    this.MessageType = MessageType;
  }
  public int getMessageCoding() {
    return MessageCoding;
  }
  public void setMessageCoding(int MessageCoding) {
    this.MessageCoding = MessageCoding;
  }
  public String getGivenValue() {
    return GivenValue;
  }
  public void setGivenValue(String GivenValue) {
    this.GivenValue = GivenValue;
  }
  public String getFeeValue() {
    return FeeValue;
  }
  public void setFeeValue(String FeeValue) {
    this.FeeValue = FeeValue;
  }
  public int getFeeType() {
    return FeeType;
  }
  public void setFeeType(int FeeType) {
    this.FeeType = FeeType;
  }
  public String getExpireTime() {
    return ExpireTime;
  }
  public void setExpireTime(String ExpireTime) {
    this.ExpireTime = ExpireTime;
  }
  public String getCorpId() {
    return CorpId;
  }
  public void setCorpId(String CorpId) {
    this.CorpId = CorpId;
  }
  public String getChargeNumber() {
    return ChargeNumber;
  }
  public void setChargeNumber(String ChargeNumber) {
    this.ChargeNumber = ChargeNumber;
  }
  public void setAgentFlag(int AgentFlag) {
    this.AgentFlag = AgentFlag;
  }
  public int getAgentFlag() {
    return AgentFlag;
  }
  public int getUserCount() {
    return UserCount;
  }
  public void setUserCount(int UserCount) {
    this.UserCount = UserCount;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -