行业信息服务平台详细设计说明书
广东移动通信有限责任公司珠海分公司
08009行业信息服务平台
详细设计说明书
广州华脉通信科技有限公司
2005年7月
目录
1.
引言 ............................................ 6 1.1. 概述 . .................................................................................. 6 1.2. 1.3. 1.4. 1.5. 1.6. 2.
用户单位及服务对象....................................................... 6 项目背景与建设目标....................................................... 6 系统设计目标................................................................... 6 系统的层次结构............................................................... 7 技术特点 . .......................................................................... 7
系统建设思想 .................................... 8 2.1. 2.2. 2.3. 2.4. 2.5.
注重系统可靠性与稳定性............................................... 8 注重系统可扩充性........................................................... 8 注重系统可操作性........................................................... 8 注重系统易维护性........................................................... 8 注重投资保护................................................................... 8
3. 系统硬件设计 .................................... 8 3.1. 3.2.
网络结构 . .......................................................................... 9 硬件选型及硬件配置....................................................... 9
4.
应用软件设计 ................................... 10
4.1. 专用名词定义 ................... 错误!未定义书签。 4.1.1. 4.1.2. 4.1.3. 4.1.4. 4.1.5. 4.1.6. 4.1.7. 4.1.8. 4.1.9. 4.1.10. 4.1.11.
商户 ........................ 错误!未定义书签。 商品 ........................ 错误!未定义书签。 凭证 ........................ 错误!未定义书签。 渠道 ........................ 错误!未定义书签。 消费 ........................ 错误!未定义书签。 验卡 ........................ 错误!未定义书签。 激活 ........................ 错误!未定义书签。 激励 ........................ 错误!未定义书签。 授权 ........................ 错误!未定义书签。
结算 ..................... 错误!未定义书签。 对帐 ..................... 错误!未定义书签。
4.2. 功能描述 ....................................... 10
4.2.1. 商户管理 . ........................................ 错误!未定义书签。 4.2.2. 商品管理 . ........................................ 错误!未定义书签。 4.2.3. 凭证管理 . ........................................ 错误!未定义书签。 4.2.4. 渠道管理 . ........................................ 错误!未定义书签。
4.2.6. 客户服务 . ........................................ 错误!未定义书签。 4.2.7. 行业应用管理................................. 错误!未定义书签。 4.2.8. 外部接口控制................................. 错误!未定义书签。 4.2.9. 短信平台管理................................. 错误!未定义书签。 4.2.10. 系统权限管理................................. 错误!未定义书签。 5. 6.
数据设计 ....................................... 18 系统安全 ....................................... 36 6.1. 6.2.
网络安全 . ........................................................................ 36 应用软件的安全............................................................. 36
文档更改历史记录
1. 引言
1.1. 概述
本方案仅描述建设珠海移动通信公司(以下简称珠海移动)“行业营销商家平台”详细设计内容,用于实现珠海移动业务需求。
1.2. 用户单位及服务对象
建设珠海移动 “行业营销商家管理系统”是为如下角色提供服务与使用的: 1、 珠海移动管理人员; 2、 珠海移动市场人员; 3、 珠海移动销售人员; 4、 珠海移动客服人员; 5、 珠海移动手机用户 6、 行业营销商家
1.3. 项目背景与建设目标
随着中国电信服务市场的日益开放,用户对电信运营商寄予更多的服务要求,为了最大可能的增加用户对运营商的忠诚度, 各电信运营商不断以各种促销、优惠手段来争取用户。
本文描述的行业营销商家系统是为珠海移动实现通过行业营销商家促销来实现; 稳定客户而提供技术支撑的计算机系统。
1.4. 系统设计目标
行业营销商家管理系统的设计目标是建立一个高性能、高可靠性、灵活易用的客户促销及分期返利平台。为了达到利用行业营销商家服务方式稳定客户、利用多种技术手段达到拓展销售渠道、实现多种加盟联盟服务目标,提供优质的客户服务是该系统吸引客户的重要因素,因此本平台设计应具备以下性能及原则:
◆ 实用性:前端用户界面友好、简单、易用。
◆ 开放性:基于B/S实现模式,XML 收据交换、广泛组件技术的采用。
◆ 安全性:可以考虑敏感信息加密存放、密码加密等技术手段,提高数据储存的安全性。
◆ 兼容性:采用JAVA 及XML 技术,实现很好的跨平台性能,兼容流行的OS 和DB 。 ◆ 健壮性:系统必须考虑大容量用户情况,并能提供相应的解决方案。
1.5. 系统的层次结构
如上图所示,在本建设方案中,将珠海移动行业营销商家管理系统的组成分为以下层次:
1、 数据层
数据层是系统的数据存取中心,此试图是以数据库和文件系统实现, 为了保障数据的安全性和一致性, 系统通过严格的事务提交, 数据备份、日志转储来保证数据的安全性及一直行。 2、 逻辑层
逻辑层是系统所有业务逻辑的处理中心, 此试图采用通用组件技术实现, 同时系统应严格控制及优化业务逻辑的建模, 使系统达到业务最好的抽象及可扩展性。 3、 表现层
表现层是最终的用户试图,为了使系统易于操作、易于使用及容错能力强,系统应充分考虑用户的使用习惯,及容易出错的环节的考虑。
1.6. 技术特点
1、 系统的设计采用B/S 结合组件的设计思想,拥有三层结构的所有优点:服务请求处理
与服务数据相对分离、服务抽象层和承载支撑层的分离。
2、 采用基于组件的技术构造应用软件系统,便于系统裁减,保护用户以前的软件投资; 3、 应用处理软件的模块化设计,便于用户选型和叠加新的软件模块以自适应系统的扩容
需求。
4、 采用连接池、线程池等通用系统性能提升技术,使系统达到最好的性能提升。 5、 采用XML 技术, 系统和其他系统的接口标准化、通用化。
加密:为了防止数据在传输过程中泄密,因此,当用户向服务器端传送数据时加密系统会按照一定的规则自动将数据加密传送,以保证数据传送的安全性。
2. 系统建设思想
2.1. 注重系统可靠性与稳定性
由于本系统的具有与BOSS 账户接口,同时控制话费帐单的结算及赠送,任何失误都可能造成极其重大的后果(如话费的结算错误、张冠李戴、多结算或没有结算等)。所以整个系统长期可靠的运行,对保证短信计费业务和管理工作的正常运转,具有非常重大的意义。
2.2. 注重系统可扩充性
整个系统(网络结构、数据库服务器、应用软件)应易于扩充,以满足今后不断增加的用户需求和可能出现的较大任务负载,本系统的可扩充性描述如下:
1、 将来可以增加应用服务器,并实现应用服务器的负载均衡;
2、 应用软件采用组件化设计,扩充新功能会保护已有的应用软件投资。
2.3. 注重系统可操作性
后台管理系统的界面友好,需要充分考虑录入人员的特点,使数据处理工作简单、方便、快捷,业务流程清晰,符合常规业务处理习惯,系统数据维护方便。
2.4. 注重系统易维护性
从硬件平台系统的选择到应用系统的设计都应充分考虑系统的易维护性,设计上尽量采用易于维护的系统平台,保证操作简单,且维护成本较低。
2.5. 注重投资保护
在保证系统能够安全、可靠运行的前提下,应该最大限度地降低系统造价,保护原有的计算机设备及应用系统投资。例如,在系统建设过程中,考虑到计算机与网络技术的发展是非常迅速的,通常不可能选择一种永远不过时的计算机产品及网络技术。所以在构造本系统时,应该将投资与目前的应用紧密结合起来,并保留向更高的技术过渡的途径。
3. 系统硬件设计
3.1. 网络结构
为了保证系统不间断工作,系统硬件设计上必须充分考虑安全冗余设计,如下图所示: 应用服务器1和应用服务器2采用IP load balance技术, 数据库服务器1和数据库服务器2也采用IP load balance技术。使应用服务器和数据库服务器的两台主机都采用相同的对外IP , 如果其中的一台主机如果出现故障, 则另外一台主机自动接管。数据库服务器的两台主机采用共享磁盘阵列,同时磁盘阵列采用RAID1和RAID 技术,实现在磁盘出现问题时不丢失数据。
3.2. 硬件选型及硬件配置
1、 应用服务器
建议采用HP 高端PC Server 或SUN 终端服务器、工作站 RAM 1G 以上, HDD 30G
以上。
2、 数据库服务器
建议采用HP 高端PC Server 或SUN 终端服务器、工作站 RAM 1G 以上, HDD 40G 以上
3.3. 系统软件
1、 应用服务器
操作系统
Linux , FreeBSD ,HP Unix, Solaris,AIX ; 系统软件
Tomcat, Weblogic
2、
数据库服务器
操作系统
Linux , FreeBSD ,HP Unix, Solaris,AIX ; 建议采用Oracle, Informix, Postgresql
4. 应用软件设计 4.1. 功能设计
08009行业营销商户平台
1、商户管理
2、营销方案管理
4、标准卡管理
5、收银管理
7、行业应用
8、外部接口控制
10、系统权限管理
4.1.1. 商户管理
商户管理主要是处理商户的相关的数据,商户管理包括以下子功能:
4.1.1.1. 商户资料管理
录入、变更商家的资料,商户的基本资料包括以下内容:
1、商户代码
2、商户名称
3、商户地址
4、商户状态
4.1.1.2. 对帐
商家可以通过Web 实时查询交易情况,包括交易流水、交易日报、交易月报、任意时间段的交易情况。
4.1.1.3. 结算
提供详细的结算报表、包括:
交易明细
交易日报
交易月报
结算金额等。
4.1.1.4. 终端管理
录入、变更商户的终端资料。
4.1.1.5. 商品管理
录入、变更商家的商品资料,商品资料包括以内容:
商品的名称
商品的单价
商品的购销价
商品状态
4.1.2. 营销方案管理
此模块主要意义配置营销活动,此模块是目标系统的核心模块,一个营销方案决定客户参与活动的方式、优惠内容、交互过程等过程。
4.1.2.1. 优惠管理
优惠策略的录入、变更,优惠策略包含以下内容:
1、 优惠的名称
2、 优惠的起始时间
3、 优惠的结束时间
4、 优惠的方法(分月、单次等)
5、 优惠参数
6、 电子凭证绑定数量
7、 交易提示
8、 优惠的有效期(天数)
4.1.2.2. 获得优惠
获得资格的用户可以通过发送短信获得优惠,同时系统会发送电子凭证到用户手机,为了达到用户获得优惠的过程,系统提供相关获得优惠的配置功能,配置的内容为:
1、 资格用户列表
2、 每个客户每天获得优惠的次数
3、
4、
5、
6、 每个客户总共获得优惠的次数 每天允许获得优惠的人数 总共允许获得优惠的人数 相关限制提示
4.1.2.3. 获得凭证
如果用户帐户有优惠余额,用户可以发送指定短信到系统、系统会生成相关优惠的电子凭证,同时发送该电子凭证到用户手机。
方案互斥
4.1.2.4. 方案互斥
设置本营销方案和其他营销方案互斥,则参加本营销方案获得优惠的用户则不能在参加互斥的营销方案而获得优惠,否则亦然。
4.1.2.5. 优惠互斥
在同一个营销方案中,如果存在多个优惠,则获得当前优惠的用户不能再获得互斥优惠的优惠,反之亦然。
4.1.3. 客户管理
4.1.3.1. 资格用户管理
批量资格用户倒入、单个资格用户加入、资格用户的取消。
4.1.3.2. 用户优惠管理
批量、单个用户优惠的录入、变更,用户优惠余额查询统计。
4.1.3.3. 客户短信管理
查询客户上行、系统下行的短信内容,用以核对用户参与中出的问题。
4.1.3.4. 下发电子凭证
主动向用户发送优惠及相关电子凭证。
4.1.3.5. 消费记录查询
用以查询客户的消费历史。
4.1.4. 标准卡管理
4.1.4.1. 制卡
批量生成制定面值的话费卡,单个话费卡包含以下信息:
1、 话费卡的面值
2、
3、
4、 话费卡的卡号 话费卡的密码 话费卡的校验码
5、 话费卡的状态
4.1.4.2. 优惠绑定
绑定相关优惠到指定的批次面值的标准卡上,也就说,每张话费卡,除了包含制定面值的话费,同时包含指定的优惠。
4.1.4.3. 分销
批量、单个的分配话费卡到指定的商家,包括话费卡的销售记录、结算等。
4.1.4.4. 激活
当用户在商家给到指定面值和制定批次的标准卡后,用户需要通过激活,这张标准卡所包含指定面值的话费和优惠才会绑定到用户的帐户。激活的方法是用户通过短信发送相应得指令、卡号、密码到系统,如果卡号和密码正确,且该卡没有被激活,则系统会把对应的优惠和话费绑定到用户手机。
4.1.4.5. 话费入账
由于系统没有和BOSS 系统提供直接的接口,系统需要提供把用户激活后产生的话费信息倒入BOSS 系统。
4.1.5. 收银管理
4.1.5.1. 收银终端接入
系统提供提供向应的接入手段,允许商家通过GPRS, 电话线,宽带网等通信方式,采用普通电脑终端、专业POS 机等手段进行消费受理。
4.1.5.2. 收银处理
客户给出电子凭证后,商家通过该电子凭证验证该电子凭证所包含的优惠,商家提供相应得优惠给到客户。
4.1.5.3. 营业日报
提供商家的优惠日受理统计及明细。
4.1.5.4. 营业月报
提供商家的优惠月受理统计及明细。
4.1.6. 客户服务
如果在参与营销活动中有任何疑问,客户可以打电话咨询,系统提供相应界面给1860客服人员客户用于查询客户凭证、商品、消费、结余等。
4.1.6.1. 客户资格查询
查询客户是否有资格参与指定的营销活动。
4.1.6.2. 客户优惠查询
查询客户帐户的优惠余额及优惠历史。
4.1.6.3. 电子凭证管理
查询用户所获电子凭证情况。
4.1.6.4. 客户短信管理
查询上行短信及系统下行短信的内容。
4.1.6.5. 下发电子凭证
客服人员可以主动下行相关优惠的电子凭证给指定用户手机。
4.1.6.6. 消费记录查询
查询用户的消费历史。
5. 数据库设计
5.1. 实体关系图
5.1.1. 短信部分实体关系
5.1.2. 特约商户部分实体关系
5.2. 数据存储设计
5.2.1. 服务信息表
CREATE TABLE SMS_SERVICE (
PROVIDER VARCHAR(15) NOT NULL, 服务名称
QUEUE NUMBER(10,0) NOT NULL, 队列编号
PASSWORD VARCHAR(15) NOT NULL, 服务密码
STATUS NUMBER(1,0) NOT NULL, 服务状态
DETAIL VARCHAR(50), 服务说明
URL VARCHAR(100), URL 地址
CONSTRAINT PK_SERVICE_PROVIDER PRIMARY KEY (PROVIDER)
);
PROVIDER : 为主键,不能重复
QUEUE : 不能重复
PASSWORD : 密码
STATUS : 0:停用;1:开通
DETAIL : 本服务的说明
URL : 本服务对应的URL 例如 http://localhost/test.jsp
5.2.2. 运营商表
CREATE TABLE SMS_OPERATOR (
PROVIDER VARCHAR(15) NOT NULL, 运营商名称
QUEUE NUMBER(10,0) NOT NULL, 队列编号
SERVICENO VARCHAR(15) NOT NULL, 特服号
STATUS NUMBER(1,0) NOT NULL, 运营商状态
SerialKey
VARCHAR2(40), 授权码 DETAIL VARCHAR2(50), 运营商说明
CONSTRAINT PK_OPERATOR_PROVIDER PRIMARY KEY (PROVIDER)
);
PROVIDER : 为主键,不能重复
QUEUE :
SERVICENO
PASSWORD
STATUS
DETAIL
不能重复 运营商特服号,例如1288 密码 0:停用;1:开通 本服务的说明
5.2.3. 服务路由表
本表用来定义系统的应用所对应的服务号
CREATE TABLE SMS_SVCPREFIX ( PROVIDER VARCHAR(15) NOT NULL, 服务名称
PREFIX VARCHAR(15) NOT NULL, 号码前缀
CONSTRAINT PK_SVCPREFIX_PREFIX PRIMARY KEY (PROVIDER, PREFIX), CONSTRAINT FK_SVCPREFIX_PROVIDER FOREIGN KEY (PROVIDER)
REFERENCES SMS_SERVICE (PROVIDER)
);
PROVIDER:和sms_service的provider 对应,意思为一个服务有多个服务号前缀,例如128821、128832、888821等
PREFIX :特服号前缀,例如128821、128832等
本表通过provider 和sms_service关联,意思是一个服务可以和多个服务号对应
5.2.4. 运营商路由表
本表用来定义各个运营商所对应的号码段
CREATE TABLE SMS_OPRPREFIX (
PROVIDER VARCHAR2(15) NOT NULL ENABLE,
PREFIX VARCHAR2(15) NOT NULL ENABLE,
CONSTRAINT PK_OPRPREFIX_PREFIX PRIMARY KEY (PROVIDER, PREFIX),
CONSTRAINT FK_OPRPREFIX_PROVIDER FOREIGN KEY (PROVIDER)
REFERENCES SMS_OPERATOR (PROVIDER)
);
PROVIDER: 和sms_operator的provider 对应
PREFIX :号码段,系统采用长号优先原则,例如138222、1390222等
本表通过provider 和sms_operator关联
5.2.5. 业务代码信息表
业务代码
CREATE TABLE SMS_BUSICODE ( BUSICODE VARCHAR2(10) NOT NULL,
PRICE NUMBER(8,0) NOT NULL, PRIORTY NUMBER(1,0) NOT NULL, SENDCOST NUMBER(8,0) NOT NULL, DETAIL VARCHAR2(50), BILLSIDE NUMBER(3,0) NOT NULL,
价格 优先级 发送成本 详细描述 付费方
BILLKIND NUMBER(3,0) NOT NULL, 付费类型
CONSTRAINT PK_BUSICODE_BUSICODE PRIMARY KEY (BUSICODE) );
BUSICODE: PRICE: PRIORTY : DETAIL: BILLSIDE:
主键
以分为单位,100表示一元 优先级,0、1、2只能有三种取值
业务代码说明
0:服务商付费 1:用户付费;2:第三方付费
0:免费;1:单条收费;2:月租;3:第三方收费
SENDCOST : 以分为单位,100表示一元
BILLKIND : 付费类型
5.2.6. 发送业务代码表
业务代码 运营商名称
CREATE TABLE SMS_SENDBUSI (
BUSICODE VARCHAR2(10) NOT NULL ENABLE, PROVIDER VARCHAR2(15) NOT NULL ENABLE,
SENDBUSI VARCHAR2(10) NOT NULL ENABLE, 发送代码 SENDPARM VARCHAR2(15), 发送参数
CONSTRAINT PK_SENDBUSI_BUSICODE PRIMARY KEY (BUSICODE, PROVIDER) CONSTRAINT FK_SENDBUSI_BUSICODE FOREIGN KEY (BUSICODE) REFERENCES SMS_BUSICODE (BUSICODE) ENABLE ) ;
BUSICODE: 和sms_busicode的busicode 关联, PROVIDER :和sms_operator的provider 对应 SENDBUSI :发送业务代码 SENDPARM :发送参数
5.2.7. 下行计费表
CREATE TABLE SMS_SUBMIT (
SERIALNO VARCHAR(20) NOT NULL, 序列号,系统生成
SMSSerial VARCHAR2(20),
短信编号,运营商生成 当前状态代码 当前状态提示 发送时间 接受时间
ReturnValue NUMBER(3), ReturnMessage VARCHAR(150), SENDTIME DATE, RECVTIME DATE,
USRMSISDN VARCHAR2(15) NOT NULL,用户号码 CHGMSISDN VARCHAR2(15), 第三法收费号码 SERVICENO VARCHAR2(15), 服务号
BILLSIDE NUMBER(3,0), BILLKIND NUMBER(3,0), SENDCODE NUMBER(10,0), BUSICODE VARCHAR2(15), BUSIPRICE NUMBER(8,0),
收费方 参见sms_busicode的billside 收费类型 参见sms_busicode的billkind 发送控制码 业务代码 对应sms_busicode的busicode 价格 对应sms_busicode的price
SENDCOST NUMBER(8,0),
SENDBUSI VARCHAR2(15), SENDPARM VARCHAR2(50), FORMAT NUMBER(3,0), CONTENT VARCHAR2(320), SERVICE VARCHAR2(15), STORETIME DATE, LASTUPDATE DATE,
OPERATOR VARCHAR2(15),
成本 对应 sms_busicode的cost 发送业务代码 对应sms_sendbusi的sendbusi
发送参数 对应sms_sendbusi的sendparm 格式 0:ANSI;1:双字节码;2二进制码 发送内容 服务名称
对应sms_service的provider
运营商名称 对应sms_operator的provider 入库时间 最后修改时间
CONSTRAINT PK_SUBMIT_SERIALNO PRIMARY KEY (SERIALNO) );
5.2.8. 上行计费表
CREATE TABLE SMS_DELIVER (
SERIALNO VARCHAR2(20) NOT NULL, 序列号,系统生成
SMSSERIAL VARCHAR(20), ReturnValue NUMBER(3), ReturnMessage VARCHAR(150), OPERATOR VARCHAR2(15),
短信编号,运营商生成
当前状态代码 错误消息
当前状态提示
SERVICE VARCHAR2(15), 服务名称对应sms_service的provider USRMSISDN VARCHAR2(15) NOT NULL, 用户手机号码 SERVICENO VARCHAR2(15), SENDCODE NUMBER(10,0), FORMAT NUMBER(3,0), CONTENT VARCHAR2(320), RECVTIME DATE, STORETIME DATE, LASTUPDATE DATE,
服务号
发送控制码
格式 0:ANSI;1:双字节码;2二进制码 内容
接受时间 入库时间
最后修改时间
CONSTRAINT PK_DELIVER_SERIALNO PRIMARY KEY (SERIALNO) );
5.2.9. 发送失败表
CREATE TABLE sms_recycle (
SerialNo NUMBER(10) NOT NULL CONSTRAINT PK_RECYCLE_SERIALNO PRIMARY KEY,
序列号,系统自动生成 ReturnValue NUMBER(3), 状态代码 ReturnMessage VARCHAR(150), 状态提示
RecycleMessage VARCHAR(2048), StoreTime DATE
原始消息,XML 格式 入库时间
);
CREATE SEQUENCE SQ_RECYCLE_SERIALNO; CREATE TRIGGER TG_RECYCLE_SERIALNO BEFORE INSERT ON SMS_RECYCLE FOR EACH ROW
BEGIN
SELECT SQ_RECYCLE_SERIALNO.NEXTVAL INTO :NEW.SerialNo from dual; END;
5.2.10. 定制栏目表
CREATE TABLE sms_category (
serialno NUMBER(10) NOT NULL CONSTRAINT pk_category_serialno PRIMARY KEY, 序列号 catename VARCHAR(30) NOT NULL CONSTRAINT uq_category_catename UNIQUE, 栏目名称
provider VARCHAR(15) NOT NULL, 服务名称 参见sms_service的provider catekind NUMBER(3) NOT NULL, 栏目类型,暂时未用 sendcode NUMBER(10) NOT NULL, 发送控制码
busicode VARCHAR(15) NOT NULL, 发送业务代码 参见sms_busicode的busicode formation NUMBER(3) NOT NULL, 信息格式,参见sms_submit的format content VARCHAR(320) NOT NULL, 发送内容 catedesc VARCHAR(150), 栏目描述
);
CREATE SEQUENCE SQ_CATEGORY_SERIALNO; CREATE TRIGGER TG_CATEGORY_SERIALNO
BEFORE INSERT ON SMS_CATEGORY FOR EACH ROW
BEGIN
SELECT SQ_CATEGORY_SERIALNO.NEXTVAL INTO :NEW.SerialNo from dual; END;
5.2.11. 栏目消息表
CREATE TABLE sms_catemess (
serialno NUMBER(10) NOT NULL CONSTRAINT pk_catemess_serialno PRIMARY KEY, 序列号,系统自动生成
cateserial NUMBER(10) NOT NULL CONSTRAINT fk_catemess_cateserial REFERENCES sms_category (serialno), 栏目序列号,关联sms_category 的serialno serviceno VARCHAR(15) NOT NULL, 服务号 busicode VARCHAR(15) NOT NULL, 业务代码,参见sms_busicode的busicode
sendcode NUMBER(10) NOT NULL, content VARCHAR(320) NOT NULL, sendtime DATE NOT NULL, progress NUMBER(2) NOT NULL
发送控制码 参见sms_submit的sendcode 短信内容 发送时间, 发送进度 0:未发送;1:已经发送
);
CREATE SEQUENCE SQ_CATEMESS_SERIALNO; CREATE TRIGGER TG_CATEMESS_SERIALNO
BEFORE INSERT ON SMS_CATEMESS
FOR EACH ROW
SELECT SQ_CATEMESS_SERIALNO.NEXTVAL INTO :NEW.SerialNo from dual; END; BEGIN
5.2.12. 栏目用户表
CREATE TABLE sms_cateuser (
serialno NUMBER(10) NOT NULL CONSTRAINT pk_cateuser_serialno PRIMARY KEY, 序列号,自动生成
cateserial NUMBER(10) NOT NULL
CONSTRAINT fk_cateuser_cateserial REFERENCES sms_category (serialno),
栏目序列号,和sms_category的serialno 关联 usrmsisdn VARCHAR(15) NOT NULL, 用户号码 billside NUMBER(3), 收费方 billkind NUMBER(3), 收费类型
chgmsisdn VARCHAR(15), catestate NUMBER(3) NOT NULL,
第三方号码 用户状态 0:无效;1:有效
registime DATE, 定制日期
unregtime DATE, 退订日期
CONSTRAINT uq_cateuser_usrmsisdn UNIQUE (cateserial, usrmsisdn) );
CREATE SEQUENCE SQ_CATEUSER_SERIALNO;
CREATE TRIGGER TG_CATEUSER_SERIALNO BEFORE INSERT ON SMS_CATEUSER FOR EACH ROW BEGIN
SELECT SQ_CATEUSER_SERIALNO.NEXTVAL INTO :NEW.SerialNo from dual; END;
5.2.13. 特殊号码表
CREATE TABLE SMS_SPECIALNO (
msisdn VARCHAR(15), kind NUMBER(3),
用户号码 号码类型
0:免费号码;1:黑名单
CONSTRAINT PK_SPECIALNO_MSISDN PRIMARY KEY (MSISDN,KIND)
5.2.14. 用户信息表
create table BSS_CUSTOMER
(
CUSTOMERID NUMBER(10) not null, 客户ID PHONENO V ARCHAR2(20), TRADEMARK NUMBER(10), STA TUS NUMBER(10), PARAM0 V ARCHAR2(30), PARAM1 V ARCHAR2(30), PARAM2 V ARCHAR2(30), PARAM3 V ARCHAR2(30) )
电话号码 号码品牌 状态 参数1 参书2 参数3 参数4
5.2.15. 优惠表
CREA TE TABLE bss_largess ( LARGESSID NUMBER(10) not null, 优惠ID NAME V ARCHAR2(30), 优惠名称 PRODUCTID NUMBER(10), 商品ID QUANTITY NUMBER(8,2), V ALIDSTART DATE, V ALIDEND DA TE, CONTROL NUMBER(10), DISCOUNT NUMBER(10), SALESHINT NUMBER(10), DISCV ALUE NUMBER(8,2), CERTKIND NUMBER(10), MOTIONID NUMBER(10),
邦定数量(商品数量) 优惠开始有效
优惠结束时间
优惠控制参数(消费控制) 优惠折扣方式
优惠附加码(消费限制) 折扣值 凭证类型 活动ID
HINT V ARCHAR2(255), 注释
CTRLV ALUE NUMBER(10) default 1, 控制值(优惠天数) SHOPINGMSG VARCHAR2(255),
消费提示
凭证邦定数量(凭证数量) 默认下发凭证提示
CERTNOQTY NUMBER(10) default 0, CERTNOMSG V ARCHAR2(255) )
5.2.16. 商家信息表
CREA TE TABLE bss_salesshop
(
SHOPID NUMBER(10) not null, NAME V ARCHAR2(100), ADDRESS V ARCHAR2(255), HINT V ARCHAR2(255),
商家ID 商家名称 商家地址 商家注释 商家代码 商家密码
SHOPCODE VARCHAR2(30), PASSWORD VARCHAR2(30) )
5.2.17. 电子凭证表
CREA TE TABLE bss_ecertificate
(
CUSTOMERID NUMBER(10), 客户ID
LARGESSID NUMBER(10), 优惠ID
CERTNO V ARCHAR2(20), 电子凭证号码
ENABLED NUMBER(10), 电子凭证是否有效 LASTUPDA TE DA TE, 电子凭证产生时间 EXPIREDAYS INTEGER default 1, 电子凭证过期天数 QUANTITY NUMBER(10) default 0 )
数量
5.2.18. 用户优惠表
CREA TE TABLE bss_customlargess (
CUSTOMERID NUMBER(10) default 0, GETCERTKIND NUMBER(10) default 0, GETCERTID NUMBER(10) default 0, MOTIONID NUMBER(10) default 0, LARGESSID NUMBER(10) default 0, TOTALQTY NUMBER(10) default 0, TOTALSHP NUMBER(10) default 0, YEARMONTH NUMBER(10) default 0, MONTHSHP NUMBER(10) default 0,
客户ID
获得资格类型 获得资格ID 活动ID 优惠ID 帐户数量 总计消费量
最后消费月份
最后一个月的消费数量
V ALIDSTART DA TE, 开始有效时间 EXPIREDAYS V ARCHAR2(10) default 1 过期天数 )
5.2.19. 交易表
CREA TE TABLE bss_shopinglog ( SHOPINGID NUMBER(10), CUSTOMERID NUMBER(10),
流水号 客户ID
LARGESSID NUMBER(10), 优惠ID CERTKIND NUMBER(10), 凭证类型 CERTNO V ARCHAR2(30), 凭证号码
SALESHINT V ARCHAR2(30), 消费提示
QUANTITY NUMBER(10),
消费数量 RETAIL NUMBER(8,2), 零售单价 WHOLESALE NUMBER(8,2), 购销单价 STORETIME DA TE, 入库时间 TRANSSERIAL VARCHAR2(30), 终端流水号 TERMINALID NUMBER(10), 终端ID SHOPMANID NUMBER(10), 店员编号 SALESSHOPID NUMBER(10),
商家ID
MOTIONID NUMBER(10), 活动ID
RELA TIONID INTEGER default 0 撤单相关流水号 )
5.2.20. 活动表
c reate table BSS_PROMOTION
(
MOTIONID NUMBER(10) not null, 活动编号 NAME V ARCHAR2(100),
活动名称 HINT V ARCHAR2(255), 活动注释
V ALIDSTART DATE, 活动起始时间 V ALIDEND DA TE
活动结束时间
)
5.2.21. 话费卡批次表
create table BSS_CHARGEBULK
(
BULKNOID NUMBER(10) not null, 话费卡批量倒入批号 NAME V ARCHAR2(30), 话费卡批量倒入名称 CARDV ALUE NUMBER(8,2), 话费卡面值 CARDCOST NUMBER(8,2), 实际冲入值 STARTNO NUMBER(10), 起始编号 QUANTITY NUMBER(10), 值卡数量 V ALIDSTART DATE,
开始有效日期 V ALIDEND DA TE,
结束日期 MOTIONID NUMBER(10), 活动编号 HINT V ARCHAR2(255)
注释
)
5.2.22. 话费卡表
create table BSS_CHARGECARD (
CHARGECARDNO NUMBER(10) not null, 话费卡号码 BULKNOID NUMBER(10), 批次号码 PASSWORD V ARCHAR2(15), 密码 CUSTOMERID NUMBER(10), 客户号 OPERA TORID NUMBER(10), 操作员ID SHOPMANID NUMBER(10), 店员ID SHOPID NUMBER(10), 商家ID MOTIONID NUMBER(10)
活动编号
)
5.2.23. 话费卡优惠关系表
create table BSS_CHARGELARGESS (
BULKNOID NUMBER(10) not null, 话费值卡批次号码 LARGESSID NUMBER(10) not null 优惠编号
)
5.2.24. 撤销受理表
create table BSS_DEDUCELOG (
SUMMARYID VARCHAR2(30), 总帐编号 DETAILID INTEGER, 流水编号 QUANTITY INTEGER
数量
)
5.2.25. 抽奖互斥表
create table BSS_DRAWSEXCLUDE
(
SMSDRA WSID NUMBER(10) not null, 抽奖编号 EXCLUDEID NUMBER(10) not null 互斥编号 )
5.2.26. 抽奖优惠表
create table BSS_DRAWSLARGESS (
SMSDRA WSID NUMBER(10) not null, 抽奖编号 LARGESSID NUMBER(10) not null 礼品编号 )
5.2.27. 电子凭证表
create table BSS_ECERTIFICATE (
CUSTOMERID NUMBER(10), 客户ID LARGESSID NUMBER(10), 礼品ID CERTNO V ARCHAR2(20), 电子凭证号 ENABLED NUMBER(10), 是否有效
LASTUPDA TE DATE,
最后修改时间
EXPIREDAYS INTEGER default 1, 过期时间
QUANTITY NUMBER(10) default 0 数量邦定 )
5.2.28. 方案互斥表
create table BSS_EXCLUDE ( EXCLUDEID NUMBER(10) not null, 当前活动编号 EXMOTION NUMBER(10), 扩展活动编号 MOTIONID NUMBER(10), 合同编号 HINT V ARCHAR2(255)
说明
)
5.2.29. 标志名称表
create table BSS_FLAGNAME (
KIND NUMBER(10) not null, 表志分类 FLAG NUMBER(10) not null, 标志ID NAME VARCHAR2(255) 标志名称
)
5.2.30. 操作日至表
create table BSS_OPERATLOG (
OPERA TTIME DATE,
操作时间
OPERA TKIND NUMBER(10), 操作类型 OPERA TORID NUMBER(10), 操作员ID OPERA THINT VARCHAR2(255) 说明
)
5.2.31. 操作员表
create table BSS_OPERATOR
(
OPERA TORID NUMBER(10) not null, 操作员ID WORKNO V ARCHAR2(30), 工号 PASSWORD V ARCHAR2(15), 密码 NAME V ARCHAR2(30), 名称 DEPARTMENT VARCHAR2(100),
部门 STA TUS NUMBER(10), 状态 ROLEID NUMBER(10), 角色 HINT V ARCHAR2(255)
说明
)
5.2.32. 操作权限表
create table BSS_PERMISSION (
PERMID NUMBER(10) not null, 权限ID NAME V ARCHAR2(100), 权限名称 KIND NUMBER(10), 类型 MODULE VARCHAR2(100), 模块 HINT V ARCHAR2(255)
说明
)
5.2.33. 商品商家关系表
create table BSS_PRDCTSHOP
(
PRODUCTID INTEGER not null, 商品ID SHOPID INTEGER not null 商家ID )
5.2.34. 积分信息表
create table BSS_PREPAID (
PREPAIDID NUMBER(10), 积分信息ID NAME V ARCHAR2(30), 名称
LARGESSID NUMBER(10), 优惠ID SERVICENO V ARCHAR2(30), 服务好 SCCSBUSICD V ARCHAR2(10), 成功的业务代码
LOSTBUSICD V ARCHAR2(10), 失败业务代码
INVDQLFMSG V ARCHAR2(255), 没有资额消息
SUCCESSMSG V ARCHAR2(255), 成功消息
BALANCEMSG V ARCHAR2(255), 余额消息
MOTIONID NUMBER(10), 活动ID
HINT V ARCHAR2(255), 说明
V ALIDSTART DA TE, 起始时间
V ALIDEND DA TE 终止时间
)
5.2.35. 商品信息表
create table BSS_PRODUCT
(
PRODUCTID NUMBER(10) not null, 商品ID
NAME V ARCHAR2(100), 名称
KIND NUMBER(10), 类型
CODING V ARCHAR2(20), 商品代码
UNITNAME V ARCHAR2(10), 单位
RETAIL NUMBER(8,2), 零售价
WHOLE NUMBER(8,2), 购销价
MOTIONID NUMBER(10), 活动号
HINT V ARCHAR2(255) 说明
)
5.2.36. 资格客户表
create table BSS_QLFCUSTOM
(
QUALIFIEDID NUMBER(10), 资格ID
CUSTOMERID NUMBER(10), 客户ID
IMPORTID NUMBER(10) default 0 倒入ID
)
5.2.37. 资格倒入表
create table BSS_QLFIMPORT
(
IMPORTID INTEGER, 倒入ID
NAME V ARCHAR2(150), 名称
FILEPA TH V ARCHAR2(255), 文件路径
OPERA TORID INTEGER, 操作元ID
STOREDA TE DA TE, 生成日期
QUALIFIEDID INTEGER, 资格号码
HINT V ARCHAR2(255), 说明
PROGRESS NUMBER(10), 倒入进度
MESSAGE V ARCHAR2(255) 失败消息
)
5.2.38. 资格信息表
create table BSS_QUALIFIED
(
QUALIFIEDID NUMBER(10) not null, 资格ID
NAME V ARCHAR2(30), 资格名称
KIND NUMBER(10), 类型
ISGLOBAL NUMBER(10), 全球通?
ISACTIVE NUMBER(10), 动感地带?
ISNA TIONAL NUMBER(10), 神州行?
ISPEOPLE NUMBER(10), 神州大众卡
ISGPRS NUMBER(10), 随e 行
FILEPA TH V ARCHAR2(255), 文件路径
MOTIONID NUMBER(10), 活动编号
HINT V ARCHAR2(255), 说明
DETAIL V ARCHAR2(255) 详细
)
5.2.39. 角色表
create table BSS_ROLE
(
ROLEID NUMBER(10) not null, 角色编号
NAME V ARCHAR2(100) not null, 名称
HINT V ARCHAR2(255) 说明
)
5.2.40. 角色表优惠表
create table BSS_ROLELARGESS
(
ROLEID NUMBER(10), 角色ID
LARGESSID NUMBER(10) 优惠ID
)
5.2.41. 角色表权限表
create table BSS_ROLEPERM
(
ROLEID NUMBER(10) not null, 角色ID
PERMID NUMBER(10) not null 权限ID
)
5.2.42. 商家信息表
create table BSS_SALESSHOP
(
SHOPID NUMBER(10) not null,商家ID
NAME V ARCHAR2(100),商家名称
ADDRESS V ARCHAR2(255), 地址
HINT V ARCHAR2(255), 说明
SHOPCODE VARCHAR2(30), 商家代码
PASSWORD VARCHAR2(30) 商家密码
)
5.2.43. 积分倒入表
create table BSS_SCOREIMPORT
(
IMPORTID INTEGER,
NAME V ARCHAR2(150),
FILEPA TH V ARCHAR2(255),
OPERA TORID INTEGER,
STOREDA TE DA TE,
LARGESSID INTEGER,
HINT V ARCHAR2(255),
PROGRESS NUMBER(10),
MESSAGE V ARCHAR2(255)
)
5.2.44. 品牌号段表
create table BSS_SEGMENT
(
SEGMENTID NUMBER(10),
STARTNO V ARCHAR2(11) not null,
ENDNO V ARCHAR2(11) not null,
TRADEMARK NUMBER(10)
)
5.2.45. 消费日志表
create table BSS_SHOPINGLOG
(
SHOPINGID NUMBER(10),
CUSTOMERID NUMBER(10),
LARGESSID NUMBER(10),
CERTKIND NUMBER(10),
CERTNO V ARCHAR2(30),
SALESHINT V ARCHAR2(30),
QUANTITY NUMBER(10),
RETAIL NUMBER(8,2),
WHOLESALE NUMBER(8,2),
STORETIME DA TE,
TRANSSERIAL VARCHAR2(30),
TERMINALID NUMBER(10),
SHOPMANID NUMBER(10),
SALESSHOPID NUMBER(10),
MOTIONID NUMBER(10),
RELA TIONID INTEGER default 0
)
5.2.46. 商家店员表
create table BSS_SHOPMAN
(
SHOPMANID NUMBER(10) not null,
WORKNO V ARCHAR2(30),
PASSWORD V ARCHAR2(30),
NAME V ARCHAR2(30),
PHONENO V ARCHAR2(30),
STA TUS NUMBER(10),
SHOPID NUMBER(10),
HINT V ARCHAR2(255)
)
5.2.47. 短信抽奖表
create table BSS_SMSDRAWS
(
SMSDRA WSID NUMBER(10) not null,
NAME V ARCHAR2(30),(抽奖名称)
QUALIFIEDID NUMBER(10),(资格ID )
DRA WSMETHOD NUMBER(10),(筛选方法)
DRA WSPARAMS VARCHAR2(100),(筛选参数)
STARTTIME DA TE,
ENDTIME DA TE,
DRA WDAILY NUMBER(10),(每天参加)
DRA WSOVER NUMBER(10),(总共参加)
DAILYOVER NUMBER(10),(每天中奖)
TOTALOVER NUMBER(10),(总共中奖)
SERVICENO V ARCHAR2(10),(服务号码)
LOSTBUSICD V ARCHAR2(15),(失败收费)
SCCSBUSICD V ARCHAR2(15),(成功收费)
INVDEXCMSG V ARCHAR2(255),(互斥错误)
INVDQLFMSG V ARCHAR2(255),(没有资格)
DRWSOVRMSG V ARCHAR2(255),(每人限制)
DRWSDLYMSG V ARCHAR2(255),(每人每天)
TTLSOVRMSG V ARCHAR2(255),(总共限制)
DLYSOVRMSG V ARCHAR2(255),(每天限制)
LOSTDRWMSG V ARCHAR2(255),(未能中奖)
SUCCESSMSG V ARCHAR2(255),(抽奖成功)
MOTIONID NUMBER(10),
HINT V ARCHAR2(255),(说明)
LASTDA TE NUMBER(10),
DAILYWINER NUMBER(10) default 0,
TOTALWINER NUMBER(10) default 0,
DRA WSINTVL NUMBER(10) default 1(抽奖间隔)
)
5.2.48. 商家终端表
create table BSS_TERMINAL
(
TERMID NUMBER(10) not null, 终端ID
NAME V ARCHAR2(50), 终端名称
PHONENO VARCHAR2(30), 终端号码
KIND NUMBER(10), 终端类型
STA TUS NUMBER(10), 终端状态表
SHOPID NUMBER(10), 商家ID
HINT V ARCHAR2(255) 说明
)
6. 安全设计
6.1. 网络安全设计
因为系统的网络设计及安装实施不是由我公司完成,所以在此设计文档中未能提供。
6.2. 应用软件的安全设计
6.2.1. 用户识别
用户在前台界面必须键入其用户名以及口令来证明其是否是合法的用户,只有合法的用户才能登录到应用系统。
6.2.2. 权限控制
系统有很多的功能模块组成,即使对合法用户,也不能操作所有的模块,而是根据用户的角色授予相应的功能模块访问权限;
对同样的数据可以设置不同的操作权限:查询权限、内容维护权限、计费对帐权限。
6.2.3. 数据维护
对数据进行严格的合理性校验,提高原始数据的可靠性;
通过数据库本身的机制以及程序中的控制来保证数据的完整性和一致性;
6.2.4. 数据备份和恢复
系统提供了完备的数据备份和恢复策略,以保证在主机或数据库发生故障时,数据损失的最少。
定期对数据进行数据备份,以保证数据的安全。
在数据库发生崩溃的时候可以进行数据恢复。
6.2.5. 日志管理
系统日志管理,操作日志管理等。
日志管理跟踪记录用户登录系统的信息,操作的业务模块以及操作的重要库表的信息,包括用户名称、操作的模块,对重要库表的操作类型(增、删、改)、字段操作前和操作后的数值等,
通过日志管理,在发生误操作时可以方便的进行回退处理,而且也可以跟踪一些业务操作员的违规操作。
如, 我们在操作员的每一步操作都做了日志记载。日志内容包括:哪天、哪个操作员、对哪个模块进行了什么操作。以及对一些重要的表的操作前、操作后字段变化的记录,同时有日志查询功能,可以按用户要求对日志进行查询。
6.2.6. 系统管理员管理
系统管理为系统管理员提供管理功能,对整个系统的数据等进行维护操作,主要操作包括:添加,删除,修改和检索。
对于系统管理员的身份验证是采用登录名和口令确认的方法。系统管理员可以管理的数据包括:用户的信息,用户的访问纪录,用户的权限信息,用户的身份验证信息等。在系统中,只有系统管理员可以维护系统中的所有用户数据。