4、下行簡訊發送WebService、下行簡訊發送服務 -功能詳細設計 --簡訊平台

來源:互聯網
上載者:User

標籤:無法發送   簡訊   異常   null   訪問   sum   param   data   優先   

 

3、  下行簡訊發送WebService

開發一個WebService,供第三方系統調用,用於傳送簡訊。WebService接收資料後,將資訊儲存入資料庫的簡訊發送資料表中。

WebService參數包括:應用標識、手機號碼(字串數群組類型)、簡訊內容、擴充碼(3-8位元字)、優先順序(數字1至5)、定時發送時間(可null為即時發送)、發送人ID(內部機構人員管理系統的ID)、發送人全路徑。

同時開發另一個WebService,與原有舊系統介面完全相同,用於調用舊簡訊平台的第三方系統無縫切換到新簡訊平台。

 

Webservice實現如下:

/// <summary>        /// 傳送簡訊服務        /// 成功:返回MsgGroup,格式為"success:" + MsgGroup        /// 異常:返回異常資訊        /// </summary>        /// <param name="appCode">應用標識</param>        /// <param name="mobiles">手機號</param>        /// <param name="smsContent">簡訊內容</param>        /// <param name="addSerial">擴充碼</param>        /// <param name="smsPriority">優先順序</param>        /// <param name="isMo">是否允許回複</param>        /// <param name="scheduleTime">定時時間</param>        /// <param name="sendUserId">發送人</param>        /// <param name="sendUserFullPath">發送人全路徑</param>        /// <returns></returns>        [WebMethod]        public string SendSMSWithSuccess(string appCode, string[] mobiles, string smsContent, string addSerial, int smsPriority = 1, bool isMo = true, DateTime? scheduleTime = null, string sendUserId = "", string sendUserFullPath = "")        {            //執行校正和入庫            string result = …            return result;        }

 

         其中MsgGroup為移動要求提供的32位的唯一編碼,後續返回的提交報告、狀態報表都以此為對應依據。

         WebService內部邏輯首先是校正,包括應用是否註冊、號碼數量、號碼組是否包括重複號碼、號碼是否具有非法字元、擴充碼長度等內容。然後將校正過的資料存入資料庫。

 

下行簡訊資料表:

SMS_MT_DATA_INFO 簡訊資訊表

欄位代碼

欄位名稱

欄位類型

可空

標識

主鍵

MSG_GROUP

批次號

varchar(32)

N

N

Y

APP_CODE

應用標識

varchar(64)

N

N

N

MOBILES

手機號碼組

varchar(max)

N

N

N

SMS_CONTENT

簡訊內容

varchar(max)

N

N

N

ADD_SERIAL

擴充碼

varchar(32)

Y

N

N

SMS_PRIORITY

優先順序

int

N

N

N

IS_MO

是否需要上行

bit

N

N

N

SCHEDULE_TIME

定時時間

datetime

Y

N

N

SEND_USER_ID

發信人

varchar(36)

Y

N

N

SEND_USER_FULL_PATH

發信人全路徑

varchar(512)

Y

N

N

CREATE_TIME

建立時間

datetime

N

N

N

 

SMS_MT_DATA_HIS_INFO 簡訊資訊曆史表

欄位代碼

欄位名稱

欄位類型

可空

標識

主鍵

MSG_GROUP

批次號

varchar(32)

N

N

Y

APP_CODE

應用標識

varchar(64)

N

N

N

MOBILES

手機號碼組

varchar(max)

N

N

N

SMS_CONTENT

簡訊內容

varchar(max)

N

N

N

ADD_SERIAL

擴充碼

varchar(32)

N

N

N

SMS_PRIORITY

優先順序

int

N

N

N

IS_MO

是否需要上行

bit

N

N

N

SCHEDULE_TIME

定時時間

datetime

Y

N

N

SEND_USER_ID

發信人

varchar(36)

Y

N

N

SEND_USER_FULL_PATH

發信人全路徑

varchar(512)

Y

N

N

CREATE_TIME

建立時間

datetime

N

N

N

SEND_RESULT

返回狀態

int

N

N

N

SEND_TIME

發送時間

datetime

N

N

N

HAS_MO

是否有回複

bit

N

N

N

 

 

4、  下行簡訊發送服務

一個WindowsService,定時訪問資料庫,若有資料則調用雲MAS組件傳送簡訊,然後將發送過的簡訊移入簡訊發送曆史資料表。

由於雲MAS平台需要登入後使用,登入只能進行一次,因此需要對SDK進行單例模式的封裝。

移動雲MAS平台內部有一定的處理邏輯,具體的我也不知道,猜測如下:首先接收資料後移動對簡訊資訊進行審核,然後將審核過的簡訊提交到內部的發送系統,此過程會產生提交報告;內部判定如果是移動的手機號,則由自己的系統傳送簡訊,此處會有白名單限制,白名單之外的簡訊無法發送,如果是聯通或電信手機號,則調用相應的介面交由相應系統傳送簡訊,此時移動自己的白名單無效,此過程會產生狀態報表。

 

HTTP版本中雲MAS平台和Http用戶端資料互動流程如下,供參考。

 

 

4、下行簡訊發送WebService、下行簡訊發送服務 -功能詳細設計 --簡訊平台

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.