订单数据处理方法和处理装置制造方法及图纸

技术编号:13913432 阅读:51 留言:0更新日期:2016-10-27 09:30
在本发明专利技术的实施例中,根据拆分原则将一个父订单拆分为多个第一子订单;判断所述父订单的订单号在防重表是否存在;如果父订单的订单号在防重表中已经存在,获取父订单对应的多个第二子订单的校验码和子订单号;根据每个第一子订单的特征字段生成第一子订单的校验码;以及比较第一子订单和第二子订单的校验码,确定每个第一子订单的子订单号。本发明专利技术通过校验码保证多次拆分的顺序一致,减少问题订单的出现。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体涉及一种订单数据处理方法和拆分装置。
技术介绍
中国专利号为CN104504548A提供的订单防重复生成的方案是,通过将订单写入防重表进行防重复。此方案是将拆分后的父单号和子单号信息都存储到防重表中,然后判断父单号在防重表中是否存在,如果存在将子订单号取出来赋值到当前订单中,从而实现防重的功能。现有方案存在缺点是,首先通过父单号查找到子单号后,并不能确定子订单号的回填顺序,比如A订单总金额100元,拆分子订单金额顺序分别是20元和80元,但是当A发生重复拆单请求时,拆分子订单金额顺序分别是80元和20元,此种情况如果直接通过父订单号防重,取出来的订单号对应的订单正好是相反的,后续订单对账、生产都会产生问题。其次,当前方案没有从源头上控制订单号生成的重复,每次订单拆分时还是要去获取子订单号,然后进行防重复。将已生成的子订单号废弃,也是一种资源浪费。
技术实现思路
有鉴于此,本专利技术提供一种订单数据处理方法和拆分装置,用于解决上述问题。根据本专利技术的第一方面,本专利技术提供一种订单数据处理方法,包括:根据拆分原则将一个父订单拆分为多个第一子订单;判断所述父订单的订单号在防重表是否存在;如果所述父订单的订单号已经存在,获取所述父订单对应的多个第二子订单的校验码和子订单号;根据所述第一子订单的特征字段生成所述第一子订单的校验码;以及比较所述第一子订单和所述第二子订单的校验码,确定每个所述第一子订单的子订单号。可选地,所述比较所述第一子订单和第二子订单的校验码,确定每个所述第一子订单的子订单号包括:比较所述第一子订单和所述第二子订单的校验码;以及将所述第一子订单的子订单号设置为具有相同的校验码的第二子订单的子订单号。可选地,还包括:如果所述父订单的订单号在所述防重表不存在,生成多个所述第一子订单的子订单号。可选地,还包括:将所述第一子订单的校验码和子订单号以及所述父订单的订单号存储到所述防重表中。可选地,所述防重表包括多个各自独立的分表,所述将所述第一子订单的校验码和子订单号以及所述父订单的订单号存储到所述防重表为:计算所述父订单的订单号和分表个数的余数,以及根据所述余数将所述第一子订单的校验码和子订单号以及所述父订单的订单号存储在不同的分表中。可选地,所述防重表包括多个各自独立的分表,所述将所述第一子订单的校验码和子订单号以及所述父订单的订单号存储到所述防重表为:将所述第一子订单的校验码和子订单号以及所述父订单的订单号随机存储到所述防重表的分表中。可选地,还包括:将所述第一子订单的校验码和子订单号以及所述父订单的订单号随机存储到所述防重表的分表中之后,将所述第一子订单的校验码和子订单号以及所述父订单的订单号存储到缓存中。可选地,所述判断所述父订单的订单号在防重表是否存在包括:通过检索缓存判断所述父订单的订单号在所述防重表是否存在。可选地,还包括:定期删除缓存中已经生产的订单对应的防重数据。可选地,所述防重表通过REDIS数据库存储。根据本专利技术的第二方面,本专利技术提供一种订单数据处理装置,包括:拆分模块,用于根据拆分原则将一个父订单拆分为多个第一子订单;判断模块,用于判断所述父订单的订单号在防重表是否存在;获取模块,用于如果所述父订单的订单号在所述防重表中已经存在,获取所述父订单对应的多个第二子订单的校验码和子订单号;生成模块,用于根据所述第一子订单的特征字段生成所述第一子订单的校验码;确定模块,用于比较所述第一子订单和第二子订单的校验码,确定每个所述第一子订单的子订单号。可选地,所述确定模块包括:第一比较单元,用于比较所述第一子订单和所述第二子订单的校验码;设置单元,用于将所述第一子订单的子订单号设置为具有相同的校验码的第二子订单的子订单号。可选地,还包括:子订单号生成模块,用于如果所述父订单的订单号在所述防重表中不存在,生成多个所述第一子订单的子订单号;存储模块,用于将所述第一子订单的校验码和子订单号以及所述父订单的订单号存储到所述防重表中。在本专利技术的实施例中,判断父订单的订单号在防重表是否存在,以此确定是否生成子订单号,从而从源头上阻止了同一订单重复获取子订单号,在防重表中存储校验码,根据校验码比较确定子订单号,保证父订单每次拆分的顺序都一样,防止了问题订单的产生。附图说明通过参照以下附图对本专利技术实施例的描述,本专利技术的上述以及其它目的、特征和优点将更为清楚,在附图中:图1是根据本专利技术实施例的订单数据处理方法的示意图;图2是根据本专利技术另一实施例的订单数据处理方法的流程图;图3是根据本专利技术另一实施例的订单数据处理方法的流程图;图4是根据本专利技术实施例的订单数据处理装置的结构图。具体实施方式以下基于实施例对本专利技术进行描述,但是本专利技术并不仅仅限于这些实施例。在下文对本专利技术的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本专利技术。为了避免混淆本专利技术的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。在本专利技术的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。图1是根据本专利技术实施例的订单数据处理方法的示意图。所述订单数据处理方法包括步骤100-104。在步骤100中,根据拆分原则将父订单拆分为多个第一子订单。如
技术介绍
中所述,通过拆分原则可以将一个父订单拆分成多个子订单。拆分原则可以是各种适合的规则,例如按照不同的商家进行拆分,也可以根据不同商品存放的库房进行拆分。例如在一个父订单上,包括了用户要购买的商品A、B、C、D四种商品,其中,商品A存放在甲地的仓库中;商品B存放在乙地的仓库中;商品C存放在甲地的仓库中;商品D存放在乙地的仓库中,因此,可以按照商品存放库房的不同进行拆分,可以拆分为两个子订单,一个子订单为包括商品A、C的订单;另一个子订单为包括商品B、D的订单。在本步骤中,虽然将父订单拆分成多个子订单,但是暂时不生成每个子订单的子订单号。因为有可能该订单属于重复拆分的订单,其子订单号可以从防重表中检索到。父订单经过拆分后,父订单上的商品信息、支付信息、配送中心等属性按拆分规则分配到子订单上。在步骤101中,判断父订单的订单号在防重表是否存在。如果存在,执行步骤102。在步骤102中,如果父订单的订单号在防重表中存在,获取订单对应的多个第二子订单的校验码和子订单号。父订单的订单号在防重表中存在,说明该订单以前拆分过,本次拆分属于重复拆分。在步骤103中,根据每个第一子订单的特征字段生成第一子订单的校验码。所述特征字段为能够体现订单特性信息的字段。例如,前述A、B、C、D的订单,拆分成A、C和B、D的两个子订单,由于A、B、C和D都具有唯一的商品标识码,所以可以根据将他们各自的商品标识码生成唯一校验码。本领域的技术人员应当理解,这里的校验码仅用于区分不同的子订单,所以应该选择值不同的属性字段生成校验码,诸如,上述的商品标识码,或,A、B、C和D的商品名称或价格(如果价格不等)。在步骤104中,比较第一子订单和第二子订单的校验码,确定每个第二子订单的子订单号。在本步骤中,分别比较多个第一子订单和第二子订单的校验码,以确定每个第一子订单的订单号。可选地,将第一子订单的子订单号本文档来自技高网
...

【技术保护点】
一种订单数据处理方法,包括:根据拆分原则将一个父订单拆分为多个第一子订单;判断所述父订单的订单号在防重表是否存在;如果所述父订单的订单号已经存在,获取所述父订单对应的多个第二子订单的校验码和子订单号;根据所述第一子订单的特征字段生成所述第一子订单的校验码;以及比较所述第一子订单和所述第二子订单的校验码,确定每个所述第一子订单的子订单号。

【技术特征摘要】
1.一种订单数据处理方法,包括:根据拆分原则将一个父订单拆分为多个第一子订单;判断所述父订单的订单号在防重表是否存在;如果所述父订单的订单号已经存在,获取所述父订单对应的多个第二子订单的校验码和子订单号;根据所述第一子订单的特征字段生成所述第一子订单的校验码;以及比较所述第一子订单和所述第二子订单的校验码,确定每个所述第一子订单的子订单号。2.根据权利要求1所述的订单数据处理方法,其中,所述比较所述第一子订单和第二子订单的校验码,确定每个所述第一子订单的子订单号包括:比较所述第一子订单和所述第二子订单的校验码;以及将所述第一子订单的子订单号设置为具有相同的校验码的第二子订单的子订单号。3.根据权利要求1所述的订单数据处理方法,还包括:如果所述父订单的订单号在所述防重表不存在,生成多个所述第一子订单的子订单号。4.根据权利要求3所述的订单数据处理方法,还包括:将所述第一子订单的校验码和子订单号以及所述父订单的订单号存储到所述防重表中。5.根据权利要求4所述的订单数据处理方法,其中,所述防重表包括多个各自独立的分表,所述将所述第一子订单的校验码和子订单号以及所述父订单的订单号存储到所述防重表为:计算所述父订单的订单号和分表个数的余数,以及根据所述余数将所述第一子订单的校验码和子订单号以及所述父订单的订单号存储在不同的分表中。6.根据权利要求4所述的订单数据处理方法,其中,所述防重表包括多个各自独立的分表,所述将所述第一子订单的校验码和子订单号以及所述父订单的订单号存储到所述防重表为:将所述第一子订单的校验码和子订单号以及所述父订单的订单号随机存储到所述防重表的分表中。7.根据权要求6所...

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

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

1