博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4、下行短信发送WebService、下行短信发送服务 -功能详细设计 --短信平台
阅读量:4959 次
发布时间:2019-06-12

本文共 2334 字,大约阅读时间需要 7 分钟。

 

3、  下行短信发送WebService

开发一个WebService,供第三方系统调用,用于发送短信。WebService接收数据后,将信息存储入数据库的短信发送数据表中。

WebService参数包括:应用标识、手机号码(字符串数组类型)、短信内容、扩展码(3-8位数字)、优先级(数字1至5)、定时发送时间(可null为即时发送)、发送人ID(内部机构人员管理系统的ID)、发送人全路径。

同时开发另一个WebService,与原有旧系统接口完全相同,用于调用旧短信平台的第三方系统无缝切换到新短信平台。

 

Webservice实现如下:

///         /// 发送短信服务        /// 成功:返回MsgGroup,格式为"success:" + MsgGroup        /// 异常:返回异常信息        ///         /// 应用标识        /// 手机号        /// 短信内容        /// 扩展码        /// 优先级        /// 是否允许回复        /// 定时时间        /// 发送人        /// 发送人全路径        /// 
[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客户端数据交互流程如下,供参考。

 

 

转载于:https://www.cnblogs.com/zhangyuan0532/p/6844792.html

你可能感兴趣的文章
求1+2+3+...+n
查看>>
[EXP]Microsoft Windows CONTACT - Remote Code Execution
查看>>
【面试】MySQL 中NULL和空值的区别?
查看>>
用js判断 iPhone6 iPhone6 plus iphonex?
查看>>
NOIp2016 蚯蚓 【二叉堆/答案单调性】By cellur925
查看>>
NOIp知识集合 By cellur925
查看>>
Nginx设置日志分割方法
查看>>
教学目标的表述方式──行为目标的ABCD表述法
查看>>
交换两个变量的值的若干种方法
查看>>
CKEditor 配置
查看>>
闪烁的文字
查看>>
IOS开发-点击View取消键盘输入
查看>>
标准库 string
查看>>
C++内联函数
查看>>
LNMP 1.1 php编译安装
查看>>
jw player参数设定(转)
查看>>
mysql 不常用备忘
查看>>
Mybatis自动化生成代码
查看>>
asp.net 动态添加多附件上传.
查看>>
sscanf()函数
查看>>