?? submit.cs
字號:
using System;
using System.Collections.Generic;
using System.Text;
namespace JeasonZhao.Sms.SGIP.Command
{
/// <summary>
/// 在SP和SMG的通信中,SP用Submit命令向SMG提交MT短消息,發送到用戶的手機中。SMG接收到Submit命令,會返回Submit_Resp應答。SMG根據Submit命令中的付費號碼,判斷出該命令是否應從本地SMSC發送,如果屬于本地發送,則直接發送到相應的SMSC,否則路由至相應的SMG。
/// 在SMG和SMG的通信中,Submit命令用于SMG客戶端向服務器端路由從SP收到的MT短消息。服務器端接收到Submit命令后,再發送到與之相連的目的SMSC。
/// </summary>
public class Submit : BaseCommand
{
//private List<string> m_allUserNumbers = new List<string>();
//public List<string> AllUserNumbers
//{
// get { return m_allUserNumbers; }
//}
public Submit()
: base(Commands.Submit)
{
}
//public void AddUserNumber(String str)
//{
// m_allUserNumbers.Add(str);
//}
#region 字段列表
//SPNumber 21 Text SP的接入號碼
private string m_SPNumber = null;
//ChargeNumber 21 Text 付費號碼,手機號碼前加“86”國別標志;當且僅當群發且對用戶收費時為空;如果為空,則該條短消息產生的費用由UserNumber代表的用戶支付;如果為全零字符串“000000000000000000000”,表示該條短消息產生的費用由SP支付。
private string m_ChargeNumber = null;
//UserCount 1 Integer 接收短消息的手機數量,取值范圍1至100
private byte m_UserCount = 1;
//UserNumber 21 Text 接收該短消息的手機號,該字段重復UserCount指定的次數,手機號碼前加“86”國別標志
private string m_UserNumber = null;
//CorpId 5 Text 企業代碼,取值范圍0-99999
private string m_CorpId = null;
//ServiceType 10 Text 業務代碼,由SP定義
private string m_ServiceType = "DCGZ";
//FeeType 1 Integer 計費類型
private FeeTypes m_FeeType = FeeTypes.Free;
//FeeValue 6 Text 取值范圍0-99999,該條短消息的收費值,單位為分,由SP定義 對于包月制收費的用戶,該值為月租費的值
private string m_FeeValue = "0";
//GivenValue 6 Text 取值范圍0-99999,贈送用戶的話費,單位為分,由SP定義,特指由SP向用戶發送廣告時的贈送話費
private string m_GivenValue = "0";
//AgentFlag 1 Integer 代收費標志,0:應收;1:實收
private SubmitAgentFlag m_AgentFlag = SubmitAgentFlag.SouldIncome;
//MorelatetoMTFlag 1 Integer 引起MT消息的原因0-MO點播引起的第一條MT消息;1-MO點播引起的非第一條MT消息;2-非MO點播引起的MT消息;3-系統反饋引起的MT消息。
private SubmitMorelatetoMTFlags m_MorelatetoMTFlag = SubmitMorelatetoMTFlags.VoteFirst;
//Priority 1 Integer 優先級0-9從低到高,默認為0
private byte m_Priority = 0;
//ExpireTime 16 Text 短消息壽命的終止時間,如果為空,表示使用短消息中心的缺省值。時間內容為16個字符,格式為”yymmddhhmmsstnnp” ,其中“tnnp”取固定值“032+”,即默認系統為北京時間
private string m_ExpireTime = null;
//ScheduleTime 16 Text 短消息定時發送的時間,如果為空,表示立刻發送該短消息。時間內容為16個字符,格式為“yymmddhhmmsstnnp” ,其中“tnnp”取固定值“032+”,即默認系統為北京時間
private string m_ScheduleTime = null;
//ReportFlag 1 Integer 狀態報告標記0-該條消息只有最后出錯時要返回狀態報告1-該條消息無論最后是否成功都要返回狀態報告2-該條消息不需要返回狀態報告3-該條消息僅攜帶包月計費信息,不下發給用戶,要返回狀態報告其它-保留缺省設置為0
private SubmitReportFlag m_ReportFlag = SubmitReportFlag.NoReport;
//TP_pid 1 Integer GSM協議類型。詳細解釋請參考GSM03.40中的9.2.3.9
private byte m_TP_pid = 0;
//TP_udhi 1 Integer GSM協議類型。詳細解釋請參考GSM03.40中的9.2.3.23,僅使用1位,右對齊
private byte m_TP_udhi = 0;
//MessageCoding 1 Integer 短消息的編碼格式。0:純ASCII字符串3:寫卡操作4:二進制編碼8:UCS2編碼15: GBK編碼其它參見GSM3.38第4節:SMS Data Coding Scheme
private MessageCodings m_MessageCoding = MessageCodings.Gbk;
//MessageType 1 Integer 信息類型:0-短消息信息其它:待定
private byte m_MessageType = 0;
//MessageLength 4 Integer 短消息的長度
private uint m_MessageLength = 0;
//MessageContent Message Length Text 短消息的內容
private string m_MessageContent = null;
//Reserve 8 Text 保留,擴展用
private string m_Reserve = null;
#endregion
#region 屬性列表
/// <summary>
///SPNumber 21 Text SP的接入號碼
/// </summary>
[SmsField(false, 0, 21)]
public string SPNumber
{
get { return m_SPNumber; }
set { m_SPNumber = value; }
}
/// <summary>
///ChargeNumber 21 Text 付費號碼,手機號碼前加“86”國別標志;當且僅當群發且對用戶收費時為空;如果為空,則該條短消息產生的費用由UserNumber代表的用戶支付;如果為全零字符串“000000000000000000000”,表示該條短消息產生的費用由SP支付。
/// </summary>
[SmsField(false, 1, 21)]
public string ChargeNumber
{
get { return m_ChargeNumber; }
set { m_ChargeNumber = value; }
}
/// <summary>
///UserCount 1 Integer 接收短消息的手機數量,取值范圍1至100
/// </summary>
[SmsField(false, 2, 1)]
public byte UserCount
{
get { return m_UserCount; }
set { m_UserCount = value; }
}
/// <summary>
///UserNumber 21 Text 接收該短消息的手機號,該字段重復UserCount指定的次數,手機號碼前加“86”國別標志
/// </summary>
[SmsField(false, 3, 21)]
public string UserNumber
{
get { return m_UserNumber; }
set { m_UserNumber = value; }
}
/// <summary>
///CorpId 5 Text 企業代碼,取值范圍0-99999
/// </summary>
[SmsField(false, 4, 5)]
public string CorpId
{
get { return m_CorpId; }
set { m_CorpId = value; }
}
/// <summary>
///ServiceType 10 Text 業務代碼,由SP定義
/// </summary>
[SmsField(false, 5, 10)]
public string ServiceType
{
get { return m_ServiceType; }
set { m_ServiceType = value; }
}
/// <summary>
///FeeType 1 Integer 計費類型
/// </summary>
[SmsField(false, 6, 1)]
public FeeTypes FeeType
{
get { return m_FeeType; }
set { m_FeeType = value; }
}
/// <summary>
///FeeValue 6 Text 取值范圍0-99999,該條短消息的收費值,單位為分,由SP定義 對于包月制收費的用戶,該值為月租費的值
/// </summary>
[SmsField(false, 7, 6)]
public string FeeValue
{
get { return m_FeeValue; }
set { m_FeeValue = value; }
}
/// <summary>
///GivenValue 6 Text 取值范圍0-99999,贈送用戶的話費,單位為分,由SP定義,特指由SP向用戶發送廣告時的贈送話費
/// </summary>
[SmsField(false, 8, 6)]
public string GivenValue
{
get { return m_GivenValue; }
set { m_GivenValue = value; }
}
/// <summary>
///AgentFlag 1 Integer 代收費標志,0:應收;1:實收
/// </summary>
[SmsField(false, 9, 1)]
public SubmitAgentFlag AgentFlag
{
get { return m_AgentFlag; }
set { m_AgentFlag = value; }
}
/// <summary>
///MorelatetoMTFlag 1 Integer 引起MT消息的原因0-MO點播引起的第一條MT消息;1-MO點播引起的非第一條MT消息;2-非MO點播引起的MT消息;3-系統反饋引起的MT消息。
/// </summary>
[SmsField(false, 10, 1)]
public SubmitMorelatetoMTFlags MorelatetoMTFlag
{
get { return m_MorelatetoMTFlag; }
set { m_MorelatetoMTFlag = value; }
}
/// <summary>
///Priority 1 Integer 優先級0-9從低到高,默認為0
/// </summary>
[SmsField(false, 11, 1)]
public byte Priority
{
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -