CN113919916A - 订单拆分方法、装置及电子设备 - Google Patents
订单拆分方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113919916A CN113919916A CN202111222695.4A CN202111222695A CN113919916A CN 113919916 A CN113919916 A CN 113919916A CN 202111222695 A CN202111222695 A CN 202111222695A CN 113919916 A CN113919916 A CN 113919916A
- Authority
- CN
- China
- Prior art keywords
- order
- splitting
- result
- generating
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000002093 peripheral effect Effects 0.000 claims description 13
- 238000002360 preparation method Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 abstract description 2
- 230000006872 improvement Effects 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 239000002537 cosmetic Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 210000002268 wool Anatomy 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000009333 weeding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/522—Barrier synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了订单拆分方法,包括:根据订单状态,生成待拆单消息,待拆单消息包括至少一个订单;根据订单对应的订单信息,从电商平台中获取订单对应的订单拆分维度信息及订单优惠信息;根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果;根据商品分组结果及订单,生成第一拆分结果,第一拆分结果包括至少一个子订单;根据第一拆分结果及订单优惠信息,生成目标拆分结果。实现了在电商平台高流量并发情况下,能够快速响应业务变动,进一步实现对运输成本的降低、跨店铺联合促销、提高送货时效以及控制资损风险。
Description
技术领域
本申请涉及电商领域,特别涉及一种订单拆分方法、装置及电子设备。
背景技术
互联网的发展极大程度的促进了电子商务的发展,各大电商平台快速发展,消费者***台进行购物,面对日益增加的订单,需要对订单进行拆分以降低电商平台的运营成本并且向消费者提供更好的服务。
现有技术中,存在一些应用于拆分订单的方法,但是这些方法较为简单,实现的功能也比较单一,并不能实现电商业务的快速迭代;同时也没有经过电商平台促销高并发流量的考验。
因此,亟需一种在电商平台高流量并发情况下,能够快速响应业务变动,实现对运输成本的降低、跨店铺联合促销、提高送货时效以及控制资损风险的订单拆分方法。
发明内容
本申请的主要目的在于提供一种订单拆分方法、装置及电子设备,以解决现有技术的上述技术问题。
为了达到上述目的,第一方面,本申请提供了一种订单拆分方法,所述方法包括:根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单;根据所述订单对应的订单信息,从电商平台中获取所述订单对应的订单拆分维度信息及订单优惠信息;根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果;根据所述商品分组结果及所述订单,生成第一拆分结果,所述第一拆分结果包括至少一个子订单;根据所述第一拆分结果及所述订单优惠信息,生成目标拆分结果。
进一步的,所述根据所述订单及预设的拆分策略库,生成商品分组结果,包括:根据分组需求及所述拆单策略库,生成满足所述分组需求的分组规则;根据所述分组规则及所述订单拆分维度信息,对所述待拆单消息中包含的所述订单进行分组,生成所述商品分组结果。
进一步的,所述根据分组需求及所述拆单策略库,生成满足所述分组需求的分组规则,包括:所述拆单策略库包括拆单规则及销售模式;根据所述分组需求对所述拆单规则及所述销售模式进行自由组合,生成所述分组规则。
进一步的,所述根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单,包括:将支付成功以及创建成功的所述订单写入所述待拆单消息,并将所述待拆单消息写入消息队列;用户通过监听所述消息队列,在获取到所述待拆单消息后,对所述拆单信息中的订单进行拆分处理。
进一步的,所述根据所述商品分组结果及所述订单,生成第一拆分结果,包括:当所述商品分组结果数量为一个时,所述第一拆分结果为所述订单,所述订单无需拆分;当所述商品分组结果数量为至少两个时,根据所述商品分组结果对所述订单进行拆分,生成所述第一拆分结果。
进一步的,所述根据所述第一拆分结果及订单优惠信息,生成目标拆分结果,包括:根据所述第一拆分结果及订单优惠信息,计算所述子订单对应的子订单金额及子订单优惠;根据所述第一拆分结果、所述子订单金额及所述子订单优惠,生成所述目标拆分结果。
进一步的,所述方法还包括:利用Redis全局锁对所述订单进行上锁操作;对进行上锁操作后的所述订单进行操作时,必须获取所述Redis全局锁的权限。
进一步的,所述方法还包括:将所述目标拆分结果发送至******,所述******包括支付***、财务***及积分***中的至少一项。
第二方面,本申请提供了一种订单拆分装置,所述装置包括:准备模块,用于根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单;所述准备模块还用于根据所述订单对应的订单信息,从电商平台中获取所述订单对应的订单拆分维度信息及订单优惠信息;拆分模块,用于根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果;所述拆分模块还用于根据所述商品分组结果及所述订单,生成第一拆分结果,所述第一拆分结果包括至少一个子订单;计算模块,用于根据所述第一拆分结果及所述订单优惠信息,生成目标拆分结果。
第三方面,本申请提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的内存,所述内存用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单;根据所述订单对应的订单信息,从电商平台中获取所述订单对应的订单拆分维度信息及订单优惠信息;根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果;根据所述商品分组结果及所述订单,生成第一拆分结果,所述第一拆分结果包括至少一个子订单;根据所述第一拆分结果及所述订单优惠信息,生成目标拆分结果。
本申请的实现的有益效果为:
本申请提供了一种订单拆分方法,包括:根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单;根据所述订单对应的订单信息,从电商平台中获取所述订单对应的订单拆分维度信息及订单优惠信息;根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果;根据所述商品分组结果及所述订单,生成第一拆分结果,所述第一拆分结果包括至少一个子订单;根据所述第一拆分结果及所述订单优惠信息,生成目标拆分结果。本申请利用消息队列的特性,实现了成单操作、支付操作与拆单操作的解耦,能够支撑电商平台海量流量并发拆单的性能要求;此外本申请通过建立独立的拆单策略库,能够支持快速新增或删除拆单规则,用户可以基于成本、用户体验及安全等维度来自由组合拆单规则,对订单进行拆分,以适应电商平台业务多变、快速迭代等特点;同时本申请还支持活动拆分、运费拆分、赠品拆分,提高了用户的体验感;并且本申请通过增加全局redis锁,有效的避免了重复消费、取消订单、修改订单与创建订单同时发生,控制商家资损风险,有效打击羊毛党薅赠品行为。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
图1是本申请实施例提供的拆分***逻辑架构图;
图2是本申请实施例提供的订单拆分流程图;
图3是本申请实施例提供的订单拆分方法的流程示意图;
图4是本申请实施例提供的订单拆分装置的结构示意图;
图5是本申请实施例提供的电子设备结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
一种订单拆分方法,本申请公开的订单拆分方法可应用到拆单***中,参照图1所示,首先介绍一下拆单***:
拆单***包括:订单服务***、消息队列、拆单引擎***以及******。
订单服务***,用于实时更新订单状态、存储订单对应的所有订单信息以及将待拆单消息推入消息队列。在订单状态发生改变时,判断是否需要将对应的订单写入待拆单消息并将待拆单消息推入消息队列,若用户发送创建订单、支付订单或者修改支付方式为货到付款的操作,将对应的订单信息写入待拆单消息中。
消息队列,用于接收订单服务***转发的待拆单消息,并将所述待拆单消息转发至拆单引擎***中。
拆单引擎***,用于接收消息队列转发的待拆单消息,并对待拆单消息内包含的订单进行拆分处理,生成目标拆分结果,并将目标拆分结果发送到******中。
******,用于接收目标拆分结果。
具体的,如图2所示,应用本申请实施例公开的订单拆分方法进行订单拆分的过程包括:
S100、监听消息队列;
将用户创建订单、支付订单或者修改支付方式为货到付款的操作信息写入待拆单消息,然后将待拆单消息推入消息队列。用户对消息队列进行异步监听,在监听到待拆单消息时,开始对待拆单消息中包含的订单进行拆分处理。
其中,可以认为消息队列是一个转发器,用户可以将消息推入到队列中,然后再从所述队列中取出消息,最后将消息转发给其他用户。消息就是要传输的数据,在本申请中为订单对应的订单信息,可以是最简单的文本字符串,也可以是自定义的复杂格式,只要能够按照预定格式解析出来即可,本申请在此不做限定;队列是一种先进先出数据结构,是用来存放消息的容器,消息从队尾入队,从队头出队,入队即为发消息的过程,出队即收消息的过程。
本申请通过引入消息队列,订单服务***只需要更新订单状态,其他操作由消息队列来进行转发,实现了成单操作、支付操作与拆单操作的解耦;同时引入消息队列后还能减少订单服务***内的订单状态更新、拆单引擎***内的订单拆分处理变成了异步执行,能够减少订单拆分的整体耗时,提升拆单***的吞吐量;除此以外,本申请可以根据消息队列能够转发并存储消息的特点进行限流保护,从而能够支持电商平台海量流量并发拆单的性能要求,以便接受电商平台各大促销的峰值流量考验。
S200、准备拆单所需的所有信息;
具体的,上述步骤包括:根据所述订单对应的订单信息,从电商平台中获取订单对应的订单拆分维度信息及订单优惠信息。
其中,订单拆分维度信息至少包括订单基本信息、商品维度信息、库存维度信息、供应商维度信息及销售模式信息;订单优惠信息至少包括订单活动信息、订单运费信息、订单赠品信息。
S300、对订单进行防并发处理;
当用户监听消息队列获取到待拆单消息时,拆单***开始对待拆单消息包含的订单进行拆分处理,此时待拆单消息包含的订单进入拆单引擎***。在订单进入拆单引擎***后,拆单***对该单进行Redis(Remote Dictionary Server,远程词典服务器)上锁,任何其他行为(除了拆分订单以外的所有行为)需要执行都必须首先获取锁的权限,才能进一步操作。
Redis是一个高性能的数据库,使用标准C语言,读写速度快,所述数据都在内存中完成;同时Redis支持持久化操作,数据的更新可以异步的保存到磁盘上,是一种较好的防止数据丢失的手段;此外Redis对不同数据类型的操作都是自动的,安全可靠。
本申请通过上述技术方案,能够避免发生重复消费、取消订单、修改订单与拆分订单行为同时发生,导致商家发生资产损失,有效的控制了被薅羊毛的风险。
在具体实施时,本领域技术人员可以理解的是,可以先执行拆单所需的所有信息的准备过程,或是先执行对订单进行的防并发处理过程,或是可以同时执行拆单所需的所有信息的准备过程和对订单进行的防并发处理过程。
S400、对订单进行预拆分处理,生成商品分组结果;
具体的,根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果,上述步骤包括:
建立拆分策略库,拆分策略库包括拆单规则以及销售模式。其中,如表1所示,拆单规则具体可以包括表格所示内容,但不限于表格所示内容。
表1
本申请建立的拆单策略库,独立于拆单***之外,作为独立的子***独立实现,即拆单策略库与拆单***解耦,所以本申请支持快速新增、删除拆单规则,用户可以根据需求,例如可以基于成本、用户体验及安全等维度来自由组合拆单规则,生成分组规则,或者按照销售模式定制分组规则。因此本申请公开的订单拆分方法能够适应电商平台业务多变、快速迭代等特点。
举一个简单的例子进行说明,订单包括羽毛球、乒乓球、乒乓球拍及化妆产品,羽毛球仓库所在地为华东,乒乓球及乒乓球拍仓库所在地为华南;化妆产品仓库所在地为华东。按照商品类型(第一拆单规则)可以将订单中的商品分成两组:运动产品组和化妆产品组;而按照仓库所在地(第二拆单规则)也可以将订单中的商品分为两组:华东组和华南组。基于运输成本,用户可以选择第二拆单规则作为分组规则,对订单进行商品分组,生成第一商品分组结果(仓库所在地为华东)和第二商品分组结果(仓库所在地为华南)。
S500、根据商品分组结果及订单,生成第一拆分结果,所述第一拆分结果包括至少一个子订单;
根据商品分组结果判断是否对订单进行进一步拆分处理,若经过预拆分处理生成的商品分组结果只有一个即说明无需对订单进行拆分,此时,拆单引擎***将原订单发送给******;若经过预拆分处理生成的商品分组结果至少为两个,则按照生成的商品分组结果对订单进行拆分,生成第一拆分结果;其中第一拆分结果中包含与商品分组结果对应的子订单。
S600、根据第一拆分结果及订单优惠信息,生成目标拆分结果。
根据订单优惠信息,计算原订单金额以及原订单优惠分摊到每个子订单上的子订单金额及优惠。将子订单、子订单金额及子订单优惠结合,生成目标拆分结果。本申请能够支持促销活动拆分,运费拆分以及赠品拆分,提高用户的体验感。
S700、将目标拆分结果发送至******,所述******包括支付***、财务***及积分***中的至少一项。
其中,拆单引擎***可以将目标拆分结果写入拆单结果消息中,并将拆单结果消息推入消息队列中,通过消息队列将目标拆分结果转发到******中。
实施例二
对应上述实施例,本申请提供了一种订单拆分方法,其中本实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。如图3所示,所述方法包括:
310、根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单;
优选的,所述根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单,包括:
311、将支付成功以及创建成功的所述订单写入所述待拆单消息,并将所述待拆单消息写入消息队列;
312、用户通过监听所述消息队列,在获取到所述待拆单消息后,对所述拆单信息中的订单进行拆分处理。
320、根据所述订单对应的订单信息,从电商平台中获取所述订单对应的订单拆分维度信息及订单优惠信息;
优选的,所述方法还包括:
321、利用Redis全局锁对所述订单进行上锁操作;
322、对进行上锁操作后的所述订单进行操作时,必须获取所述Redis全局锁的权限。
330、根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果;
优选的,所述根据所述订单及预设的拆分策略库,生成商品分组结果,包括:
331、根据分组需求及所述拆单策略库,生成满足所述分组需求的分组规则;
332、根据所述分组规则及所述订单拆分维度信息,对所述待拆单消息中包含的所述订单进行分组,生成所述商品分组结果。
优选的,所述根据分组需求及所述拆单策略库,生成满足所述分组需求的分组规则,包括:
333、所述拆单策略库包括拆单规则及销售模式;根据所述分组需求对所述拆单规则及所述销售模式进行自由组合,生成所述分组规则。
340、根据所述商品分组结果及所述订单,生成第一拆分结果,所述第一拆分结果包括至少一个子订单;
优选的,所述根据所述商品分组结果及所述订单,生成第一拆分结果,包括:
341、当所述商品分组结果数量为一个时,所述第一拆分结果为所述订单,所述订单无需拆分;
342、当所述商品分组结果数量为至少两个时,根据所述商品分组结果对所述订单进行拆分,生成所述第一拆分结果。
350、根据所述第一拆分结果及所述订单优惠信息,生成目标拆分结果。
优选的,所述根据所述第一拆分结果及订单优惠信息,生成目标拆分结果,包括:
351、根据所述第一拆分结果及订单优惠信息,计算所述子订单对应的子订单金额及子订单优惠;
352、根据所述第一拆分结果、所述子订单金额及所述子订单优惠,生成所述目标拆分结果。
优选的,所述方法还包括:
353、将所述目标拆分结果发送至******,所述******包括支付***、财务***及积分***中的至少一项。
实施例三
对应实施例一及实施例二,本申请提供了一种订单拆分装置,其中本实施例中,与上述实施例一及实施例二相同或相似的内容,可以参考上文介绍,后续不再赘述。
如图4所示,所述装置包括:准备模块,用于根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单;所述准备模块还用于根据所述订单对应的订单信息,从电商平台中获取所述订单对应的订单拆分维度信息及订单优惠信息;拆分模块,用于根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果;所述拆分模块还用于根据所述商品分组结果及所述订单,生成第一拆分结果,所述第一拆分结果包括至少一个子订单;计算模块,用于根据所述第一拆分结果及所述订单优惠信息,生成目标拆分结果。
优选的,所述拆分模块还用于:根据分组需求及所述拆单策略库,生成满足所述分组需求的分组规则;根据所述分组规则及所述订单拆分维度信息,对所述待拆单消息中包含的所述订单进行分组,生成所述商品分组结果。
优选的,所述拆单策略库包括拆单规则及销售模式;所述拆分模块:还用于根据所述分组需求对所述拆单规则及所述销售模式进行自由组合,生成所述分组规则。
优选的,所述准备模块还用于:将支付成功以及创建成功的所述订单写入所述待拆单消息,并将所述待拆单消息写入消息队列;用户通过监听所述消息队列,在获取到所述待拆单消息后,对所述拆单信息中的订单进行拆分处理。
优选的,所述拆分模块还用于:当所述商品分组结果数量为一个时,所述第一拆分结果为所述订单,所述订单无需拆分;当所述商品分组结果数量为至少两个时,根据所述商品分组结果对所述订单进行拆分,生成所述第一拆分结果。
优选的,所述计算模块还用于:根据所述第一拆分结果及订单优惠信息,计算所述子订单对应的子订单金额及子订单优惠;根据所述第一拆分结果、所述子订单金额及所述子订单优惠,生成所述目标拆分结果。
优选的,所述准备模块还用于:利用Redis全局锁对所述订单进行上锁操作;对进行上锁操作后的所述订单进行操作时,必须获取所述Redis全局锁的权限。
具体地,所述装置所包括的各个模块还可以执行上述实施例一或实施例二中所示方法所包括的各个步骤或操作,具体内容可以参考上文中的详细描述,为描述简便,此处不作赘述。
实施例四
对应上述所有实施例,本申请实施例提供一种电子设备,包括:
一个或多个处理器;以及与所述一个或多个处理器关联的内存,所述内存用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单;根据所述订单对应的订单信息,从电商平台中获取所述订单对应的订单拆分维度信息及订单优惠信息;根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果;根据所述商品分组结果及所述订单,生成第一拆分结果,所述第一拆分结果包括至少一个子订单;根据所述第一拆分结果及所述订单优惠信息,生成目标拆分结果。
具体地,所述程序指令在被所述一个或多个处理器读取执行时,还可以执行上述实施例一或实施例二中所示方法中的各项步骤或操作,为描述简便,此处不作赘述。
其中,图5示例性的展示出了电子设备的架构,具体可以包括处理器510,视频显示适配器511,磁盘驱动器512,输入/输出接口513,网络接口514,以及存储器520。上述处理器510、视频显示适配器511、磁盘驱动器512、输入/输出接口513、网络接口514,与存储器520之间可以通过总线530进行通信连接。
其中,处理器510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器520可以存储用于控制电子设备500运行的操作***521,用于控制电子设备500的低级别操作的基本输入输出***(BIOS)522。另外,还可以存储网页浏览器523,数据存储管理***524,以及图标字体处理***525等等。上述图标字体处理***525就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器520中,并由处理器510来调用执行。输入/输出接口513用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。网络接口514用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。总线530包括一通路,在设备的各个组件(例如处理器510、视频显示适配器511、磁盘驱动器512、输入/输出接口513、网络接口514,与存储器520)之间传输信息。另外,该电子设备500还可以从虚拟资源对象领取条件信息数据库中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器510、视频显示适配器511、磁盘驱动器512、输入/输出接口513、网络接口514,存储器520,总线530等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁盘、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的***及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种订单拆分方法,其特征在于,所述方法包括:
根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单;
根据所述订单对应的订单信息,从电商平台中获取所述订单对应的订单拆分维度信息及订单优惠信息;
根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果;
根据所述商品分组结果及所述订单,生成第一拆分结果,所述第一拆分结果包括至少一个子订单;
根据所述第一拆分结果及所述订单优惠信息,生成目标拆分结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述订单及预设的拆分策略库,生成商品分组结果,包括:
根据分组需求及所述拆单策略库,生成满足所述分组需求的分组规则;
根据所述分组规则及所述订单拆分维度信息,对所述待拆单消息中包含的所述订单进行分组,生成所述商品分组结果。
3.根据权利要求2所述的方法,其特征在于,所述根据分组需求及所述拆单策略库,生成满足所述分组需求的分组规则,包括:
所述拆单策略库包括拆单规则及销售模式;
根据所述分组需求对所述拆单规则及所述销售模式进行自由组合,生成所述分组规则。
4.根据权利要求1任一项所述的方法,其特征在于,所述根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单,包括:
将支付成功以及创建成功的所述订单写入所述待拆单消息,并将所述待拆单消息写入消息队列;
用户通过监听所述消息队列,在获取到所述待拆单消息后,对所述拆单信息中的订单进行拆分处理。
5.根据权利要求1-4任一项所述的方法,所述根据所述商品分组结果及所述订单,生成第一拆分结果,包括:
当所述商品分组结果数量为一个时,所述第一拆分结果为所述订单,所述订单无需拆分;
当所述商品分组结果数量为至少两个时,根据所述商品分组结果对所述订单进行拆分,生成所述第一拆分结果。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述第一拆分结果及订单优惠信息,生成目标拆分结果,包括:
根据所述第一拆分结果及订单优惠信息,计算所述子订单对应的子订单金额及子订单优惠;
根据所述第一拆分结果、所述子订单金额及所述子订单优惠,生成所述目标拆分结果。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述方法包括:
利用Redis全局锁对所述订单进行上锁操作;
对进行上锁操作后的所述订单进行操作时,必须获取所述Redis全局锁的权限。
8.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
将所述目标拆分结果发送至******,所述******包括支付***、财务***及积分***中的至少一项。
9.一种订单拆分装置,其特征在于,所述装置包括:
准备模块,用于根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单;
所述准备模块还用于根据所述订单对应的订单信息,从电商平台中获取所述订单对应的订单拆分维度信息及订单优惠信息;
拆分模块,用于根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果;
所述拆分模块还用于根据所述商品分组结果及所述订单,生成第一拆分结果,所述第一拆分结果包括至少一个子订单;
计算模块,用于根据所述第一拆分结果及所述订单优惠信息,生成目标拆分结果。
10.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
以及与所述一个或多个处理器关联的内存,所述内存用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
根据订单状态,生成待拆单消息,所述待拆单消息包括至少一个订单;
根据所述订单对应的订单信息,从电商平台中获取所述订单对应的订单拆分维度信息及订单优惠信息;
根据待拆单消息及预设的拆分策略库,生成至少一个商品分组结果;
根据所述商品分组结果及所述订单,生成第一拆分结果,所述第一拆分结果包括至少一个子订单;
根据所述第一拆分结果及所述订单优惠信息,生成目标拆分结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111222695.4A CN113919916A (zh) | 2021-10-20 | 2021-10-20 | 订单拆分方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111222695.4A CN113919916A (zh) | 2021-10-20 | 2021-10-20 | 订单拆分方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113919916A true CN113919916A (zh) | 2022-01-11 |
Family
ID=79241535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111222695.4A Pending CN113919916A (zh) | 2021-10-20 | 2021-10-20 | 订单拆分方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113919916A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115511559A (zh) * | 2022-09-16 | 2022-12-23 | 广州方舟信息科技有限公司 | 一种包含虚拟商品交易的订单履约方法及*** |
CN117474617A (zh) * | 2023-09-28 | 2024-01-30 | 威科寰球(武汉)电子商务有限公司 | 线上商单拆解商业模式及*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040054592A1 (en) * | 2002-09-13 | 2004-03-18 | Konrad Hernblad | Customer-based wireless ordering and payment system for food service establishments using terminals and mobile devices |
CN104463544A (zh) * | 2014-12-16 | 2015-03-25 | 北京京东尚科信息技术有限公司 | 一种防止订单拆分套取的方法和*** |
CN104537515A (zh) * | 2015-01-20 | 2015-04-22 | 北京京东尚科信息技术有限公司 | 一种订单拆分方法和装置 |
CN106886874A (zh) * | 2017-01-24 | 2017-06-23 | 武汉奇米网络科技有限公司 | 一种订单拆分发货***及拆分发货方法 |
CN106991588A (zh) * | 2017-02-21 | 2017-07-28 | 河北翼虎网络科技有限公司 | 一种订单拆分方法以及订单生成方法 |
CN109146646A (zh) * | 2018-09-25 | 2019-01-04 | 北京三快在线科技有限公司 | 拆单结算方法、装置、电子设备及计算机可读介质 |
CN111144970A (zh) * | 2019-11-18 | 2020-05-12 | 珠海随变科技有限公司 | 一种拆单方法、装置、电子设备以及可读介质 |
WO2020244202A1 (zh) * | 2019-06-05 | 2020-12-10 | 北京极智嘉科技有限公司 | 订单处理方法、装置、设备和存储介质 |
CN112990823A (zh) * | 2021-03-29 | 2021-06-18 | 武汉虹信技术服务有限责任公司 | 一种实现库存管理的方法、***及存储介质 |
-
2021
- 2021-10-20 CN CN202111222695.4A patent/CN113919916A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040054592A1 (en) * | 2002-09-13 | 2004-03-18 | Konrad Hernblad | Customer-based wireless ordering and payment system for food service establishments using terminals and mobile devices |
CN104463544A (zh) * | 2014-12-16 | 2015-03-25 | 北京京东尚科信息技术有限公司 | 一种防止订单拆分套取的方法和*** |
CN104537515A (zh) * | 2015-01-20 | 2015-04-22 | 北京京东尚科信息技术有限公司 | 一种订单拆分方法和装置 |
CN106886874A (zh) * | 2017-01-24 | 2017-06-23 | 武汉奇米网络科技有限公司 | 一种订单拆分发货***及拆分发货方法 |
CN106991588A (zh) * | 2017-02-21 | 2017-07-28 | 河北翼虎网络科技有限公司 | 一种订单拆分方法以及订单生成方法 |
CN109146646A (zh) * | 2018-09-25 | 2019-01-04 | 北京三快在线科技有限公司 | 拆单结算方法、装置、电子设备及计算机可读介质 |
WO2020244202A1 (zh) * | 2019-06-05 | 2020-12-10 | 北京极智嘉科技有限公司 | 订单处理方法、装置、设备和存储介质 |
CN111144970A (zh) * | 2019-11-18 | 2020-05-12 | 珠海随变科技有限公司 | 一种拆单方法、装置、电子设备以及可读介质 |
CN112990823A (zh) * | 2021-03-29 | 2021-06-18 | 武汉虹信技术服务有限责任公司 | 一种实现库存管理的方法、***及存储介质 |
Non-Patent Citations (3)
Title |
---|
CSDN博客: "RabbitMQ应用场景(二)", pages 2, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_43276786/article/details/93111625> * |
百家号: "订单中心:订单拆分的设计思路", pages 1, Retrieved from the Internet <URL:https://baijiahao.***.com/s?id=1673878388825976491&wfr=spider&for=pc> * |
脚本之家: "PHP实现Redis单据锁以及防止并发重复写入", pages 1, Retrieved from the Internet <URL:https://www.jb51.net/article/137992.htm> * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115511559A (zh) * | 2022-09-16 | 2022-12-23 | 广州方舟信息科技有限公司 | 一种包含虚拟商品交易的订单履约方法及*** |
CN117474617A (zh) * | 2023-09-28 | 2024-01-30 | 威科寰球(武汉)电子商务有限公司 | 线上商单拆解商业模式及*** |
CN117474617B (zh) * | 2023-09-28 | 2024-04-26 | 伟吉鑫(湖北)电子科技有限公司 | 线上商单拆解方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11587111B2 (en) | Methods and systems for automatically testing and applying codes to electronic shopping carts | |
CN113919916A (zh) | 订单拆分方法、装置及电子设备 | |
WO2014083880A1 (ja) | 在庫切れ通知システム、在庫切れ通知装置、在庫切れ通知方法、及びプログラム | |
CN109191233B (zh) | 一种秒杀下单请求处理方法、装置和存储介质 | |
CN108985809A (zh) | 激励推送的方法、装置、电子设备和存储介质 | |
US20120204102A1 (en) | Computer system and method for generating client-side software demonstrations | |
WO2016014986A1 (en) | Methods and apparatus for unified inventory and financial transaction management | |
CN104866252A (zh) | Pos***、数据处理装置以及pos***的控制方法 | |
CN110866008B (zh) | 一种数据处理方法、装置、*** | |
WO2012045154A1 (en) | System and method of capturing point-of-sale data and providing real-time advertising content | |
CN111192089B (zh) | 一种电子券的生成方法、装置及计算机*** | |
US9201851B2 (en) | Methods and apparatus for in-line editing of web page content stored in multiple data stores | |
CN107679988A (zh) | 基金组合购买方法、***及存储介质 | |
JP7283084B2 (ja) | 処理装置、処理方法及びプログラム | |
US9626716B1 (en) | Method, medium, and system for associating graphical icons with destination addresses using drag and drop | |
JP2010205023A (ja) | ネットショッピング管理装置 | |
US9672561B1 (en) | Fail-safe ordering | |
CN111435484A (zh) | 任务协同处理方法、装置、设备和*** | |
CN113592470A (zh) | 业务处理方法、装置、电子设备以及存储介质 | |
JP6201045B2 (ja) | 携帯型端末用アプリ形態の電子商店システム及びその電子商取引方法とアプリジェネレータ | |
US9384012B2 (en) | Standalone data entry for backend system | |
CN107705070B (zh) | Erp***中的物料信息录入方法、装置、计算机设备 | |
US9779373B1 (en) | Item flow visualization for outbound fulfillment | |
JP2022501672A (ja) | 小売取引におけるネットワークベースの付加価値トークン | |
JP2021082110A (ja) | 情報処理方法、情報処理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |