JSP电信通讯计费系统设计(含英文文献翻译)
图3.1 管理员对各小组菜单的管理
图3.2 营业员操作流程
二、业务受理模块
该模块承担着为用户受理各种基本业务,文护客户基本资料和业务资料的功能。用户到前台来办理业务,应该提供给他们的业务有:对于新用户,他们可以办理新装机,选所需要的程控业务(如彩铃,来电秀等),对于老用户,他们可以更改原有的程控业务,还可以办理移机、停机保号、拆机、复机等,大致设计流程如下:
图3.3 新客户业务简单流程
图3.4老客户受理业务简单流程
三、计费出账模块
1、计费算法简述
计费方法的主要参数为通话开始时间,通话结束时间,被叫号码(或号码头),而数据库中有对应的计费方法表和计费细则表(可参考后面的数据库设计部分),两者配合使用可以确定通话记录的费用:计费方法表方法接收到参数后,可以判断其通话开始时间的范围,落在某个时段区内,就采用那个对应的计费方法,然后将其时间分为方法细则规定的各个序号段内时长(类似平时打电话的前几分钟多少钱,后几分钟多少钱),根据每个序号段内的阶段时长、该阶段计费单位和话费累加各个阶段时间内话费,判断每次单位累加过后是否超过当前计费时段,若超过,则循环递归寻找新匹配的计费方法,否则继续累加,直到累加时间刚好超过通话总时长,return,即可获得该次通话的总费用。将总费用作为输出。
2、逻辑步骤
① 从交换机采集出来的数据有:主叫号码、被叫号码、通话开始时间、通话结束时间。
② 得到这些数据后,可以在数据库设计的时候设计如下表:
表3.1 用户通话详单表
字段标识 字段名称
call_id 话单标识
calling_no 主叫号码
called_no 被叫号码
call_length 通话时长
start-time 通话结束时间
end-time 通话开始时间
该表写入oracle数据库,供用户随时查看通话详情:
③ 从数据库里取到用户通话详单表里所有的数据,封装到 JavaBean对象中,然后循环依次加入ArrayList容器中,循环ArrayList,对每一个用户的每一条通话记录运用计费算法(所编写的计费类中计费方法),计算出每一条通话记录所产生的费用。
④ 统计单个相同费用小类型的通话记录的费用,将结果放入用户费用清单表里的相应的用户费用金额字段里。为月出账做好准备。
⑤ 统计所有小类型费用的金额,然后根据用户类型(个人电话,办公电话)收取月租费,根据用户所办理的程控业务收取相应的程控费用,将这三种费用相加,获得该用户当月总开销,用上月余额减去当月总开销,即可获得最新余额,写进余额表余额字段,然后判断该用户是否余额是否大于0,若小于等于0,则按照该用户欠费金额、欠费时间和相应利息(3‰)开始计算相应的滞纳金。
⑥ 利用java.util.TimerTask中的TimerTask类,定时执行该程序,定期(每月1号)从数据库获取上月份记录,执行批价出账程序,结算用户通讯费用。
四、用户缴费模块
电话用户在某个时间来前台缴费,该模块就是能够实现其缴费功能,首先,应该计算出截止用户交费日,该用户所欠的总费用,也就是用户需缴纳的金额,并且还应该算出该用户各种欠费帐期的详细欠费,如市话,长途,还有产生的滞纳金。若用户不欠费,则其缴纳的任意金额作为预存,放入余额表。缴费成功后,应该更改相应的状态,如将欠费金额清零,将“停机”改为“正常”等。
同时,该模块还需要设计查询功能,根据用户名或电话号码,查询任何用户的话单记录费用详情和费用大类统计情况,并且可以在该模块打印(补打)缴费发票。
图3.5 个人用户缴费流程
五、数据文护模块
该模块功能在于文护总个系统相关的静态数据,可以对数据库表中变动频率较大的表的数据,分别抽取出来,编写增删改查相关代码和JSP交互页面,让系统文护人员可以在前台页面对其进行操作,该模块目的在于方便查询,当重要数据,资费、规则等有变,相应的数据变动起来更快捷易行。
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] 下一页
JSP电信电话计费系统设计(含英文文献翻译) 第12页下载如图片无法显示或论文不完整,请联系qq752018766