我们现在大部分系统都要接入短信功能,一般短信系统直接提供一个restfull的服务。但是短信验证码有效时间控制、发送次数控制、短信模板、最短发送时间控制,所以要一个外围系统来接入
restfull服务,同时对外暴露一个http接口或者dubbo的服务,提供给其他系统使用。
1.本系统作用很简单,对外提供一个http的接口
短信发送流程:
短信校验流程:
2.数据库设计:
短信模板表:
字段名称 | 英文名称 | 数据类型 | 字段含义说明 | Not Null | Key | Default |
短信类型 | msgType | varchar(32) | register:注册;getpass:找回密码 | yes | yes | |
短信模板前缀 | templetPrefix | char(256) | 【开源FB注册】您的短信验证码为: | |||
短信模板后缀 | templetSuffix | char(256) | ,请不要泄露出去 | |||
可发送次数 | limitTimes | number | 每天可发送次数 | yes | ||
短信有效时间 | limitPeriod | number | 秒为单位 | yes | ||
时间间隔 | minSpace | number | 秒为单位,两次短信发送最短时间 | yes |
短信发送表:
字段名称 | 英文名称 | 数据类型 | 字段含义说明 | Not Null | Key | Default |
记录号 | serno | varchar (32) | yes | yes | ||
电话号码 | phonenum | varchar (20) | yes | |||
验证码 | phonemsg | varchar(10) | ||||
创建时间 | createtime | varchar(14) | ||||
发送时间 | sendtime | varchar(14) | ||||
验证码类型 | sendtype | varchar(14) | ||||
状态 | status | varchar(1) | 0:已发送;1:已验证 | |||
发送次数 | count | varchar(14) | ||||
验证时间 | checkdate | varchar(14) | ||||
签名 | signed | varchar(32) | ||||
验证状态 | checkstatus | varchar(1) |
3.接口定义
1.
验证码发送
请求
中文域名 | 对应元素 | 类型 | 说明 |
手机号 | moblile | string | |
发送类型 | sendType | string | register:注册; getpass:找回密码(其他自主定义) |
渠道 | proNo | string | 子系统名(自主定义) |
响应
中文域名 | 对应元素 | 类型 | 说明 |
发送标识 | returnCode | string | 00 01 02 03 |
发送标识 | returnDesc | string | 00- 成功 01- 发送失败 02- 发送次数超限 03- 请求频繁 |
2.验证码校验
请求
中文域名 | 对应元素 | 类型 | 说明 |
手机号 | moblile | string | |
发送类型 | sendType | string | register:注册; getpass:找回密码....(其他自主定义) |
验证码 | verCode | string | |
渠道 | proNo | string | 子系统(自主定义) |
应答
中文域名 | 对应元素 | 类型 | 说明 |
发送标识 | returnCode | boolean |