分类(开发心得)
OA之手机短信模块功能的实现
2009/09/17 10:56

前言
   短信模块功能的应用是非常多的,基本上正规点的系统都有这个功能,但是他的实现方式有好多种。
用途
1.可以用于OA,即时通讯,预警系统等。
2.也可以写成组件,供其它模块调用,如工作流等。
3.业务逻辑的及时提醒,在处理关键部分时可以通过短信发送相关信息,以确保信息安全。
开发手机技术简介
1.SP服务提供商.现在移动,电信,联通,都有自己的短信能服务代理公司,你只要向他们买服务,就会提供技术资料,网关和帐号.可供开发一般会有三种方法:
      第一种是以API方式,提供,你只要把他们提供的DLL文件,应用在工程即可.调用其发送方法即可.我个人认为它是把对网关访问的服务给封装起来。
      第二种以数据库方式,你只要安装好他们提供的引擎,配置好ODBC,在数据库中按照要求配置好上行表(接收)和下行表(发送)。往下行表写短信就会自动发送出去。
      第三种类似于API的方式,通过http向指定web接口post或get一个带指定参数的请求,然后发送方处理返回指令即可。
2.硬件短信猫. 可以去一些公司买短信猫,他们会提供软件和硬件,接在手机,连上电脑,即可发短信。
3.一些网站的短信WebService。一些网站会提供一些服务给普通开发者,他们是免费的,好像新浪就有。需要的可以去网上查查
4. 还有一种,我记不清楚了好像要用C++写一大堆代码,好复杂,我不懂。
技术
1.       C# 开发语言。
2.       Asp.net 等类似的web语言,开发的是Web程序。
3.       Ado.net 也就是写数据库。
4.       短信SP 本文主要针对SP写数据库开发。
应用环境
   主要给公司给各部门的文员使用,发送部门内部,或对外发送,同时可以管理本部门员工的通讯录。
模块功能
1.       通讯录模块,主要是公司组织模块,如果有这一块就不用。
2.       公司组织模块,用于群发时候选择部门或职务类别等方式使用。
3.       个人通讯录模块,用于管理非公司,或自己的联络人。
4.       通讯录目录权限授权
5.       手机短信模块,可以发送,接受短信,
6.       群发短信
7.       定时发送,需要自己写。
8.       短信管理,费用统计。
数据库
  1.组织目录表,就一树形表,用来存储组织结构的

程序代码
CREATE TABLE [dbo].[SmsGroup](
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[parentID] [int] NOT NULL
)

 2.用户表,存储用户的,一个完整的OA系统是应该用的,不需要在这里搞。
程序代码
CREATE TABLE [dbo].[SmsUser](
[id] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[name] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[job] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[position] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[tel] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[fix] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[fax] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[email] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[qq] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[msn] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[status] [int] NOT NULL,

)

3.下行表,用来引擎扫描的表,也就是发短信的表。有一个字段是表示短信的状态的
程序代码
CREATE TABLE [dbo].[SmsSend](
[uninstand] [uniqueidentifier] NOT NULL,
[id] [decimal](18, 0) IDENTITY(1,1) NOT NULL,
[to] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[content] [varchar](160) COLLATE Chinese_PRC_CI_AS NOT NULL,
[status] [int] NOT NULL
)

4.短信管理表,用来提供给用户管理已发短信的和统计短信,当然也可以点击某一条重发。呵呵!
程序代码
CREATE TABLE [dbo].[SmsList](
[uninstand] [uniqueidentifier] NOT NULL,
[to] [varchar](2000) COLLATE Chinese_PRC_CI_AS NOT NULL,
[date] [datetime] NOT NULL,
[userID] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[status] [int] NOT NULL
)

5.组织和用户表,就是用来搭建组织目录树的,一个部门下面对应多少个用户的东东。
程序代码
CREATE TABLE [dbo].[SmsGroupUser](
[groupID] [int] NOT NULL,
[userID] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
[sysID] [int] IDENTITY(1,1) NOT NULL
)

6.自定义用户表,用来存储用户的自定义联络人。
程序代码
CREATE TABLE [dbo].[SmsMyUser](
[userID] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[name] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[sysID] [int] IDENTITY(1,1) NOT NULL,
[remark] [varchar](2000) COLLATE Chinese_PRC_CI_AS NULL,
[tel] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL
)

7.常用短语表,用来存储用户自己常用短信表
程序代码
CREATE TABLE [dbo].[SmsWords](
[userID] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL,
[Content] [varchar](2000) COLLATE Chinese_PRC_CI_AS NOT NULL,
[sysID] [int] IDENTITY(1,1) NOT NULL
)

还有一张表用来定时发短信的,因为sp提供的引擎没有这个功能,所以需要我自己来写,很简单的.

此文章是参考博客园代维雅的文章,在他文章上都做了修改和完善,另外还有其他的实现方法,后面有时间在把这个话题补充完整,如果有兴趣的朋友也可以加我QQ共同探讨。

Tags: 短信,OA,手机短信,短信模块,模块,API
相关日志:
正在读取相关日志,请等待...
+引用(0) |
发表评论
昵称  密码  游客无需密码
网址  电邮  注册
验证码 请输入左侧图片中的字符
记住我