【返回Z平台-帮助文档-首页】
本章重点讲解如何正确使用Z平台中财务总账模块,方便大家在真实项目中快速的使用该功能进行记账功能的开发。
应用场景介绍
以电商项目为例,一般电商项目的组成,大多为前端APP与各种小程序 + 后台管理系统【负责订单、发货、记账等业务的处理】这种模式进行项目架构。那么咱们就以Z平台做为后台管理系统开发平台为例进行讲解。
首先,咱们假定虚拟电商项目的后台管理系统的主要模块为客户管理、商品管理、订单管理、财务管理等几个核心模块。其中,财务模块中包括对客户的电子钱包账户管理与积分管理功能。并且平台设定了购物赠送积分的规则,规则为购物消费10元积1分的规则。
其次,咱们拟定一条客户购物的业务流程如下:
虚拟流程数据:
客户:张三 购买商品:手机1部 商品价格:5000元 获得积分:500分【10元积1分规则】
通过以上应用场景与模拟数据有设定,咱们怎么在Z平台的财务总账模块中进行,客户账户与积分这两项的记账过程呢?请继续阅读下文的介绍
记账过程应用说明
在应用场景介绍中可以看到,需要记账的需求有两块,分别是客户的电子账户与客户积分两种需要记账的数据。那么接下来我分别来介绍两种数据是如何进行记账操作的。由于多数项目的记账过程都是在业务流程中自动通过调用记账接口程序来完成的。所以我也以接口调用的方式来完成记账的全过程演示。
电子账户记账
第一、创建新的账户类型
打开 【ERP系统/财务管理/账户类型】功能。新增一条记录并保存。
账户名称:电子钱包
单位:元 【根据账户保存数据的类型进行选择】
保留小数位:2【记账数据保留的小数位】
是否启用:是
第二、创建客户资料
记账过程必须以客户为根本,那么我们也模拟创建几位客户资料,打开【ERP系统 / 客户管理 / 客户信息】功能,为了后续演示过程,本次创建了3名用户。
第三、进账接口调用
在应用场景介绍中描述的流程,客户张三在购买商品前需要对自己的电子账户充值5000元。
充值接口:
http://服务器IP/z/acc_add?
a_type=账户类型主键
&userid=客户主键
&amount=进账数量
&mode=进账模式【0:直接进账 1:冻结进账】
&bizid=自定义业务ID【非必填】,例如:关联的订单号接口调用中的参数都需要用到各种业务表记录的主键,获取主键的方法请参考【开发技巧--如何获取表记录的主键】
实例:
http://192.168.1.123/z/acc_add?a_type=e9b30833c7dc4ac4na2yce9etetpc12517auapro87913125175eaf1b2822222922211827241623252319262516&userid=75245e60ebcfsmo4tu12517ecdb19c1rr24mb03ff793bc1f17192213141312141313192712
&amount=5000&mode=0
第四、出账接口调用
在应用场景介绍中描述的流程,客户张三在购买商品是通过电子账户支付了5000元。
支付订单接口:
http://服务器IP/z/acc_sub?
a_type=账户类型主键
&userid=客户主键
&amount=出账数量
&mode=出账模式【0:直接进账 1:冻结进账】
&bizid=自定义业务ID【非必填】,例如:关联的订单号接口调用中的参数都需要用到各种业务表记录的主键,获取主键的方法请参考【开发技巧--如何获取表记录的主键】
客户积分记账
积分记账与客户电子账户记账过程一同,只是创建新的账户类型为【积分】并且积分一般没有小数位。其它调用进账、出账过程相同。
例如:客户张三购买完商品后会获得500积分,可以调用进账接口,账户类型选择为积分
记账接口详解
核心Service介绍
在Z平台中,所有的记账方法,都写在 com.futvan.z.erp.erp_account.Erp_accountService Service中。有能力的同学建议自己定义新的Controller.来调用该Service中的方法。
核心方法:
Erp_accountService.Add 进账方法
Erp_accountService.Subtract 出账方法
Erp_accountService.Remove 删除明细账方法
Erp_accountService.Unfrozen 解除冻结账方法
记账模式介绍
Z平台记账分为两种模式,直接入账与冻结入账两种
直接入账
指的是无论进账或出账,接口参数mode为0的状态下,直接写入总账。
冻结入账
指的是无论进账或出账,都是先执行冻结操作。然后通过调用解除冻结接口来完成真实的写入总账操作。如果还在冻结状态的入账可以通过删除明细账接口来完成删除明细账的操作过程。
调用方式
Z平台中JAVA类中调用【强烈推荐这种方式】
在Z平台后台Controller类中,通过注入的方式加载Erp_accountService,然后自己重写调用接口的方法,这种方式可以有效的保护记账接口。比较完全。
通过HTTP方式第三方应用调用
http://服务器IP/acc_add 进账接口
http://服务器IP/acc_sub 出账接口
http://服务器IP/acc_unfrozen 解除冻结接口
http://服务器IP/acc_remove 删除明细账接口