一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

业务处理方法、设备、存储介质及计算机程序产品与流程

2022-02-20 05:12:27 来源:中国专利 TAG:


1.本发明实施例涉及计算机及互联网技术领域,尤其涉及一种业务处理方法、设备、存储介质及计算机程序产品。


背景技术:

2.随着线上消费的不断发展,信用支付越来越普及,信用支付是先消费、后还款的一种消费方式。信用支付业务主要包括消费、退款、还款等交易流程,尤其当消费支持分期时会产生多笔分期单,包含本金、手续费、日息、罚息等。在消费后若存在用户对所购物品、服务不满意等情况,用户可申请售后服务,进行退款,退款是消费的逆向操作,需要对消费进行冲销。
3.目前,退款业务的通常流程特别复杂,退款系统在接收到用户的退款请求后需要立即针对该退款请求执行一系列操作流程直至退款成功,再向用户返回退款结果的通知。
4.现有技术中退款业务流程中的各操作采用同步处理,退款流程耗时长,尤其高并发情况下系统响应超时甚至宕机情况发生,将导致退款失败,需要用户重新发起退款,系统稳定性及用户体验差。


技术实现要素:

5.本发明实施例提供一种业务处理方法、设备、存储介质及计算机程序产品,用以快速响应用户退款请求,保证退款业务的成功,提高退款业务系统稳定性和用户体验。
6.第一方面,本发明实施例提供一种业务处理方法,包括:
7.在接收到终端发送的退款请求后,采用同步线程查询所述退款请求对应的交易单,并对所述退款请求中的退款金额、以及用户信息进行校验;
8.若校验通过,则通过所述同步线程生成退款单,向所述终端发送退款处理中的通知消息,并触发异步线程;
9.采用所述异步线程查询所述交易单相关的待冲销业务单,根据所述退款单对所述待冲销业务单进行冲销操作,并调用报账流程对所述冲销操作进行报账操作;
10.通过所述异步线程修改退款状态为完成状态,并向所述终端发送退款完成的通知消息。
11.第二方面,本发明实施例提供一种业务处理设备,包括:
12.同步处理单元,用于在接收到终端发送的退款请求后,采用同步线程查询所述退款请求对应的交易单,并对所述退款请求中的退款金额、以及用户信息进行校验;若校验通过,则通过所述同步线程生成退款单,向所述终端发送退款处理中的通知消息,并触发异步线程;
13.异步处理单元,用于采用所述异步线程查询所述交易单相关的待冲销业务单,根据所述退款单对所述待冲销业务单进行冲销操作,并调用报账流程对所述冲销操作进行报账操作;通过所述异步线程修改退款状态为完成状态,并向所述终端发送退款完成的通知
消息。
14.第三方面,本发明实施例提供一种电子设备,包括:至少一个处理器;以及存储器;
15.所述存储器存储计算机执行指令;
16.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面的方法。
17.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面的方法。
18.第五方面,本发明实施例提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现如第一方面的方法。
19.本发明实施例提供的业务处理方法、设备、存储介质及计算机程序产品,通过在接收到终端发送的退款请求后,采用同步线程查询退款请求对应的交易单,并对退款请求中的退款金额、以及用户信息进行校验;若校验通过,则通过同步线程生成退款单,向终端发送退款处理中的通知消息,并触发异步线程;采用异步线程查询交易单相关的待冲销业务单,根据退款单对待冲销业务单进行冲销操作,并调用报账流程对冲销操作进行报账操作;通过异步线程修改退款状态为完成状态,并向终端发送退款完成的通知消息。本实施例将退款业务流程分为同步和异步两部分,通过同步线程执行校验和创建退款单操作,通过异步线程执行较为复杂繁琐的冲销操作、报账操作,避免退款业务流程全部采用同步流程导致耗时较长,可以快速进行响应用户退款请求,此外也提高了退款业务流程的稳定性,保证用户数据的准确性,提高系统稳定性和用户体验。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
21.图1为本发明一实施例提供的业务处理方法应用场景示意图;
22.图2为本发明一实施例提供的业务处理方法的流程图;
23.图3为本发明另一实施例提供的业务处理方法的流程图;
24.图4为本发明另一实施例提供的业务处理方法的流程图;
25.图5为本发明另一实施例提供的业务处理方法的流程图;
26.图6为本发明另一实施例提供的业务处理方法的流程图;
27.图7为本发明另一实施例提供的业务处理方法的流程图;
28.图8为本发明另一实施例提供的业务处理方法的流程图;
29.图9为本发明另一实施例提供的业务处理方法的流程图;
30.图10为本发明一实施例提供的业务处理设备的结构图;
31.图11为本发明一实施例提供的电子设备的结构图。
32.通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
33.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
34.目前,退款业务的通常流程特别复杂,退款业务的通常流程为,接收用户的退款请求,进行凭证及身份验证,获取消费信息,进行冲销,同步返回退款结果的通知。而在信用支付场景中特别是分期支付场景中,退款流程更为复杂,需要获取用户交易锁,以保证同一时刻对于同一用户只有一个业务可以执行,需要查询该用户下所有业务单进行冲销、记录冲销流水、调用账户系统进行记账更新用户额度、更新账单、更新贷款单、更新相关业务单,特别的,当用户存在先还款后退款的场景时还需要调用支付系统进行代付操作。
35.如果退款业务流程中的这些操作都进行同步处理的话,则存在以下不足之处:退款流程耗时长,尤其高并发情况下系统响应超时甚至宕机情况发生,系统稳定性及用户体验差;由于退款流程需要获取交易锁,有大量的更新操作,并需要依赖账户系统及支付系统,退款存在失败的情况,若退款失败,需要用户重新发起退款,用户交互性差。
36.针对上述技术问题,本发明实施例将退款业务流程分为同步和异步两个子流程,通过同步线程中查询退款请求对应的交易单,并对退款金额以及用户信息的校验操作,校验通过后响应用户,向用户发送退款处理中的通知消息,并触发异步线程,通过异步线程执行退款业务流程中较为复杂操作,例如冲销操作、报账操作等操作,还可执行代付操作、更新账户系统用户额度、账单、贷款单、相关业务单等,最终完成退款后通过异步线程修改退款状态为完成状态,并向终端发送退款完成的通知消息。通过同步线程可以快速响应用户退款请求,避免用户需要一直等待最终退款结果的通知,通过异步线程执行复杂操作,在系统响应超时甚至宕机情况下可在系统恢复后继续进行异步线程,整个退款流程不会阻断,可保证退款的成功,保证用户数据的准确性,提高系统稳定性和用户体验。
37.本发明实施例提供的业务处理方法适用于如图1所述的应用场景中,
38.本发明实施例提供的业务处理方法适用于如图1所述的应用场景中,包括终端101和服务端102,终端可以向服务端102发送退款请求,服务端102在接收到退款请求后,采用同步线程查询退款请求对应的交易单,并对退款请求中的退款金额、以及用户信息进行校验;若校验通过,则通过同步线程生成退款单,向终端101发送退款处理中的通知消息,并触发异步线程;采用异步线程查询交易单相关的待冲销业务单,根据退款单对待冲销业务单进行冲销操作,并调用报账流程对冲销操作进行报账操作;通过异步线程修改退款状态为完成状态,并向终端101发送退款完成的通知消息。其中终端101可不限于智能手机、平板电脑、个人电脑、可穿戴设备等;服务端102可以为一台服务器或服务器集群,也可以为云端服务器。
39.下面以具体地实施例对本发明的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
40.图2为本发明实施例提供业务处理方法流程图。本实施例提供了一种业务处理方法,其执行主体为用于业务处理的服务端等电子设备,该业务处理方法具体步骤如下:
41.s201、在接收到终端发送的退款请求后,采用同步线程查询所述退款请求对应的交易单,并对所述退款请求中的退款金额、以及用户信息进行校验。
42.在本实施例中,用户在进行了某个交易后可能存在退款的情况,此时可向收款方申请退款,用户可以在终端上进行退款操作,用于退款业务处理的服务器在接收到终端发送的退款请求后,可以采用同步线程进行一些相对简单的操作,包括但不限于查询退款请求对应的交易单、对退款金额、以及用户信息进行校验等。
43.其中,可基于交易单号来查询退款请求对应的交易单,交易单中包括消费金额等信息;若查询不到交易单,则可向终端发送查询交易单失败。而交易退款金额则是将退款金额和交易单的可退金额进行比较,若退款金额未超过可退金额,则继续执行后续流程,若退款金额超过可退金额,则向终端发送退款金额校验失败,其中若交易单未发生过退款,则可退金额可以为消费金额或者约定的金额,若交易单发生过退款,则可退金额为消费金额减去已退款金额的差值,或者约定的金额减去已退款的金额的差值。而对用户信息进行校验时,用户信息校验包括但不限于登录状态校验、用户账户状态校验等。
44.在一种可选实施例中,如图3所示,s201所述的采用同步线程查询所述退款请求对应的交易单,并对所述退款请求中的退款金额、以及用户信息进行校验,具体可包括:
45.s2011、对用户的登陆状态进行校验;
46.其中,若用户处于登录状态,则执行s2012;若用户处于未登录状态,则登录状态校验失败,结束业务处理流程,也即不进行后续其他的业务处理流程;
47.s2012、查询是否存在所述退款请求对应的交易单;
48.其中,若查询到退款请求对应的交易单,则执行s2013;若未查询到退款请求对应的交易单,则结束业务处理流程,并向终端返回查询交易单失败;
49.s2013、校验所述退款请求中的退款金额是否超过所述交易单中的可退金额;
50.其中,若退款金额未超过可退金额,则执行s2014;若退款金额超过可退金额,则结束业务处理流程,并向终端返回退款金额校验失败;
51.s2014、对用户账户状态进行校验;
52.其中,若用户账户为不存在或者止入(没有权限),则用户账户状态校验失败,可以向终端返回账户状态失败;否则,用户账户状态正常,校验通过。
53.通过同步线程执行s2011-s2014的校验操作,可以保证退款请求的合法性,为后续异步线程的安全性提供基础,且可以快速的响应用户的退款请求。而任一校验不通过则可结束业务处理流程。
54.s202、若校验通过,则通过所述同步线程生成退款单,向所述终端发送退款处理中的通知消息,并触发异步线程。
55.在本实施例中,退款单可作为退款过程的凭证,由于在接收到退款请求并校验通过后并不存在退款单,因此在校验通过后通过同步线程才生成退款单,此外可将退款单状态修改为退款处理中,并向终端发送退款处理中的通知消息,并触发异步线程,此时同步线程可以结束,无需一直等待异步线程的结果,可以快速响应用户的退款请求。
56.s203、采用所述异步线程查询所述交易单相关的待冲销业务单,根据所述退款单对所述待冲销业务单进行冲销操作,并调用报账流程对所述冲销操作进行报账操作。
57.在本实施例中,异步线程中可执行退款业务中较为复杂的操作,包括但不限于冲
销操作和报账操作。
58.具体的,异步线程可以根据交易单查询用户的待冲销业务单,待冲销业务单为交易过程中产生的业务单,其中待冲销的业务单可以包括已出账的待冲销的业务单,也可包括未出账的待冲销的业务单。更具体的,待冲销的业务单可包括至少一个业务单,例如本金分期单、分期手续费单、日息单、罚息单、结转单等,由于不同类型的业务单存储在不同的业务表中,因此可以通过多线程技术查询待冲销的业务单,以提升查询速度。
59.在获取到待冲销的业务单后,可以执行冲销操作,其中冲销是会计核算的概念,也即将待冲销的业务单原来记的账抵消。由于退款请求中的退款金额可能等于所有待冲销业务单的金额,也可能少于所有待冲销业务单的金额,或者多于所有待冲销业务单的金额,因此需要根据退款请求来进行对所述待冲销业务单进行冲销操作。进一步的,冲销操作之后还需要在用户账户上完成报账操作,才能够实现对用户账户的退款。
60.s204、通过所述异步线程修改退款状态为完成状态,并向所述终端发送退款完成的通知消息。
61.在本实施例中,异步线程最后还可修改退款单状态为完成状态,包括但不限于修改冲销流水状态、记账流水状态、退款单状态、账单状态等,并向终端发送退款完成的通知消息,此时异步线程可以结束。
62.通过异步线程执行退款业务流程中较为复杂、繁琐的冲销操作、报账操作,可以避免退款业务流程全部采用同步流程导致耗时较长的问题,不需要同步流程一直等待最终退款结果,并且在系统响应超时甚至宕机情况下可在系统恢复后继续进行异步线程,整个退款流程不会阻断,可保证退款的成功保证用户数据的准确性。
63.本实施例提供的业务处理方法,通过在接收到终端发送的退款请求后,采用同步线程查询退款请求对应的交易单,并对退款请求中的退款金额、以及用户信息进行校验;若校验通过,则通过同步线程生成退款单,向终端发送退款处理中的通知消息,并触发异步线程;采用异步线程查询交易单相关的待冲销业务单,根据退款单对待冲销业务单进行冲销操作,并调用报账流程对冲销操作进行报账操作;通过异步线程修改退款状态为完成状态,并向终端发送退款完成的通知消息。本实施例将退款业务流程分为同步和异步两部分,通过同步线程执行校验和创建退款单操作,通过异步线程执行较为复杂繁琐的冲销操作、报账操作,避免退款业务流程全部采用同步流程导致耗时较长,可以快速进行响应用户退款请求,此外也提高了退款业务流程的稳定性,保证用户数据的准确性,提高系统稳定性和用户体验。
64.在上述任一实施例的基础上,所述待冲销业务单为多个;上述实施例中s203所述的根据所述退款单对所述待冲销业务单进行冲销操作,包括:
65.根据所述退款金额以及所述待冲销业务单的预设业务优先级,依次对各待冲销业务单进行冲销操作。
66.在本实施例中,待冲销业务单可以为多个,例如可包括以下至少两种业务单:本金分期单、分期手续费单、日息单、罚息单、结转单等,由于退款请求中的退款金额可能少于所有待冲销业务单的金额,也即多个待冲销业务单中可能仅有部分待冲销业务单能够被冲销,因此本实施例中可预先设置各种业务单的业务优先级,也即相当于冲销操作的优先级,进而根据退款金额以及各待冲销业务单的预设业务优先级进行冲销操作,例如可以按照预
设业务优先级由高到低的顺序对各待冲销业务单进行排序,然后按照排序依次进行冲销。
67.可选的,在上述实施例的基础上,所述根据所述退款金额以及所述待冲销业务单的预设业务优先级,依次对各待冲销业务单进行冲销操作,包括:
68.按照预设业务优先级由高至低的顺序,依次遍历各待冲销业务单进行冲销操作,直至已进行冲销操作的所述待冲销业务单的累计冲销金额达到所述退款金额。
69.在本实施例中,由于退款请求中的退款金额可能少于所有待冲销业务单的金额,也即多个待冲销业务单中可能仅有部分待冲销业务单能够被冲销,在按照预设业务优先级由高至低的顺序依次遍历各待冲销业务单进行冲销操作时,当遍历到某一待冲销业务单时,若退款金额已用完,也即已进行冲销操作的业务单的累计冲销金额达到退款金额,则冲销操作结束。
70.举例来讲,预设业务优先级由高至低,待冲销业务单1金额为10元、待冲销业务单2金额为20元、待冲销业务单3金额为30元,若退款金额为30元,先对待冲销业务单1冲销10元,再对待冲销业务单2冲销20元,此时已进行冲销操作的业务单的累计冲销金额为30元,达到退款金额,则待冲销业务单3无法继续进行冲销,此时可结束冲销操作;若退款金额为40元,则还可对待冲销业务单3再冲销10元,此时已进行冲销操作的业务单的累计冲销金额为40元,达到退款金额;此外,若退款金额等于所有待冲销业务单的金额,则所有待冲销业务单均可冲销成功,例如上述举例中,若退款金额为60元,则所有待冲销业务单均可冲销成功;本示例中通常不存在退款金额大于所有待冲销业务单的金额的情况,因为在前述同步线程中退款金额校验过程中若退款金额大于所有待冲销业务单的金额(也即交易单中的可退金额),不会进入到异步线程。
71.在一种可能的实施例中,针对于待冲销业务单,用户可能在退款前存在还款,可查询各待冲销业务单中已还款的业务单,然后进行代付操作,具体过程如下:
72.若所述各待冲销业务单中存在已还款的业务单,则采用所述异步线程调用代付流程进行代付操作。
73.在本实施例中,若确定待冲销业务单中存在已还款的业务单,可查找到各待冲销业务单中已还款的业务单,然后可采用异步线程调用代付流程进行代付操作,将用户还款的金额先退还给用户,再进行后续的报账操作。
74.具体的,如图4所示,所述采用所述异步线程调用代付流程进行代付操作,包括:
75.s301、采用所述异步线程,根据已还款的业务单的还款金额创建代付申请单;
76.s302、根据所述代付申请单进行账户溢缴款冻结操作,并调用支付侧设备进行代付,在代付成功后进行账户溢缴款解冻操作。
77.在本实施例中,可确定已还款的业务单的还款金额,进而基于还款金额创建代付申请单,以便于在代付操作中根据答复申请单进行代付。其中代付申请单可包括但不限于还款金额以及退款单号等,其中退款单号用于标识代付申请单是当前的退款流程中产生的代付申请单。
78.在代付操作时,可以根据退款单号查询代付申请单,在查询到代付申请单后,若代付申请单的状态为待处理状态时,可根据代付申请单进行账户溢缴款冻结操作,其中溢缴款指客户还款时多缴的资金或存放在账户内的资金,对溢缴款进行冻结后可调用支付侧设备进行代付,完成代付后可进行账户溢缴款解冻操作。
79.更具体的,为了保证s301-s302成功完成代付,可对代付申请单状态以及账户溢缴款状态进行监控。具体的,如图5所示,执行s302的过程中可包括如下步骤:
80.s311、根据退款单号查询代付申请单,并过滤掉状态为失败且被替换掉的代付申请单;
81.其中,代付操作过程中若支付系统异常或者溢缴款账户可用余额不足,则导致代付操作失败,由于代付操作调用的是支付系统,需要上送代付申请单号,失败后申请单号无法再次使用,因此可将该代付申请单的状态修改为失败,并创建新的代付申请单,替代原来的代付申请单;而若查询到状态为失败且被替换掉的代付申请单,则说明该代付申请单已被新的代付申请单替换。因此在查询代付申请单时,可过滤掉状态为失败且被替换掉的代付申请单。
82.s312、对于未被过滤掉的代付申请单,判断代付申请单的状态;
83.若代付申请单的状态为成功或空,则返回成功,流程结束,保证幂等;若代付申请单的状态为失败,则执行s313;若代付申请单的状态为待处理,则执行s314;若代付申请单的状态为解冻失败,则执行s316;
84.s313、创建新的代付申请单,替换掉失败状态的代付申请单;
85.执行完s313后基于新的代付申请单,继续执行s314;
86.s314、调用账户溢缴款冻结;
87.若账户溢缴款冻结失败,则返回失败,流程结束;否则,执行s315;
88.s315、调用支付侧设备进行代付;
89.若代付失败,则更新代付申请单状态为失败,返回失败,流程结束;否则,代付成功,执行316;
90.s316、调用账户溢缴款解冻操作;
91.若账户溢缴款解冻失败,更新代付申请单状态为解冻失败,否则更新代付申请单状态为成功。
92.在上述任一实施例的基础上,如图6所示,上述实施例中s203所述的调用报账流程对所述冲销操作进行报账操作,具体包括:
93.s401、查询所述退款请求的记账流水状态;
94.s402、若记账流水状态为待报账状态,则根据记账流水进行相关金额汇总,并调用账户系统进行报账操作。
95.在本实施例中,在冲销操作执行完成后,可尝试创建记账流水,记录报账过程中的信息,作为报账操作的凭证,进而可基于记账流水进行报账操作,在记账流水状态为待报账状态的情况下,基于记账流水汇总应收金额、实收金额、用户金额等相关金额,并调用账户进行报账操作。
96.具体的,为了保证s401-s402成功完成记账,可进行状态的监控,具体的,如图7所示,报账操作可包括如下过程:
97.s411、根据退款单号查询记账流水,并过滤掉状态为失败且被替换掉的记账流水;
98.在本实施例中,报账操作过程中若报账失败,记账流水可能存在错误,可将该记账流水的状态修改为失败,并创建新的记账流水,替换原来的记账流水。因此在查询记账流水时,可过滤掉状态为失败且被替换掉的记账流水。
99.s412、对于未被过滤掉的记账流水,判断记账流水的状态;
100.若记账流水的状态为成功,则返回成功,流程结束,保证幂等;若记账流水的状态为失败,则执行s413;若记账流水的状态为待处理,则执行s414;
101.s413、创建新的记账流水,替换掉失败状态的记账流水;
102.执行完s313后基于新的记账流水,继续执行s414;
103.s414、根据记账流水进行相关金额汇总,并调用账户系统进行报账操作;
104.若报账成功返回报账成功,否则返回报账失败,流程结束。
105.此外,在上述实施例的基础上,还可在冲销操作执行完成后创建冲销流水,用于记录包括但不限于退款单号、冲销金额、冲销时间等信息,作为冲销操作的凭证。
106.在上述任一实施例的基础上,s204所述通过所述异步线程修改退款状态为完成状态,具体可包括:
107.通过所述异步线程将记账流水状态、退款单状态以及账单状态修改为完成状态;此外,还可将冲销流水状态修改为完成状态。
108.在上述任一实施例的基础上,若在冲销过程中冲销操作执行失败,则定时重新进行冲销操作;若在报账过程中报账操作执行失败,则定时重新进行报账操作;此外,若在代付过程中代付操作执行失败,则定时重新进行代付操作。
109.在上述任一实施例的基础上,如图8所示,s203所述的采用所述异步线程查询所述交易单相关的待冲销业务单,具体可包括:
110.s501、尝试获取用户交易锁;
111.s502、在获取用户交易锁成功后,采用所述异步线程查询所述交易单相关的待冲销业务单。
112.在本实施例中,为了保证同一时刻对于同一用户只有一个业务可以执行,保证分布式场景下用户的业务数据正确性,因此在触发异步线程时先尝试获取用户交易锁,若获取用户交易锁成功后,可继续执行后续的查询用户的待冲销业务单,而该用户的其他业务则无法再获取用户交易锁;而若获取用户交易锁失败,则可定时重新进行尝试获取用户交易锁。进一步的,在向终端发送退款完成的通知消息后,可释放所述用户交易锁,此时其他业务才能够获取到用户交易锁,进而执行获取到用户交易锁的业务流程。
113.在上述任一实施例的基础上,本实施例提供一种业务处理方法的异步流程,如图9所示,具体步骤如下:
114.s601、尝试获取用户交易锁;
115.若获取用户交易锁成功后,执行s602;若获取用户交易锁失败,则可定时重新进行尝试获取用户交易锁;
116.s602、采用所述异步线程查询用户的待冲销业务单;
117.s603、根据所述退款金额以及所述待冲销业务单的预设业务优先级,依次对各待冲销业务单进行冲销操作;
118.其中,按照预设业务优先级由高至低的顺序,依次遍历各待冲销业务单进行冲销操作,直至已进行冲销操作的所述待冲销业务单的累计冲销金额达到退款金额;
119.s604、尝试创建冲销流水、记账流水、并更新业务单;若各待冲销业务单中存在已还款的业务单,则创建代付申请单;
120.其中,尝试创建冲销流水、记账流水成功或者唯一键冲突,则执行s605;否则,定时重试;其中创建冲销流水、记账流水时,基于退款单号作为唯一键进行创建,也即同一退款单号在同一时间内仅能存在一个冲销流水、记账流水,若创建时发现唯一键冲突,也即说明当前存在另外的冲销流水、记账流水,也即冲销流水、记账流水已被创建过了,可继续执行s605;
121.s605、基于已创建的记账流水进行报账操作;
122.若报账成功,则执行s606;否则,定时重新执行报账操作;
123.s606、基于代付申请单进行代付操作;
124.若代付成功,则执行s607;否则,定时重新执行代付操作;
125.s607、更新更新冲销流水状态、记账流水状态、退款单状态、账单状态为完成状态;并向所述终端发送退款完成的通知消息;
126.s608、释放用户交易锁。
127.本实施例的异步流程的原理和技术效果可参照上述实施例,此处不再赘述。
128.图10为本发明实施例提供的业务处理设备的结构图。本实施例提供的业务处理设备可以执行方法实施例提供的处理流程,如图10所示,所述业务处理设备700包括同步处理单元701以及异步处理单元702。
129.同步处理单元701,用于在接收到终端发送的退款请求后,采用同步线程查询所述退款请求对应的交易单,并对所述退款请求中的退款金额、以及用户信息进行校验;若校验通过,则通过所述同步线程生成退款单,向所述终端发送退款处理中的通知消息,并触发异步线程;
130.异步处理单元702,用于采用所述异步线程查询所述交易单相关的待冲销业务单,根据所述退款单对所述待冲销业务单进行冲销操作,并调用报账流程对所述冲销操作进行报账操作;通过所述异步线程修改退款状态为完成状态,并向所述终端发送退款完成的通知消息。
131.在上述任一实施例的基础上,所述同步处理单元701在采用同步线程查询所述退款请求对应的交易单,并对所述退款请求中的退款金额、以及用户信息进行校验时,用于:
132.采用所述同步线程,对用户的登陆状态进行校验;
133.若用户处于登录状态,则查询是否存在所述退款请求对应的交易单;
134.若查询到所述退款请求对应的交易单,则校验所述退款请求中的退款金额是否超过所述交易单中的可退金额;
135.若未超过,则对用户账户状态进行校验;若用户账户状态正常,则校验通过。
136.在上述任一实施例的基础上,所述待冲销业务单为多个;所述异步处理单元702在根据所述退款单对所述待冲销业务单进行冲销操作时,用于:
137.根据所述退款金额以及所述待冲销业务单的预设业务优先级,依次对各待冲销业务单进行冲销操作。
138.在上述任一实施例的基础上,所述异步处理单元702在根据所述退款金额以及所述待冲销业务单的预设业务优先级,依次对各待冲销业务单进行冲销操作时,用于:
139.按照预设业务优先级由高至低的顺序,依次遍历各待冲销业务单进行冲销操作,直至已进行冲销操作的所述待冲销业务单的累计冲销金额达到所述退款金额。
140.在上述任一实施例的基础上,所述异步处理单元702还用于:
141.若所述各待冲销业务单中存在已还款的业务单,则采用所述异步线程调用代付流程进行代付操作。
142.在上述任一实施例的基础上,所述异步处理单元702在采用所述异步线程调用代付流程进行代付操作时,用于:
143.采用所述异步线程,根据已还款的业务单的还款金额创建代付申请单;
144.根据所述代付申请单进行账户溢缴款冻结操作,并调用支付侧设备进行代付,在代付成功后进行账户溢缴款解冻操作。
145.在上述任一实施例的基础上,所述异步处理单元702在调用报账流程对所述冲销操作进行报账操作时,用于:
146.查询所述退款请求的记账流水状态;
147.若记账流水状态为待报账状态,则根据记账流水进行相关金额汇总,并调用账户系统进行报账操作。
148.在上述任一实施例的基础上,所述异步处理单元702在通过所述异步线程修改退款状态为完成状态时,用于:
149.通过所述异步线程将记账流水状态、退款单状态以及账单状态修改为完成状态。
150.在上述任一实施例的基础上,所述异步处理单元702还用于:
151.若冲销操作执行失败,则定时重新进行冲销操作;和/或
152.若报账操作执行失败,则定时重新进行报账操作。
153.在上述任一实施例的基础上,所述异步处理单元702在采用所述异步线程查询所述交易单相关的待冲销业务单时,用于:
154.尝试获取用户交易锁;在获取用户交易锁成功后,采用所述异步线程查询所述交易单相关的待冲销业务单;
155.所述异步处理单元702在向所述终端发送退款完成的通知消息后,还用于:
156.释放所述用户交易锁。
157.本发明实施例提供的业务处理设备可以具体用于执行上述图2-9所提供的方法实施例,具体功能此处不再赘述。
158.本发明实施例提供的业务处理设备,通过在接收到终端发送的退款请求后,采用同步线程查询退款请求对应的交易单,并对退款请求中的退款金额、以及用户信息进行校验;若校验通过,则通过同步线程生成退款单,向终端发送退款处理中的通知消息,并触发异步线程;采用异步线程查询交易单相关的待冲销业务单,根据退款单对待冲销业务单进行冲销操作,并调用报账流程对冲销操作进行报账操作;通过异步线程修改退款状态为完成状态,并向终端发送退款完成的通知消息。本实施例将退款业务流程分为同步和异步两部分,通过同步线程执行校验和创建退款单操作,通过异步线程执行较为复杂繁琐的冲销操作、报账操作,避免退款业务流程全部采用同步流程导致耗时较长,可以快速进行响应用户退款请求,此外也提高了退款业务流程的稳定性,保证用户数据的准确性,提高系统稳定性和用户体验。
159.图11为本发明实施例提供的电子设备的结构示意图。本发明实施例提供的电子设备可以执行业务处理方法实施例提供的处理流程,如图11所示,电子设备80包括存储器81、
处理器82、计算机程序和通讯接口83;其中,计算机程序存储在存储器81中,并被配置为由处理器82执行以上实施例所述的业务处理方法。
160.图11所示实施例的电子设备可用于执行上述业务处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
161.另外,本实施例还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的业务处理方法。所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
162.另外,本实施例还提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现上述实施例所述的业务处理方法。
163.在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
164.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
165.另外,在本发明实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
166.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
167.本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
168.以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的范围。
169.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其
它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
170.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献