一种规避互联网重复开具发票的实现方法及装置制造方法及图纸

技术编号:36814058 阅读:22 留言:0更新日期:2023-03-09 01:02
本发明专利技术公开了一种规避互联网重复开具发票的实现方法及装置。其中,方法包括:从用户终端接收开具发票的业务请求,并从请求报文中解析待开发票的单据编号;访问Redis服务器,根据单据编号利用缓存机制对待开发票进行重复请求拦截;在重复请求拦截通过的情况下,根据单据编号,在数据库的缓存列表中对待开发票进行数据拦截;在数据拦截通过的情况下,根据单据编号,通过RabbitMQ消息队列对待开发票进行重复数据拦截;在重复数据拦截通过的情况下,在数据库的开具列表中对待开发票进行重复开具拦截,在重复开具拦截通过的情况下,完成待开发票的开具并发送至用户终端。发票的开具并发送至用户终端。发票的开具并发送至用户终端。

【技术实现步骤摘要】
一种规避互联网重复开具发票的实现方法及装置


[0001]本专利技术涉及计算机
,并且更具体地,涉及一种规避互联网重复开具发票的实现方法及装置。

技术介绍

[0002]随着互联网开具发票概念的提出,一站式开票技术也应运而生,为了互联网开票,需要对接不同业务系统,从而实现互联网一站式开具发票。如果不做重复开具发票的限制,同一条单据多次请求开票,将会出现开出多张发票的情况即重复开票,为了规避此类情况的发生,现有的技术是在多个系统中识别重复发票后筛选出唯一发票,方法是先加载一条预定时间段的具有索引号的第一发票,然后将在从数据库中搜索其它具有相同索引号的另一个发票,并且如果找到,则用所述第一发票替换所述另一个发票;以及从数据库中删除被认为已比较的第一发票。此种方法是在开具发票结束后进行发票去重操作,需要反复的操作数据库,给系统带来了巨大压力。

技术实现思路

[0003]针对现有技术的不足,本专利技术提供一种规避互联网重复开具发票的实现方法及装置。
[0004]根据本专利技术的一个方面,提供了一种规避互联网重复开具发票的实现方法,包括:
[0005]从用户终端接收开具发票的业务请求,并从请求报文中解析待开发票的单据编号;
[0006]访问Redis服务器,根据单据编号利用缓存机制对待开发票进行重复请求拦截;
[0007]在重复请求拦截通过的情况下,根据单据编号,在数据库的缓存列表中对待开发票进行数据拦截;
[0008]在数据拦截通过的情况下,根据单据编号,通过RabbitMQ消息队列对待开发票进行重复数据拦截;
[0009]在重复数据拦截通过的情况下,在数据库的开具列表中对待开发票进行重复开具拦截,在重复开具拦截通过的情况下,完成待开发票的开具并发送至用户终端。
[0010]可选地,访问Redis服务器,根据单据编号利用缓存机制对待开发票进行重复请求拦截的操作,包括:
[0011]根据单据编号获取Redis服务器的业务请求缓存信息;
[0012]在业务请求缓存信息为空的情况下,将待开发票的业务请求缓存至Redis服务器中;
[0013]在缓存信息存在的情况下,拦截业务请求。
[0014]可选地,根据单据编号,在数据库的缓存列表中对待开发票进行数据拦截的操作,包括:
[0015]根据单据编号在缓存列表中查询待开发票的单据信息,在单据信息未锁定的情况
下,在缓存列表中对待开发票添加乐观锁;
[0016]在单据信息锁定的情况下,拦截业务请求。
[0017]可选地,通过RabbitMQ消息队列对待开发票进行重复数据拦截的操作,包括:
[0018]根据单据编号,在RabbitMQ消息队列中查询是否存在待开发票,在待开发票未存在的情况下,将待开发票添加至RabbitMQ消息队列;
[0019]在待开发票已存在的情况下,拦截业务请求。
[0020]可选地,在重复数据拦截通过的情况下,在数据库的开具列表中对待开发票进行重复开具拦截的操作,包括:
[0021]从RabbitMQ消息队列中取出待开发票,并在数据库中的开具列表中进行查询,在未查询到待开发票对应的已开发票信息的情况下,开具待开发票;
[0022]在查询到待开发票对应的已开发票信息的情况下,拦截业务请求。
[0023]可选地,完成待开发票的开具并发送至用户终端的操作之后,还包括:
[0024]从Redis服务器删除待开发票的缓存信息;
[0025]从数据库的缓存列表中删除待开发票的信息。
[0026]根据本专利技术的另一个方面,提供了一种规避互联网重复开具发票的实现装置,包括:
[0027]解析模块,用于从用户终端接收开具发票的业务请求,并从请求报文中解析待开发票的单据编号;
[0028]重复请求拦截模块,用于访问Redis服务器,根据单据编号利用缓存机制对待开发票进行重复请求拦截;
[0029]数据拦截模块,用于在重复请求拦截通过的情况下,根据单据编号,在数据库的缓存列表中对待开发票进行数据拦截;
[0030]重复数据拦截模块,用于在数据拦截通过的情况下,根据单据编号,通过RabbitMQ消息队列对待开发票进行重复数据拦截;
[0031]重复开具拦截模块,用于在重复数据拦截通过的情况下,在数据库的开具列表中对待开发票进行重复开具拦截,在重复开具拦截通过的情况下,完成待开发票的开具并发送至用户终端。
[0032]根据本专利技术的又一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本专利技术上述任一方面所述的方法。
[0033]根据本专利技术的又一个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本专利技术上述任一方面所述的方法。
[0034]从而,本专利技术所提供方法,将Redis与RabbitMQ消息队列引入互联网开票系统中,形成一种一站式开票模式,在开票流程初始阶段进行了数据重复操作拦截,通过设置多重重复数据拦截机制,有效的规避了重复开具发票情况的发生,使数据更加安全有效,使数据库数据更加整洁,由于此种方式不需要系统程序与数据库进行频繁的交互,有效的降低了系统服务器的压力。
附图说明
[0035]通过参考下面的附图,可以更为完整地理解本专利技术的示例性实施方式:
[0036]图1是本专利技术一示例性实施例提供的规避互联网重复开具发票的实现方法的流程示意图;
[0037]图2是本专利技术一示例性实施例提供的RabbitMQ配置虚拟主机virtual

host的配置界面图;
[0038]图3是本专利技术一示例性实施例提供的RabbitMQ配置为虚拟主机授权用户访问权限图;
[0039]图4是本专利技术一示例性实施例提供的RabbitMQ配置添加交换机Exchange界面图;
[0040]图5是本专利技术一示例性实施例提供的RabbitMQ配置为交换机Exchange绑定Queue队列界面图;
[0041]图6是本专利技术一示例性实施例提供的RabbitMQ配置添加Queue队列界面图;
[0042]图7是本专利技术一示例性实施例提供的规避互联网重复开具发票的实现装置的结构示意图;
[0043]图8是本专利技术一示例性实施例提供的电子设备的结构。
具体实施方式
[0044]下面,将参考附图详细地描述根据本专利技术的示例实施例。显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是本专利技术的全部实施例,应理解,本专利技术不受这里描述的示例实施例的限制。
[0045]应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。
[0046]本领域技术人员可以理解,本专利技术实施例中的“第一”、“第二”等术语本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种规避互联网重复开具发票的实现方法,其特征在于,包括:从用户终端接收开具发票的业务请求,并从请求报文中解析待开发票的单据编号;访问Redis服务器,根据所述单据编号利用缓存机制对所述待开发票进行重复请求拦截;在所述重复请求拦截通过的情况下,根据所述单据编号,在数据库的缓存列表中对所述待开发票进行数据拦截;在所述数据拦截通过的情况下,根据所述单据编号,通过RabbitMQ消息队列对所述待开发票进行重复数据拦截;在所述重复数据拦截通过的情况下,在所述数据库的开具列表中对所述待开发票进行重复开具拦截,在所述重复开具拦截通过的情况下,完成所述待开发票的开具并发送至所述用户终端。2.根据权利要求1所述的方法,其特征在于,访问Redis服务器,根据所述单据编号利用缓存机制对所述待开发票进行重复请求拦截的操作,包括:根据所述单据编号获取所述Redis服务器的业务请求缓存信息;在所述业务请求缓存信息为空的情况下,将所述待开发票的业务请求缓存至所述Redis服务器中;在所述缓存信息存在的情况下,拦截所述业务请求。3.根据权利要求1所述的方法,其特征在于,根据所述单据编号,在数据库的缓存列表中对所述待开发票进行数据拦截的操作,包括:根据所述单据编号在所述缓存列表中查询所述待开发票的单据信息,在所述单据信息未锁定的情况下,在所述缓存列表中对所述待开发票添加乐观锁;在所述单据信息锁定的情况下,拦截所述业务请求。4.根据权利要求1所述的方法,其特征在于,通过RabbitMQ消息队列对所述待开发票进行重复数据拦截的操作,包括:根据所述单据编号,在所述RabbitMQ消息队列中查询是否存在所述待开发票,在所述待开发票未存在的情况下,将所述待开发票添加至所述RabbitMQ消息队列;在所述待开发票已存在的情况下,拦截所述业务请求。5.根据权利要求1所述的方法,其特征在于,在所述重复数据拦截通过的情况下,在所述数据库的开具列表中对所述待开发票进行重复开具拦截的操作,包括:从所述RabbitMQ消息队列中取出所述待开发票,并在所述数据库中的开具列表中...

【专利技术属性】
技术研发人员:索凤桐
申请(专利权)人:航天信息软件技术有限公司
类型:发明
国别省市:

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

1