Telenor系统(账单管理子系统产品详细设计说明书---调账.doc
-
资源ID:91609359
资源大小:2.91MB
全文页数:62页
- 资源格式: DOC
下载积分:12金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
Telenor系统(账单管理子系统产品详细设计说明书---调账.doc
Telenor系统(账单管理子系统)功能设计说明书编 写胡波编写 时间2015-12-22审 批审批 时间版本V0.16亚信科技(中国)有限公司版权所有文档中的全部内容属亚信科技(中国)有限公司所有,未经允许,不可全部或部分发表、复制、使用于任何目的。功能设计说明书模板文档修订摘要日期版本号修订章节描述作者评审者评审日期2014-01-17V0.1初稿林荣福2014-02-13V0.2评审后修改林荣福2014-03-20V0.3修改文档格式林荣福2014-4-28V0.6添加调账规则和批量调账调账原因林荣福2014-09-05V0.8按照产品调账林荣福2014-09-24V0.9多账期调账林荣福2014-10-15V1.1添加crm审批林荣福2015-06-01V1.2增加调账原因科目胡波2015-08-11V1.3Invoice级调账胡波2015-08-12V1.4Add line调账胡波2015-09-06V1.5用户级调账胡波2015-12-22V1.6反悔期调账胡波目录1引言11.1文档用途11.2阅读对象11.3名词术语11.4参考资料12概述32.1调账子系统概述32.2调账子系统功能定义32.3设计约束32.4复用内容43总体结构说明53.1系统结构53.1.1系统内外部关系图53.1.2功能模块简要说明53.1.3依赖的外部接口53.1.4对外提供的接口133.2模块程序构建结构图144子系统功能设计154.1账单调整子系统功能设计154.1.1数据模型设计154.1.2功能实现说明224.1.3界面实现说明344.2Credit Note424.2.1数据模型设计424.2.2功能实现说明504.2.3界面实现说明525附录535.1错误码列表535.2需求文档功能跟踪矩阵53i1 引言1.1 文档用途本文档的目的是确定Veris Billing账单管理模块的功能范围,明确账单管理功能的设计方案,指导开发人员完成开发设计工作,并帮助测试人员编写测试案例。1.2 阅读对象l 产品设计工程师l 产品开发工程师l 产品测试工程师l 其他相关人员1.3 名词术语缩写、术语解 释正向调账正向调账也叫向上调账,是指因资费或其他特殊原因需增加客户的账单费用,表示客户需向运营商多缴纳一笔费用增加客户的账单费用叫做正调账负向调账负向调账也叫向下调账,常用于发生投诉时减少目标费用额度,表示运营商多收了客户费用,需退还给客户减少客户的账单费用叫做负调账Credit Note当客户收到错误的帐单之后,基于法律要求,需要再给客户邮寄一份说明,告知其错误原因,正确帐单邮寄时间等信息。当账单因负向调整账单的时候还需要寄送Credit Note给客户当客户收到错误的帐单之后,基于法律要求,需要再给客户邮寄一份说明,告知其错误原因,正确帐单邮寄时间等信息。当账单上的金额比客户实际使用金额多时需要寄送Credit Note。呆账呆账是指超过缴费期限,经过催讨仍然没有缴清,可能成为坏账的账单。坏账坏账是指无法收回或极小可能收回款项的账单。1 软件功能设计说明书1.4 参考资料1. OpenBilling6.0帐务管理详细设计规格说明书-调账.doc2. Credit Note需求说明书v1.0.doc3. 调账软件需求说明书v1.0.doc4. 呆坏账功能规格说明书v1.2.doc582 概述2.1 调账子系统概述账单是用户消费记录查询的依据,账单用于记录客户使用计费服务产生的各种费用明细,。Billing系统需要能够对客户产生的这些账单进行查询和修改操作。客户能够账单查询来知晓自己的消费记录。如果客户的账单出现问题,需要有改正机制对账单进行修改。2.2 调账子系统功能定义按照功能的不同可以将账单管理系统分为如下几个模块:账单查询。账单调整。调账审批流程。2.3 设计约束调账模块设计的时候有如下的设计约束账单管理模块设计的时候有如下的设计约束:1. 调账往下调整账单的时候调整额度如果大于客户的未缴金额则多余部分要当做Advance Payment 返回给客户(例如:客户账单为100,未缴金额为40,如果往下调整60,则账单往下调整40,剩余的20会当做Advance Payment返回给客户)。2. 往下调整账单的时候必须生成往下调整账单的时候可以指定是否生成Credit Note。3. 调整账单明细的时候账单总金额要一起调整,需要保证账单总金额和账单明细金额加起来的总额相等。只有有调账权限的操作员才可以执行调账操作(如调账200元,只有操作权限大于200的操作员才可以进行调账操作,操作权限小于200元的操作员是无法执行此次调账的,需要提交申请单给高权限的操作员)。4. 呆坏账账单不允许进行调账。无科目调账的时候需要使用默认调帐科目进行调账。2.4 复用内容3 总体结构说明3.1 系统结构3.1.1 系统内外部关系图3.1.2 功能模块简要说明账单查询:将客户的实时账单和历史账单进行查询,使客户可以查询自己的实时消费记录和历史消费记录。调账执行:对某个费用科目,某个账单进行调整,以一定的形式(一次性费用,负账单,账单,账本,外部费用)反馈给用户。调账审批流程:当操作员权限不足时,不足以达到所需的金额限制;发送调账申请给上一级等待审批通过;再调用调账执行。3.1.3 依赖的外部接口3.1.3.1 权限查询接口权限查询接口分为当前操作员权限查询和查询具有调账权限的操作员信息两个接口:查询当前操作员权限:名称do_queryOperEntity接口路径:com.ailk.openbilling.service.imsinner.IImsReverseService. do_queryOperEntity ()原型public Do_queryOperEntityResponse do_queryOperEntity(SOperInfo SOper, SQueryOperEntityReq SQueryOperEntityReq)功能查询当前操作员权限信息参数字段类型字段名称说明SOperInfoSOper工单入参SQueryOperEntityReqSQueryOperEntityReq权限查询参数返回值字段类型说明Do_queryOperEntityResponse返回值结构体备注该接口可以根据当前操作员的ID查询出操作员所具有的调账权限SOperInfo:字段类型字段名说明Stringso_nbr交易流水号Integerbusi_codeAPI业务编码Shortso_mode受理一级区划编码Stringso_date受理二级区划编码Shortcharge_flag受理渠道类型Shortisnormal受理渠道Stringouter_cust_id外部客户标识Longcust_id客户标识Stringouter_acct_id外部账号标识Longacct_id账号标识Longuser_id用户idStringphone_id电话号码Longop_id操作员idshortprov_code省市编码Shortregion_code地区编码Shortcounty_code国家编码Integerorg_id备用字段Stringrso_nbr备用字段Shortis_monitor备用字段Stringremark备注信息Shortstep_id备用字段Stringsource_system对外围系统的定义Shortnotify_flag告警标志Stringtenant_id租户idSQueryOperEntityReq:字段类型字段名说明StringopId操作员标识StringorgId组织标识StringacceptStaffId受理员工号Do_queryOperEntityResponse:字段类型字段名说明List<String>entityIds操作员的权限信息查询具有调账权限的操作员信息:名称do_queryOperByEntityIds接口路径:com.ailk.openbilling.service.imsinner.IImsReverseService. do_queryOperByEntityIds ()原型public Do_queryOperByEntityIdsResponse do_queryOperByEntityIds(SOperInfo SOper, SQueryOperByEntityIdsReq SQueryOperByEntityIdsReq)功能查询具有调账权限的操作员信息参数字段类型字段名称说明SOperInfoSOper工单入参SQueryOperByEntityIdsReqSQueryOperByEntityIdsReq权限查询参数返回值字段类型说明Do_queryOperByEntityIdsResponse返回值结构体备注该接口可以根据需要的权限信息查询具有该权限的操作员信息SQueryOperByEntityIdsReq:字段类型字段名说明List<String>entityIds需要查询的权限信息StringopId操作员标识StringorgId组织标识StringacceptStaffId受理员工号 Do_queryOperByEntityIdsResponse:字段类型字段名说明List<OpInfo>operInfoList需要查询的权限信息 OpInfo: 字段类型字段名说明StringopId操作员标识StringoperatorId操作员编码StringstaffId序列号StringloginName操作员工号StringcustOpId客服员工编号StringpassWord登录密码StringsecurityLevel密码安全级别StringallowUpdateFlag是否允许修改密码StringeffectDate账号生效时间StringexpireDate账号失效时间StringtryTimes失败登录尝试次数StringlockFlag账号锁定状态StringpWDEffectDate密码生效时间StringchgPWDAlarmDays密码过期提前通知天数StringpWDUpdateAlarm密码修改提醒标示StringisAdmin是否是超级管理员StringorgId操作员组织StringparentOrdId操作员上级组织StringregionCode操作员地市StringdefaultSys操作员状态StringstaffName操作员默认系统StringorgName员工姓名Stringstatus状态StringtenantId租户id3.1.3.2 一次性费用接口名称用户级优惠Sdl文件onetimecharge_def.sdl, onetimecharge.sdl原型int32 otc_calc( in MOnetimechargeDef:SOtcCalc sOtcCalc, out MOnetimechargeDef:SOtcConfirm sOtcConfirm);功能用户级优惠月帐计算上行参数字段类型字段名称说明MOnetimechargeDef:SOtcCalcsOtcCalc下行参数字段类型字段名称说明MOnetimechargeDef:SOtcConfirmsOtcConfirm错误码cErrorMsg:错误信息返回值 SOtcCalc:字段类型字段名说明int64 cust_id 客户编号int64 acct_id 帐户编号int64 pay_acct_id付费账户int64 resource_id设备编号int64 otc_opt_date 一次性费用产生的时间int64 so_nbr 工单号int32 spec_id 业务代码int32 pricing_plan_id定价计划IDint16channel_id渠道IDint16 calc_type算费类型int16 service_type业务类型1:recurring,2:on demand int32accumulate_times累计次数int16 object_type0:设备(相关客户信息全传) 1:账户(只传cust_id,acct_id) int16 deduct_type扣费模式 0:非强制扣费; 1:强制扣费int16 billing_type0:预付费 1:后付费int16 event_type算费事件:=0 正式算费冻结接口(累计量冻结、费用冻结);=1 算费累计接口(计算费用、更新累计量)stringphone_id手机号stringtopup_phone_id充值手机号;充值的号码,即被充入资金的号码SOtcFeeList otc_fee_list算费接口费用列表ExtParaMapext_para扩展参数SOtcConfirm:字段类型字段名说明int64 cust_id 客户编号int64 acct_id 帐户编号int64 pay_acct_id付费账户int64 resource_id设备编号int64 otc_opt_date 一次性费用产生的时间int64 so_nbr 工单号int32 spec_id 业务代码int32 pricing_plan_id定价计划IDint16channel_id渠道IDint16 calc_type算费类型int16 service_type业务类型1:recurring,2:on demand int32accumulate_times累计次数int16 object_type0:设备(相关客户信息全传) 1:账户(只传cust_id,acct_id) int16 deduct_type扣费模式 0:非强制扣费; 1:强制扣费int16 billing_type0:预付费 1:后付费int16 event_type算费事件:=0 正式算费冻结接口(累计量冻结、费用冻结);=1 算费累计接口(计算费用、更新累计量)stringphone_id手机号stringtopup_phone_id充值手机号;充值的号码,即被充入资金的号码int32result_value计算费用各种返回情况:=1 无资费;=2 正常算费成功;=3 预付费业务扣费失败(即余额不足,含分帐帐户帐单)SOtcUserInfootc_user_info一次性费用资料信息SOtcFeeLogList otc_fee_log_list算费接口费用日志列表SOtcTaxFeeList otc_tax_fee_list税费列表SAccumulateLogListaccumulate_log_list累计量日志列表SBillRoundDetailListround_detail_list税费遗失信息ExtParaMapext_para扩展参数MAbmInterfaceBillingDef:SAbmSessionInfoListsession_listsession编号MAbmInterfaceBillingDef:SAbmSessionInfoListreguide_session_list一次性费用扣费中的代付、累计量会话编号MAbmInterfaceBillingDef:SAccumulateListaccumulate_list累计量记录MAbmInterfaceBillingDef:SPayFeeLogListpay_fee_log_list代付日志信息MAbmInterfaceBillingDef:SBudgetInfoListbudget_list预算信息MAbmInterfaceBillingDef:SDeductBalanceListdeduct_balance_list剩余资金MAbmInterface:SDeductBillListbill_list历史欠费MAbmInterface:SPocketDeductLogListpocket_deduct_list帐本冲销日志MAbmInterface:SCreditDeductLogListcredit_deduct_list信用度冲销日志MAbmInterface:SBudgetDeductLogList budget_deduct_list预算冲销日志3.1.3.3 冲销接口名称deduct接口路径:com.ailk.openbilling.topuppayment.business.payment.AbmMgnt.deduct ()原型public int deduct(WriteoffRet writeoffRet, Holder<List<SCredit>> listCredit, Holder<List<SPocketDeductLog>> listPocketDeductLog)功能进行账单的冲销参数字段类型字段名称说明WriteoffRetwriteoffRet冲销参数Holder<List<SCredit>>listCredit信用度信息Holder<List<SPocketDeductLog>>listPocketDeductLog冲销记录返回值字段类型说明int返回值(1冲销成功)备注该接口可以根据需要的权限信息查询具有该权限的操作员信息 WriteoffRet:字段类型字段名说明List<DeductBill>cDeductBillList冲销账单信息CaPocketcAPocket账本信息List<Notification>notificationList告警参数LongacctId账户编号IntegerbillDate账单日期IntegernotificationId 告警编号 SCredit:字段类型字段名说明int64acct_id; 帐户编号int64serv_id; 用户编号int64asset_id; 资产编号int64amount; 信用度值int64freeze_fee; 冻结费用int64deduct_fee; 当前冲销额度int64his_deduct_fee; 历史冲销费用int64real_deduct_fee; 实时冲销费用int64risk_deduct_fee; 欠控冲销费用int64risk_freeze_fee; 欠控冻结费用int64valid_date; 生效期int64expire_date; 失效期int64last_update_time;上次更新时间int32risk_freeze_time;欠控冻结时间int32risk_deduct_time;欠控冲销时间int32item_code; 信用度科目编号int32freeze_time; 冻结时间int32measure_id; 货币编号int64tenant_id; mvno标记int16billing_type; 计费类型(0int16credit_flag;是否为临时信用度,0-否int16hierarche_type;层级标志 SPocketDeductLog:字段类型字段名说明int64acct_id;帐户编号int64serv_id;用户编号(账本)int64bill_object_id;使用对象(账单)int64bill_id;帐单编号int64asset_id;资产编号int64product_id;产品编号(账单)int64woff_fee;本次冲销费用int64woff_tax_fee;本次冲销税费int64bill_begin_date;账单起始时间int32pocket_item_code;账本科目编号int32pocketmeas_id;资金货币编号int32bill_item_code;账单科目代码int64tenant_id;mvno标记int16bill_object_type;使用对象类型(账单)int16bill_billing_type;付费类型(账单)int16confirm_bill_force;/费用强制转移:0 非强制,1 强制floatexchange_rate;汇率创建申请单接口名称DoCreateTicket接口路径:com.ailk.openbilling.service.imsinner.IImsReverseService.DoCreateTicket()原型public DoCreateTicketResponse DoCreateTicket(SOperInfo soperinfo, DoCreateTicketReq docreateticketreq);功能向CRM提交申请单参数字段类型字段名称说明SOperInfosoperinfo工单公共头DoCreateTicketReqdocreateticketreq申请单明细返回值字段类型说明DoCreateTicketResponse返回值备注该接口可以向CRM提交调账申请单DoCreateTicketReq:字段类型字段名说明AdjustIdString调账id 调账的唯一编码 代码由3部分组成:调帐时间(YYYYMMDD)+15位帐户编号(不足前补0)+15位的业务工单号(不足前补0)20140701+000000878253500+ 000000026650833=20140701000000878253500000000026650833OperateWayShort操作方式 1、初次提交,2、修改后提交AdjustAmountDouble调账金额,trouble ticket将根据该参数值路由到不同审批金额权限的工作组。AdjustDescString调账描述 本次调账信息的文本化的描述,trouble ticket直接存储到工单内容中。 Billing测示例: 调帐原因代码:0002;调帐总金额:200.0;调帐备注:费用错误;AdjustDetailUrlString调账详情界面url 在Trouble ticket工单详情界面上,可通过点击调账id后面的按钮,打开billing提供的详细的结构化界面,Billing提供的url会自动拼装一些页面必要参数,通过URL直接传进来。OperatorIdString操作员id。sec.sec_operator.operator_idAcceptStaffIdString操作员idTenantIdString租户DoCreateTicketResponse:字段类型字段名说明ShowSerialNoString工单流水号3.1.4 算税接口 名称taxFeeCalculate接口路径:com.ailk.openbilling.topuppayment.consume.SalInterface.taxFeeCalculate() 原型public STaxOut taxFeeCalculate(STaxIn staxIn)功能算税参数字段类型字段名称说明STaxInstaxIn算税入参返回值字段类型说明STaxOut返回值备注对费用科目进行算税 STaxIn:字段名字段类型说明billListCsdlArrayList<SBillInfo>SBillInfo结构:billId:标识唯一性 sbill:caBill结构字段flag:0正常账单 rcbilldetaillist:caBillItem结构 STaxOut字段名字段类型说明billListCsdlArrayList<SBillInfo>SBillInfo结构:rcbilldetaillist:caBillItem结构(算税后的费用科目)taxbilldetaillist:caBillTax结构(算出来的税)3.1.5 对外提供的接口3.1.5.1 调账对外接口com.ailk.openbilling.topuppayment.service.billAadjust.BillAdjustService.adjustBill(AdjustBillIn adjustIn, CommonParam commonParam);AdjustBillIn:字段类型字段名说明LongacctId账户编号StringadjustType调整方式,有两位,第一位是上调的方式,第二位是下调的方式,0表示调一次性费用1表示调账单,不需要传入shortbillFlag0调整历时账单1调整实时账单,默认0IntegermeasureId货币单位List<AdjustBillDtl>listAdjustDtl调整明细StringadjReason调整原因,调整备注IntegeradjCode调整原因CodeIntegersynAssetFlag是否需要校验db,mdb一致性,默认不校验ShortneedCreditNote0不需要生成Credit Note 1需要生成Credit NoteShortnextBill下账期标志位,当为1的时候则是调到外部费用,只有下调的时候可以传入LongresourceId用户iddoubleamount无账单调账金额BooleancheckPermission是否需要校验权限,默认是true,false的时候不校验AdjustBillDtl:字段类型字段名说明LongbillNo账单编号StringinvoiceNumberInvoice NumberIntegeradjCode调整原因CodeIntegeradjustFee调整金额IntegeritemCode调整科目IntegerbillMonth账单月调账审批反馈接口com.ailk.openbilling.topuppayment.service.billAdjust.BillAdjustService. dealApproveResponse (CommonParam commonParam,ApproveResult approveResult);ApproveResult:字段名字段类型说明adjustIdString调账的唯一编码 代码由3部分组成:调帐时间(YYYYMMDD)+15位帐户编号(不足前补0)+15位的业务工单号(不足前补0)approveResultShort1审批通过进行调账;2、审批不通过并退回修改;3、取消调账单。approveResultDescString审批附加信息operatorIdLong调整科目模块程序构建结构图4 子系统功能设计4.1 账单调整子系统功能设计数据模型设计逻辑实体模型模型上需要增加权限申请记录表和调账审批明细表用于对调账操作进行申请和审批。使用现有表CA_APPLIED_RATE表用以记录调账信息。在SYS_ENUM_DATA中添加基础数据用来记录权限的等级划分。4.1.1.1.1 实体模型调账审批模型:CA_APPROVAL_DTL_DTLCA_APPROVAL调账规则模型:BI_BUSI_AVAILABLEBI_BUSI_PLANPM_COMPOSITE_RULE_PRICEPM_PROD_OFFER_PRICE_RULEPM_ADJUST_RULE表结构(物理设计)表汇总序号子系统表名中文名称和简单描述1调账审批CA_APPROVAL权限申请记录表2CA_APPROVAL_DTL申请审批明细表3调账执行CA_BUSI_REC_BILL调账扩展工单表4PM_ADJUST_RULE调账规则表5PM_REASON_CODE调账原因表6账单查询CA_BILL账单表7CA_BILL_ITEM账单明细表8CA_BILL_PROD产品话费周期表权限申请记录表CA_APPROVAL权限申请记录表用来记录操作员提交的申请单,按照创建时间进行分表,主键为流水号。字段名数据类型字段简单描述so_nbrLong流水号 create_dateDate创建时间busi_spec_idInteger业务类型 acct_idLong账户编号reasonString申请原因remarkString审批备注deal_flagshort处理状态0未审批1审批通过2审批不通过deal_dateDate审批日期deal_amountLong涉及的总金额measure_idInteger货币单位approve_opIdLong审批操作员编号approve_orgIdInteger审批操作员组织op_I名称修改一下dLong申请操作员编号org_IdInteger申请操作员组织tenant_idLong租户idext1String扩展字段1,调账这里是billFlag,0调整历史账单1调整实时账单ext2String扩展字段2,调账这里用于区分是否需要生成Credit Note,0不生成1要生成ext3String扩展字段3,调账这里是是否调整到下账期0否1调整到下账期是否调整到下账期申请审批明细表CA_APPROVAL_ DTL 审批明细表用以记录申请单需要操作的业务的详细信息,按照创建时间进行分表,主键是流水号和创建时间还有科目。字段名数据类型字段简单描述so_nbrLong流水号 create_dateDate创建时间busi_spec_idInteger业务类型ext1String扩展字段1,这里是Invoice_noext2StringbillNo|adjust code|resourceId|base invoice amount扩展字段2,这里是bill_noamountLong设计的资产额度measure_idInteger货币单位