简易移动用户资费统计系统 数据库设计方案

 

本方案的功能为实现一个简易移动用户资费统计系统的数据库基础表构架,原始需求附在后面

 

一个好的系统设计应该做到逻辑清晰,扩展性强。

 

说下我的数据表设计:

1.套餐字典表 zd_tc

字段      类型                  名称  

ID        int                套餐ID

mc        varchar(10)        套餐名称:0、无套餐、

                                      1、普通用户优惠套餐;

                                      2VIP用户优惠套餐;

 

                                      999、新入网新入网可看做特殊套餐)

 

2.客户信息表 customer_info

字段        类型                   名称 

ID         int            客户ID

vip        char(1)        VIP标志(1、普通用户;2VIP用户)

tcid       int            当月套餐(对应套餐字典ID

tcid_next  int            下月套餐

rwrq       datetime                网日期 

3.资费字典表 zd_fee

ID           int            VIP标志

tcid         int            套餐ID(对应套餐字典表ID

lx           char(1)        收费类型(1:通话;2:短信;3:数据)

free_number  int            免费长度(如新入网用户的免费时长、

                                      VIP套餐用户的免费时长;               

                                      若无免费时长,则为0

dj           numeric(7,2)   标准资费(优惠套餐或新入网为超出免费时长时资费

                                     其他为标准资费)

dw           varchar(10)    标准资费单位

 

4.资费记录表:客户ID

begin_time       datetime                起始时间

end_time         datetime                终止时间

free_number      int              免费时长

jzje             numeric(10,2)    优惠后金额

 

发生资费时:首先判断是否新入网用户,同时根据其VIP标志、当月套餐 ,从资费字典表中查找这次资费记录的优惠力度,写入资费记录表。若该次记录有部分超出免费时长,则总金额需分两部分计算。

 

 

其他考虑

    1、当系统业务复杂时,可将资费字典表拆分成通话、短信、数据 三个资费字典表,同时资费记录表也可拆分成通话、短信、数据 三个资费记录表。

    2、资费字典表可扩充各种类型的套餐,以适应实际业务需要。

 

 

 

附:原始需求

模拟实现简易的移动用户资费统计系统逻辑,具体需求如下:

移动运营商A设置两种类型的用户:普通用户及VIP用户,现该运营商已有5个VIP用户和15个普通用户,共计20个用户。
普通用户资费标准如下(不考虑漫游和长途):
【基准资费】

  无月租费用。

通话费:0.6元/ 分钟(仅拨打收费,接听免费)

短信费:0.1元/ 条

数据费:5元/ M

          【优惠套餐】

            话费套餐:月功能费20元,最多可拨打60分钟电话,超出时间按照0.5元/分钟计费。

            短信套餐:月功能费10元,最多可发送200条短信,超出条数按照0.1元/条计费。

            数据套餐:月功能费20元,最多可获50M的流量,超出流量按照3元/M 计费。

注:用户可以选择多种套餐,各功能(通话、短信、数据)计费时,如已选择对应套餐,则按套餐标准计费;如未选择对应套餐,则按对应的基准资费计费。

VIP用户资费标准如下(不考虑漫游和长途):
【基准资费】

  月租费用:按天收取,2元/ 天

通话费:0.4元/ 分钟(仅拨打收费,接听免费)

短信费:0.1元/ 条

数据费:3元/ M

          【优惠套餐】

          套餐1 :月基本费用100元(无月租费用),提供如下服务:

                   ①最多可拨打750分钟电话,超出部分按照0.3元/ 分钟计费。

                   ②最多可发送200条短信,超出条数按照0.1元/ 条计费。

                   ③最多可获得100M数据流量,超出流量按照1元/ M计费。

            套餐2 :月基本费用200元(无月租费用),提供如下服务:

                   ①最多可拨打2000分钟电话,超出部分按照0.2元/ 分钟计费。

                   ②最多可发送500条短信,超出条数按照0.1元/ 条计费。

                   ③最多可获得300M数据流量,超出流量按照0.5元/ M计费。

注:用户最多只能选择一种套餐,如未选择任何套餐,则按照基准资费计费。

各类型用户只能选择提供给本类型用户的套餐。
新用户入网。
            ①对于新入网的普通用户,入网当月赠送如下服务:免费拨打60分钟

                电话,免费发送200条短信,免费获得50M流量。超出赠送的部分

                按照普通用户基准资费进行计费。

            ②对于新入网的VIP用户,入网当月赠送如下服务:免费拨打200分

                钟电话,免费发送200条短信,免费获得100M数据流量。超出赠送

                的部分按照VIP用户基准资费进行计费(注意:需按入网天数计算月

                租费用)。

每月为用户计算一次账单,用户订制的套餐信息和账单信息采用文件方式进行存储(提示:可使用java中的Properties API进行文件操作)。
用户可自由订制或退订所属用户类型的套餐,并从下月起生效。
异步随机生成客户操作如下:
①拨打电话,每次拨打时长为1至10分钟不等(随机决定,以分钟为单位)。

②发送短信,每次发送条数为1至10条不等(随机决定)。

③上网获取数据,每次获取数据流量可为50K,100K,200K,500K,1M(随机决定)。

④订制或退订相应套餐。

⑤新用户入网(随机决定用户类型)。

注:随机生成客户操作时间间隔自定,可设置。

不要求实现GUI,只考虑系统逻辑实现,可通过Log方式展现程序运行结果。

本文原始需求出处:http://blog.csdn.net/zhangxiaoxiang/archive/2011/04/06/6304117.aspx#1642657

 

 

 

 

字段                类型              名称 

字段          类型                 名称 

简易移动用户资费统计系统数据库设计方案

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值