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