一种处理增值税发票退款信息的方法和装置制造方法及图纸

技术编号:15050440 阅读:72 留言:0更新日期:2017-04-05 22:02
本发明专利技术提供一种处理增值税发票退款信息的方法和装置,能够提高增值税发票系统退款信息处理的及时性和准确性,提升增值税发票开具的效率,同时解决了增值税发票系统在退款信息高并发情况下,增值税发票开具金额计算错误的问题。本发明专利技术的一种处理增值税发票退款信息的方法包括:将消息中间件接收到的退款信息的消息标识符作为防重值,进行防重校验;校验通过后,从增值税发票开具表中查询所述退款信息对应的商品的第一数量和第一金额;根据所述退款信息对所述商品的第一数量和第一金额进行处理并更新所述增值税发票开具表。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别地涉及一种处理增值税发票退款信息的方法和装置。
技术介绍
随着计算机网络技术的快速发展,越来越多的人开始网上购物。由于网上购物是在顾客收到货物确认收货后,卖家才能收到款项,因此,对于网上购物的增值税发票(简称增票)开具,是属于一种货票分离的方式,即货物会先一步到达顾客手中,随后增票才会开具并邮寄给顾客。在货物到顾客手中至发票开具这段时间内,随时都可能发生各种形式的退货,此时增票开具的金额也需及时的进行更新,以保证开具的增票金额准确有效,避免对顾客或公司造成损失。除此之外,由于顾客退货的不确定性,上游退款系统为了保证数据的准确,采取原子方式推送退款内容(单个商品单个数量的形式,如A商品退货1000个,同时推送1000次“A商品退款1个”的信息)。随着网上购物的普及,以及电子商务企业公司业务的快速发展,发生退款的数据量也随之急剧增加。如何在退款信息高并发的情况下准确且及时的处理开具增票的金额,已是增票系统目前亟需解决的技术问题。由于现在所采用的退款信息一般是以原子方式推送的,相同商品的退款信息会分多次不定时推送,因此目前增票系统在接收到上游退款信息后,首先将退款信息中商品的退款个数存储在临时表中,随时更新临时表中这个商品的退款个数。然后通过定时任务每天凌晨执行一次,将临时表中退款信息更新进增票开具表中,用于增票的开具。这样,在使用过程中,就会存在以下的问题:1.由于目前退款量急剧增长以及退款信息原子的推送方式,如果直接操作增票开具表的数据,那么在高并发的情况下,现有方案会丢失很多的退款信息,造成大量的少退款,使得开具的增票金额不正确,增加了顾客的投诉量,造成顾客和公司的双重损失;2.由于退款信息推送的不定时性,现有方案采用定时任务处理的方式,将退款信息延后一天更新到增票开具表中,但是,这样严重影响了开具增票金额的及时性,大大降低了增票开具的效率。
技术实现思路
有鉴于此,本专利技术提供一种处理增值税发票退款信息的方法和装置,能够提高增值税发票系统退款信息处理的及时性和准确性,提升增值税发票开具的效率,同时解决了增值税发票系统在退款信息高并发情况下,增值税发票开具金额计算错误的问题。为实现上述目的,根据本专利技术的一个方面,提供了一种处理增值税发票退款信息的方法。一种处理增值税发票退款信息的方法,包括:将消息中间件接收到的退款信息的消息标识符作为防重值,进行防重校验;校验通过后,从增值税发票开具表中查询所述退款信息对应的商品的第一数量和第一金额;根据所述退款信息对所述商品的第一数量和第一金额进行处理并更新所述增值税发票开具表。可选地,所述消息中间件为开源消息总线ActiveMQ。可选地,还包括:如果校验未通过,则所述退款信息已被处理,结束本次退款信息处理。可选地,所述退款信息是以单个商品单个数量作为一条消息的形式进行发送的。可选地,根据所述退款信息对所述商品的第一数量和第一金额进行处理的步骤包括:如果增值税发票开具表中没有所述商品的信息或者所述商品的第一数量和第一金额为0,则结束本次退款信息处理;否则,根据所述退款信息,将所述商品的第一数量减1作为第二数量;以及将所述商品的第一金额减去一件商品的金额作为第二金额。可选地,更新所述增值税发票开具表的步骤包括:判断所述增值税发票开具表中所述商品的当前数量是否为所述第一数量;如果是,则将所述第二数量赋值给所述第一数量,将所述第二金额赋值给所述第一金额;否则,更新所述增值税发票开具表失败。可选地,更新所述增值税发票开具表失败的步骤之后,还包括:删除所述防重值,并利用消息中间件的异常重试机制,再次处理所述退款信息。根据本专利技术的另一方面,提供了一种处理增值税发票退款信息的装置。一种处理增值税发票退款信息的装置,包括:退款信息校验模块,用于将消息中间件接收到的退款信息的消息标识符作为防重值,进行防重校验;退款信息查询模块,用于校验通过后,从增值税发票开具表中查询所述退款信息对应的商品的第一数量和第一金额;退款信息处理模块,用于根据所述退款信息对所述商品的第一数量和第一金额进行处理并更新所述增值税发票开具表。可选地,所述消息中间件为开源消息总线ActiveMQ。可选地,所述退款信息校验模块还用于:如果校验未通过,则所述退款信息已被处理,结束本次退款信息处理。可选地,所述退款信息是以单个商品单个数量作为一条消息的形式进行发送的。可选地,所述退款信息处理模块还用于:如果增值税发票开具表中没有所述商品的信息或者所述商品的第一数量和第一金额为0,则结束本次退款信息处理;否则,根据所述退款信息,将所述商品的第一数量减1作为第二数量;以及将所述商品的第一金额减去一件商品的金额作为第二金额。可选地,所述退款信息处理模块还用于:判断所述增值税发票开具表中所述商品的当前数量是否为所述第一数量;如果是,则将所述第二数量赋值给所述第一数量,将所述第二金额赋值给所述第一金额;否则,更新所述增值税发票开具表失败。可选地,所述退款信息处理模块在更新所述增值税发票开具表失败之后,还用于:删除所述防重值,以便利用消息中间件的异常重试机制,再次处理所述退款信息。根据本专利技术的技术方案,采用开源消息中间件ActiveMQ接收退款信息,结合数据库的乐观锁机制和当前业务需要,直接处理增值税发票开具表的数据,如果触发了乐观锁,则手动抛出自定义异常,利用消息中间件的异常重试机制,使得退款信息再次执行。保证了在高并发的情况下,退款信息处理及时准确,且提高了增值税发票开具的效率,从而提升了客户体验,减少了经济损失。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的处理增值税发票退款信息的方法的主要步骤示意图;图2是根据本专利技术实施例的处理增值税发票退款信息的方法的流程图;图3是根据本专利技术实施例的处理增值税发票退款信息的装置的主要模块示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的处理增值税发票退款信息的方法的主要步骤示意图。如图1所示,本专利技术的处理增值税发票退款信息的方法主要包括如下的步骤S11至步骤S13。步骤S11:将消息中间件接收到的退款信息的消息标识符作为防重值,进行防重校验。在本专利技术的实施例中,所选用的消息中间件为开源消息总线ActiveMQ。同样地,一些其他的具有异常重试机制的消息中间件也可以达成所需要的功效,例如:RabbitMQ,IBMWebsphereMQ等消息队列。为了保证数据的准确性,上游系统以原子方式发送退款信息,即:所述退款信息是以单个商品单个数量作为一条消息的形式进行发送的。增值税发票(几下简称为增票)系统对退款信息的接收,采用消息中间件开源消息总线ActiveMQ,由于消息中间件在将消息从一个应用发送到另一个应用时,使用了消息队列作为过渡,故消息发送方发送过来的退款信息会被保存在消息队列中,直到消息接收方读取为止,且消息发送方在发送消息时无需等本文档来自技高网
...

【技术保护点】
一种处理增值税发票退款信息的方法,其特征在于,包括:将消息中间件接收到的退款信息的消息标识符作为防重值,进行防重校验;校验通过后,从增值税发票开具表中查询所述退款信息对应的商品的第一数量和第一金额;根据所述退款信息对所述商品的第一数量和第一金额进行处理并更新所述增值税发票开具表。

【技术特征摘要】
1.一种处理增值税发票退款信息的方法,其特征在于,包括:将消息中间件接收到的退款信息的消息标识符作为防重值,进行防重校验;校验通过后,从增值税发票开具表中查询所述退款信息对应的商品的第一数量和第一金额;根据所述退款信息对所述商品的第一数量和第一金额进行处理并更新所述增值税发票开具表。2.根据权利要求1所述的方法,其特征在于,所述消息中间件为开源消息总线ActiveMQ。3.根据权利要求1所述的方法,其特征在于,还包括:如果校验未通过,则所述退款信息已被处理,结束本次退款信息处理。4.根据权利要求1所述的方法,其特征在于,所述退款信息是以单个商品单个数量作为一条消息的形式进行发送的。5.根据权利要求1或4所述的方法,其特征在于,根据所述退款信息对所述商品的第一数量和第一金额进行处理的步骤包括:如果增值税发票开具表中没有所述商品的信息或者所述商品的第一数量和第一金额为0,则结束本次退款信息处理;否则,根据所述退款信息,将所述商品的第一数量减1作为第二数量;以及将所述商品的第一金额减去一件商品的金额作为第二金额。6.根据权利要求1所述的方法,其特征在于,更新所述增值税发票开具表的步骤包括:判断所述增值税发票开具表中所述商品的当前数量是否为所述第一数量;如果是,则将所述第二数量赋值给所述第一数量,将所述第二金额赋值给所述第一金额;否则,更新所述增值税发票开具表失败。7.根据权利要求6所述的方法,其特征在于,更新所述增值税发票开具表失败的步骤之后,还包括:删除所述防重值,并利用消息中间件的异常重试机制,再次处理所述退款信息。8.一种处理增值税发票退款信息的装置...

【专利技术属性】
技术研发人员:马文军
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1