简单的叙述一下发票系统的流程

先上图吧:

简单的叙述一下发票系统的流程_第1张图片

概述:发票系统是门店的必备系统,门店在交易之后必然会给客户打印小票,在小票上就有开票的二维码。

扫描二维码后系统门店开票权限的校验已经URL所带数据的校验,校验通过之后才能进行开票页面,点击提交按钮,在后台的开票接口中校验开票数据。若校验通过则将开票数据提交到开票云服务上进行开票,开票成功则由云进行回写发票数据。

红冲则是将已经开好的票进行销毁操作。可以将订单数据传给云服务器,由云服务器进行销毁操作,操作完成后进行数据回写,将订单的发票数据置为红冲状态。

换票这是红冲和开票的组合操作。是将已经开票的票进行销毁,然后进行重新开票操作。

首先应该先校验该订单是否已经开票,已开票才能换票,由于红冲是云服务的动作,所以我们也需要判断该票的红冲状态,如果红冲成功则直接进行开票,如果失败则进行红冲,红冲之后将换票的数据送入开票接口进行校验,校验成功则提交云服务进行开票,失败则进行页面提示。

总结一下:发票系统应该着重考虑一下在各个时期的状态。如:红冲处理中,红冲处理失败,红冲处理成功,换票开票成功,换票开票失败 等等。。。同时还要注意开票的维度,即是以订单开票还是以单据开票?一个订单是否可以有多个单据,如果有多个单据,如果有多个单据,那么一个发票是否开的是该订单的全部商品,或者每个单据上的商品都可以单独开一个票?

 

你可能感兴趣的:(java,Mybatis)