CN111523971A - 一种购买操作共享方法及装置 - Google Patents
一种购买操作共享方法及装置 Download PDFInfo
- Publication number
- CN111523971A CN111523971A CN202010308005.6A CN202010308005A CN111523971A CN 111523971 A CN111523971 A CN 111523971A CN 202010308005 A CN202010308005 A CN 202010308005A CN 111523971 A CN111523971 A CN 111523971A
- Authority
- CN
- China
- Prior art keywords
- purchase
- order
- current
- client
- sub
- 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.)
- Withdrawn
Links
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
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种购买操作共享方法及装置,属于互联网领域。本发明实施例提供的购买操作共享方法及装置通过获取多个客户端发送的购买订单,其中,每个客户端均与当前购买操作绑定,根据所获取的多个所述购买订单生成一个购买总订单,并且,群主客户端可以修改任一子订单,生成购买订单,有效地实现了多个客户端共享同一个购买操作,即可以实现多个用户共享同一个购物操作,并增加了群主用户对共享购买操作的权限。
Description
本申请要求于2016年8月19日提交国家知识产权局、申请号为201610694459.5、发明名称为“一种购买操作共享方法及装置”的发明专利申请的作为本申请母案,其全部内容通过引用结合在本申请中。
技术领域
本发明属于互联网领域,具体而言,涉及一种购买操作共享方法及装置。
背景技术
随着互联网的普及,网购在人们生活中的使用越来越普遍化。现有的网购方式大多为每一个用户对应于一个购物车,即不同用户的购买操作是相互独立存在的,无法实现多个用户共享同一个购买操作。例如,网上点餐时,由于不同用户的购买操作是相互独立存在的,无法实现多个用户共享同一个购买操作,当相互认识的多个人想要在同一个商家一起点餐时,大多会事先根据该商家所包括的菜品商量出需要点的菜品以及相应的数量,然后再由其中一个人根据商量结果构建购买操作并下单。或者,先由其中一个人单独构建购买操作后,将其构建的购买操作分享给其他人,其他人按照事先商量好的顺序依次基于已存在的购买操作构建新的购买操作,并也将各自构建的购买操作分享给其他人,当每一个人对其他人的购买操作均无异议时,分别对自己构建的购买操作下单。
发明内容
本发明的目的在于提供一种购买操作共享方法及装置,能够实现多个客户端共享一个购买操作。
本说明书实施例采用下述技术方案:
本说明书提供的一种购买操作共享方法,包括:
根据群主客户端的操作,向所述群主客户端发送当前商家页面,展示包含购买操作入口的当前商家页面;
获取所述群主客户端根据监测到的用户对当前商家页面中所述购买操作入口的操作发送的创建请求,所述创建请求中携带所述购买操作入口对应标识;
根据所述创建请求创建当前购买操作,并生成创建完成指令,确定并存储所述群主客户端以及所述当前购买操作之间的绑定关系;
根据多个成员客户端的操作,向每个成员客户端发送所述当前商家页面,展示包含所述购买操作入口的所述当前商家页面;
获取所述多个成员客户端根据监测到的对所述购买操作入口的操作发送的购买请求,所述购买请求中携带所述购买操作入口对应标识;
根据获取的购买请求以及存储的绑定关系,从多个成员客户端中,确定购买操作入口对应标识相同的成员客户端,确定并更新所述当前购买操作与确定出的每个成员客户端的绑定关系;
根据所述当前购买操作创建多个子订单,确定与所述当前购买操作绑定的群主客户端的身份信息以及所述成员客户端的身份信息,设置记录每个子订单与绑定的客户端的身份信息的对应关系的第一对应表,其中,每一个子订单与一个客户端绑定,所述子订单用于记录对应的客户端所购买的商品种类以及数量;
根据所述当前购买操作创建购买总订单,所述购买总订单包含多个子订单;
将所述购买总订单发送至与所述当前购买操作绑定的群主客户端及所有成员客户端,在所述群主客户端中展示包含所述购买总订单的修改操作入口的商品列表界面,在所有成员客户端中展示包含自身绑定的子订单的修改操作入口的商品列表界面,其中,所述购买总订单的修改操作入口,用于对所述购买总订单包含的子订单进行修改;
接收所述群主客户端根据用户对所述购买总订单的修改操作入口的修改操作创建的购买订单,以及接收所述成员客户端根据用户对自身绑定的子订单的修改操作入口的修改操作创建的购买订单,其中,所述购买订单携带有子订单的身份信息;
按照接收到的购买订单的时间顺序,依次将每个购买订单作为当前购买订单,并针对每个当前购买订单,根据该当前购买订单携带的身份信息以及所述第一对应表,查找与该当前购买订单对应的子订单;
判断所述购买订单中欲更新商品的数量变化起点与查找到子订单中的商品数量是否一致;
当欲更新商品的数量变化起点与所找到的商品对应的数量一致时,根据当前购买订单更新对应的子订单,确定更新后的购买总订单,将更新后的购买总订单发送到每个客户端;
当根据存储的绑定关系确定接收到与所述当前购买操作绑定的任意一个客户端发送购买完成指令时,将更新后的购买总订单发送至当前购买操作对应的商家。
可选地,预先针对于每一个商家预先创建多个购买操作;
将当前商家的每一个购买操作与所有客户端中该当前商家页面上的一个购买操作入口关联;
其中,每一个购买操作入口均具有不同的特定标识,不同的特定标识对应于不同的购买操作。
可选地,获取所述群主客户端根据监测到的对所述购买操作入口的操作发送的创建请求,具体包括:
获取群主客户端发送的携带购买操作入口的特定标识的创建请求;
根据所述创建请求创建当前购买操作,具体包括:
根据所述特定标识,将发送所述创建请求的群主客户端与所述特定标识对应的购买操作绑定,将绑定的购买操作作为当前购买操作。
可选地,所述方法还包括:发送一个标记信息到所有客户端以对该购买操作入口进行标记,表示该购买操作入口对应的购买操作已绑定有客户端。
可选地,预先针对于每一个商家预先创建多个购买操作,具体包括:
预先针对于每一个商家预先创建多个购买操作,并为每一个购买操作关联一个标识序列。
可选地,根据所述创建请求创建当前购买操作,将所述群主客户端与所述当前购买操作绑定,具体包括:
根据群主客户端通过商家页面发送的获取请求,从为所述商家页面对应的商家预先创建的多个标识序列中,确定一个未绑定有客户端的购买操作的标识序列,并将所述标识序列返回所述群主客户端;
接收所述群主客户端发送的携带有所述标识序列的绑定请求,根据获取到的绑定请求所包括的标识序列将发送该绑定请求的所述群主客户端与对应的购买操作绑定。
可选地,所述群主客户端发送的创建请求中携带有第一标号,将所述第一标号作为所述当前购买操作的身份标识,存储身份标识与购买操作的第三对应表;
所述方法还包括:
根据所述第三对应表,查找到与所述第一标号匹配的购买操作的身份标识时,将所述群主客户端加入查找到的购买操作,成为所述查找到的购买操作的一个成员客户端。
可选地,当前购买订单包括欲更新商品的数量变化终点;
根据当前购买订单更新对应的子订单,具体包括:
当对应的子订单中存在与欲更新商品的种类一致的商品时,将对应的子订单中欲更新商品的数量更新为当前购买订单中欲更新商品的数量变化终点;
当对应的子订单中不存在与欲更新商品的种类一致的商品时,将当前购买订单中欲更新商品添加到对应的子订单中,且数量为当前购买订单中欲更新商品的数量变化终点。
可选地,所述方法还包括:
从创建当前购买操作时开始计时,当计时时间达到预设时间值时,若仍未收到购买完成指令,将更新后的购买总订单发送至当前购买操作对应的商家。
本发明实施例还提供了一种购买操作共享装置,所述装置包括:
创建请求获取模块,用于根据群主客户端的操作,向所述群主客户端发送当前商家页面,展示包含购买操作入口的当前商家页面;获取所述群主客户端根据监测到的用户对当前商家页面中所述购买操作入口的操作发送的创建请求,所述创建请求中携带所述购买操作入口对应标识;
购买操作创建模块,用于根据所述创建请求创建当前购买操作,并生成创建完成指令,确定并存储所述群主客户端以及所述当前购买操作之间的绑定关系;
购买请求获取模块,根据多个成员客户端的操作,向每个成员客户端发送所述当前商家页面,展示包含所述购买操作入口的所述当前商家页面;获取所述多个成员客户端根据监测到的对所述购买操作入口的操作发送的购买请求,所述购买请求中携带所述购买操作入口对应标识;
绑定模块,用于根据获取的购买请求以及存储的绑定关系,从多个成员客户端中,确定购买操作入口对应标识相同的成员客户端,确定并更新所述当前购买操作与确定出的每个成员客户端的绑定关系;
子订单创建模块,用于根据所述当前购买操作创建多个子订单,确定与所述当前购买操作绑定的群主客户端的身份信息以及所述成员客户端的身份信息,设置记录每个子订单与绑定的客户端的身份信息的对应关系的第一对应表,其中,每一个子订单与一个客户端绑定,所述子订单用于记录对应的客户端所购买的商品种类以及数量;
订单获取模块,用于根据所述当前购买操作创建购买总订单,所述购买总订单包含多个子订单;将所述购买总订单发送至与所述当前购买操作绑定的群主客户端及所有成员客户端,在所述群主客户端中展示包含所述购买总订单的修改操作入口的商品列表界面,在所有成员客户端中展示包含自身绑定的子订单的修改操作入口的商品列表界面,其中,所述购买总订单的修改操作入口,用于对所述购买总订单包含的子订单进行修改;接收所述群主客户端根据用户对所述购买总订单的修改操作入口的修改操作创建的购买订单,以及接收所述成员客户端根据用户对自身绑定的子订单的修改操作入口的修改操作创建的购买订单,其中,所述购买订单携带有子订单的身份信息;
总订单生成模块,用于将更新后的购买总订单发送至当前购买操作对应的商家;
所述总订单生成模块包括:
子订单更新单元,用于按照接收到的购买订单的时间顺序,依次将每个购买订单作为当前购买订单,并针对每个当前购买订单,根据该当前购买订单携带的身份信息以及所述第一对应表,查找与该当前购买订单对应的子订单;判断所述购买订单中欲更新商品的数量变化起点与查找到子订单中的商品数量是否一致;当欲更新商品的数量变化起点与所找到的商品对应的数量一致时,根据当前购买订单更新对应的子订单,确定更新后的购买总订单;
发送单元,用于将更新后的购买总订单发送到每个客户端;
第二生成单元,当根据存储的绑定关系确定接收到与所述当前购买操作绑定的任意一个客户端发送购买完成指令时,将更新后的购买总订单发送至当前购买操作对应的商家。
本发明实施例提供的购买操作共享方法及装置通过获取多个客户端发送的购买订单,其中,每个客户端均与当前购买操作绑定,根据所获取的多个所述购买订单生成一个购买总订单,并且,群主客户端可以修改任一子订单,生成购买订单,有效地实现了多个客户端共享同一个购买操作,即可以实现多个用户共享同一个购物操作,并增加了群主用户对共享购买操作的权限。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。
图1为本发明一实施例提供的一种购买操作共享***的交互示意图;
图2为本发明一实施例提供的服务器的结构框图;
图3为本发明一实施例提供的一种购买操作共享方法的方法流程图;
图4为本发明另一实施例提供的一种购买操作共享方法的方法流程图;
图5为本发明另一实施例提供的一种购买操作共享方法的方法流程图;
图6为本发明另一实施例提供的一种购买操作共享方法的方法流程图;
图7为本发明另一实施例提供的一种购买操作共享方法的方法流程图;
图8为本发明另一实施例提供的一种购买操作共享***的交互示意图;
图9为本发明另一实施例提供的一种购买操作共享方法的方法流程图;
图10为本发明一实施例提供的一种购买操作共享装置的结构框图;
图11为本发明另一实施例提供的一种购买操作共享装置的结构框图;
图12为本发明另一实施例提供的一种购买操作共享装置的结构框图;
图13为本发明另一实施例提供的一种购买操作共享装置的结构框图;
图14为本发明另一实施例提供的一种购买操作共享装置的结构框图;
图15为本发明另一实施例提供的一种购买操作共享装置的结构框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参阅图1,示出了一种购买操作共享***。购买操作共享***包括服务器100及多个客户端200。其中,客户端200可以是网页客户端,也可以是应用程序客户端。当多个客户端200均与服务器100之间的正常网络连接时,多个客户端200均能够与服务器100进行数据交互。
如图2所示,是所述服务器100的方框示意图。所述服务器100包括购买操作共享装置110、存储器120、存储控制器130、处理器140及外设接口150。
所述存储器120、存储控制器130、处理器140、外设接口150各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述购买操作共享装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述服务器的操作***(operatingsystem,OS)中的软件功能模块。所述处理器140用于执行存储器中存储的可执行模块,例如所述购买操作共享装置110包括的软件功能模块或计算机程序。
其中,存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器用于存储程序,所述处理器140在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的服务器所执行的方法可以应用于处理器140中,或者由处理器140实现。
处理器140可能是一种集成电路芯片,具有信号的处理能力。上述的处理器140可以是通用处理器,包括中央处理器140(Central Processing Unit,简称CPU)、网络处理器140(Network Processor,简称NP)等;还可以是数字信号处理器140(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述外设接口150将各种输入/输出装置耦合至处理器140以及存储器120。在一些实施例中,外设接口150,处理器140以及存储控制器130可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
图3示出了本发明实施例提供的一种购买操作共享方法,该方法应用于上述购买操作共享***。如图3所示,购买操作共享方法至少包括:步骤S301和步骤S302。下面将以服务器为执行主体对本实施例的方法所包含的步骤进行详细说明。
步骤S301:获取多个客户端发送的购买订单,每个客户端均与当前购买操作绑定。
其中,购买操作是指多人共同参与的一次购买行为。例如,多人参与某某饭店的网上订餐。当前购买操作绑定有多个客户端,其中,每个客户端对应一个购买行为的参与者。
其中,客户端能够接收用户的修改操作。根据所接收的用户的修改操作生成购买订单,并将生成的购买订单发送到服务器。例如,用户在参与购买操作之后,用户能够在用户对应的客户端上看到商品列表,其中,商品列表对应商品的数量和种类。用户修改感兴趣的商品种类之后,客户端将所选的商品种类以及对应的数量生成购买订单。因此,每个客户端对应一个购买订单,每个购买订单都与当前购买操作绑定。
于本实施例中,以为:多个客户端以预设时间间隔向服务器发送购买订单,此时,所述购买订单包括对应有更新操作的订单和无更新操作的订单。也就是说,无论客户端所对应的用户是否做出更新操作,即增加某种商品的数量或减少某种商品的数量,与当前购买操作绑定的所有客户端均固定以预设时间间隔向服务器发送购买订单。此外,服务器获取多个客户端发送的购买订单的方式也可以为:当且仅当客户端对应的用户做出更新操作时,客户端生成购买订单,并将生成的购买订单发送到服务器。
步骤S302:根据所获取的多个所述购买订单生成一个购买总订单。
每一个购买订单中包括商品的种类及数量。服务器根据每一个购买订单中的商品种类及数量生成一个购买总订单。例如,客户端a发送的购买订单中商品A的数量为1,客户端b发送的购买订单中商品B的数量为2,客户端c发送的购买订单中商品C的数量为1,则此时,服务器先后获取到上述购买订单后所生成的购买总订单为:商品A:1件,商品B:2件,商品C:1件。
为了保证上述与当前购买操作绑定的多个客户端中,每一个客户端均能实时获得当前时刻其他客户端已提交的购买订单,实现上述多个客户端之间购买订单的实时共享,需要将服务器根据所获取到的购买订单得到的更新数据实时发送到与当前购买操作绑定的所有客户端。
如图4所示,本发明实施例提供的一种购买操作共享方法,至少包括步骤S401至步骤S404。
步骤S401:根据当前购买操作创建初始订单,将所述初始订单发送至与所述当前购买操作绑定的所有客户端。
参与当前购买操作的每个客户端所显示的初始订单均与服务器中的初始订单一致,即商品种类一致,且每个种类的商品数量也一致。初始状态下,即所有客户端均未发送购买订单时,初始订单中没有商品记录。
步骤S402:获取多个客户端基于所接收的初始订单而生成的购买订单。
与当前购买操作绑定的客户端接收到服务器发送的初始订单后,可以基于该初始订单对初始订单中商品的数量进行修改操作。可以理解的是,上述修改操作包括增加操作或删减操作。当然,当初始订单中无商品记录时,只能进行增加操作。客户端根据所接收的用户对初始订单中商品数量的修改操作生成购买订单,并将生成的购买订单发送至服务器。
步骤S403:根据所获取的购买订单更新初始订单,并将更新后的初始订单发送至与当前购买操作绑定的所有客户端。
参与当前购买操作的每个客户端发送的购买订单,都是基于在步骤S401获得的初始订单的基础上而生成的,即客户端对应的用户所选择的种类的商品数量为大于零的数,而没选择的种类的商品数为0。服务器根据所获取的参与当前购买操作的客户端发送的购买订单所包含的商品种类和数量,修改初始订单。服务器将更新后的初始订单发送至与当前购买操作绑定的所有客户端,使得每个客户端均可以实时显示当前的初始订单,便于参与当前购买操作的用户可以及时获知当前已购买的商品种类及数量,以进一步对初始订单中的商品种类或数量进行更新,例如追加购买商品或者修改商品数量。
此时,与所述当前购买操作绑定的所有客户端中所记录的每一种商品的数量与当前服务器中所存储的初始订单中对应的商品数量一致。
例如,客户端a、客户端b及客户端c均与当前购买操作绑定。服务器执行步骤S401,根据当前购买操作创建一个初始订单,并将该初始订单发送到客户端a、客户端b及客户端c。初始订单中的商品包括:商品A、商品B及商品C。且商品A、商品B及商品C的数量均为0。此时,假设用户A通过客户端a对商品A的数量做了“+1”操作,客户端a根据所记录的用户A的操作生成将商品A的数量加一的购买订单,并将该购买订单发送到服务器。服务器接收到该购买订单后,根据该购买订单对初始订单进行更新,更新后的初始订单中商品A的数量变为1,服务器将更新后的初始订单发送给客户端a、客户端b及客户端c,即此时客户端a、客户端b及客户端c中所显示的商品A的数量均为1。
步骤S404:根据更新后的初始订单生成购买总订单。
当服务器接收到当前购买操作所对应的任意一个客户端所发送的购买完成指令之前,可以根据所接收到的与当前购买操作对应的任意客户端发送的购买订单多次对当前购买操作对应的初始订单进行更新,并将更新结果反馈给与当前购买操作绑定的所有客户端。当服务器接收到当前购买操作所对应的任意一个客户端所发送的购买完成指令时,服务器根据当前的初始订单生成购买总订单。
或者,服务器可以设定一个预设时间值,服务器从初始订单创建完成时开始计时。在计时时间达到预设时间值之前,服务器可以根据所接收到的与当前购买操作对应的任意客户端发送的购买订单多次对当前购买操作对应的初始订单进行更新,并将更新结果反馈给与当前购买操作绑定的所有客户端。当计时时间达到该预设时间值时,则根据当前的初始订单生成购买总订单。
其中,购买总订单包含了初始订单中数量大于零的商品的种类和数量、当前支付状态、收货人信息等。
如图5所示,本发明实施例提供的一种购买操作共享方法,至少包括以下步骤S501至步骤S508。
步骤S501:根据当前购买操作创建多个子订单,将所述多个子订单发送至与所述当前购买操作绑定的所有客户端。
其中,每一个子订单与一个客户端绑定,用于记录对应的客户端所购买的商品种类以及数量。初始状态下,即所有客户端均未发送购买订单时,所有子订单中均没有商品数据。每个客户端均可以显示所有的子订单,以便于参与当前购买操作的每个用户均可以及时了解自己和其他用户的购买情况。
步骤S502:获取多个客户端基于所接收的子订单而生成的购买订单。
每个客户端发送的购买订单均基于所接收到的与该客户端绑定的子订单生成。也就是说,本实施例中,每个客户端只能修改与其对应的子订单。
步骤S503:查找与当前购买订单对应的子订单。
按照服务器接收到多个客户端发送的购买订单的时间顺序,将每一个购买订单作为当前购买订单。本实施例中,购买订单为客户端接收到用户的修改操作后基于与客户端绑定的当前子订单生成的。此时,查找与当前购买订单对应的子订单的具体实施方式可以为:服务器中设置有第一对应表,该第一对应表中包括每一个子订单与相应的客户端的身份信息的对应关系。当前购买订单包括有身份信息,根据当前购买订单的身份信息即可以查找与当前购买订单对应的子订单。本实施例中,当前购买订单的身份信息可以为发送该购买订单的客户端的MAC地址等地址信息或该客户端的登录信息等。
步骤S504:获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的数量。
除了包括身份信息外,当前购买订单还包括欲更新商品的种类、数量变化起点和数量变化终点。需要说明的是,当在对应的子订单中查找不到与欲更新商品种类一致的商品时,所获取到的商品的数量为0。
步骤S505:判断欲更新商品的数量变化起点与所获取的商品数量是否一致。
当欲更新商品的数量变化起点与所获取的商品数量一致时,执行步骤S506。当欲更新商品的数量变化起点与所获取的商品数量不一致时,丢弃当前购买订单,执行步骤S507。例如,当前购买订单中欲更新商品的种类为商品A,数量变化起点为1,数量变化终点为2。当所查找到的子订单中商品A的数量为1时,则判定欲更新商品的数量变化起点与所获取的商品数量一致,当所查找到的子订单中商品A的数量不为1时,则判定欲更新商品的数量变化起点与所获取的商品数量不一致。
步骤S506:根据当前购买订单更新对应的子订单,将更新后的子订单发送到每个客户端。
具体的,根据当前购买订单更新对应的子订单的具体实施方式可以为:当对应的子订单中存在与欲更新商品的种类一致的商品时,将对应的子订单中欲更新商品的数量更新为当前购买订单中欲更新商品的数量变化终点;当对应的子订单中不存在与欲更新商品的种类一致的商品时,将当前购买订单中欲更新商品添加到对应的子订单中,且数量为当前购买订单中欲更新商品的数量变化终点。
例如,当前客户端a的所接收的多个子订单中,对应于客户端a的子订单中商品A的数量为1。假设客户端a接收到的用户的修改操作为将商品A的数量由1增加到2。此时,客户端a基于对应的子订单所生成的购买订单为:欲更新商品为商品A,商品A数量变化起点为1,数量变化终点为2。服务器获取到该购买订单后,执行步骤S504,获取服务器中存储的与客户端a绑定的子订单中商品A的数量。继续执行步骤S505,若获取到的商品A的数量为1时,执行步骤S506,将服务器中与客户端a绑定的子订单中商品A的数量更新为2,并更新后的子订单发送至所有客户端;若获取到的商品A的数量不为1时,说明当前购买订单无效,丢弃当前购买订单,服务器中与客户端a绑定的子订单中商品A的数量仍为1。
步骤S507:是否接收到购买完成指令?
购买完成指令可以由与当前购买操作绑定的任意一个客户端发送。若服务器接收到购买完成指令时,执行步骤S508。若服务器未接收到购买完成指令,重复执行步骤S503至步骤S507,直至获取到购买完成指令。
步骤S508:根据多个更新后的子订单生成购买总订单。
此时,根据上述步骤S502至步骤S506以对初始创建的多个子订单中的至少一个进行了一次或多次更新操作。当获取到购买完成指令时,即多个子订单的更新截止,服务器不再接收购买订单,根据当前所存储的子订单生成购买总订单。具体为:获取与当前购买操作绑定的所有客户端对应的子订单中商品的种类及每种商品的数量,并将相同种类的商品的数量进行累加,从而得到购买总订单。
需要说明的是,该买总订单中除了包括商品的种类及每种商品的数量之外,还可以包括当前支付状态、收货人信息等。
本实施例在实现多个客户端共享一个购买操作的基础上,通过加入步骤S503至步骤S505可以有效地保证同步数据的幂等性,保证了在客户端与服务器之间的网络连接状况较差服务器没有响应时,服务器将不对由于客户端无法及时获得服务器的最新更新数据所导致的误操作进行处理。
例如,当前客户端a所接收到的服务器发送的对应于客户端a的子订单a中商品A的数量为1。此时,用户A基于上述子订单a将商品A的数量由1增加到2,客户端a接收到用户A的修改操作后生成购买订单Ⅰ发送到服务器。然而,由于网络状况较差的原因,服务器没有及时响应,客户端a上所显示的子订单a中商品A的数量仍为1,即服务器没有及时将子订单a的更新结果发送到客户端a。若此时,用户A再次在客户端a上执行将商品A的数量由1增加到2的操作则可以理解为一次误操作。
在具体的应用中,可以在购买订单中加入From和To的数据结构实现上述步骤S503至步骤S505。例如,客户端a发送的购买订单中包括数据结构{skuId:A,from:1,to:2},表示将种类为A的商品的数量由1更改为2。
基于上述实施方式,本发明实施例还提供了另一种实施方式,不仅可以防止客户端与服务器之间的网络连接状况较差或服务器没有响应时,客户端无法及时获得服务器中与当前购买操作对应的初始订单的最新更新数据所导致的误操作,还可以防止两个或两个以上的客户端针对于同一子订单下的同一商品的修改操作发生冲突。
如图6所示,本发明实施例提供的一种购买操作共享方法,至少包括以下步骤S601至步骤S611。
步骤S601:根据当前购买操作创建多个子订单,将多个子订单发送至与所述当前购买操作绑定的所有客户端。
其中,每一个子订单分别与一个客户端绑定,用于记录对应的客户端所购买的商品种类以及数量。初始状态下,即所有客户端均未发送购买订单时,所有子订单中均没有商品数据。每个客户端均可以显示所有的子订单,以便于参与当前购买操作的每个用户均可以及时了解自己或其他用户的购买情况。
此外,每一个子订单中的每一种商品均对应有版本号。需要说明的是,子订单中不存在的商品对应的版本号为0。
步骤S602:获取多个客户端基于所接收的子订单而生成的购买订单。
每一个客户端均可以显示所有子订单。每一个客户端可以基于自身对应的子订单生成购买订单并发送到服务器,也可以基于其他客户端所对应的子订单生成购买订单,即每一个客户端可以修改自身对应的子订单,也可以修改其他客户端所对应的子订单。此时,服务器所接收到的每一个购买订单均为基于一个子订单生成的,即每一个购买订单均对应于一个子订单。
步骤S603:查找与当前购买订单对应的子订单,获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的版本号作为第一版本号;
服务器按照接收到多个客户端发送的购买订单的时间顺序,将每一个购买订单作为当前购买订单。
其中,获取与当前购买订单对应的子订单的实施方式可以为:服务器中可以设置有第二对应表,该第二对应表中包括每一个子订单与其标识信息的对应关系。每一个购买订单均是基于子订单生成,因此,购买订单中包括所对应的子订单的标识信息。此时,根据当前购买订单所包括的标识信息即可以查找到对应的子订单。当然,需要说明的是,所查找到的子订单可以是与发送当前购买订单的客户端对应的子订单,也可以与其他客户端对应的子订单。
此外,当前购买订单还包括:欲更新商品的种类、数量变化起点和数量变化终点。获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的版本号作为第一版本号的具体实施方式可以为:获取当前购买订单所包括的欲更新商品的种类,在所查找到的子订单中查找种类与所获取的欲更新商品的种类一致的商品,获取所找到的商品对应的版本号作为第一版本号。
需要说明的是,当所查找到的子订单中不存在与当前购买订单所包括的欲更新商品种类一致的商品时,所获取到的第一版本号为0。
步骤S604:获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的数量。
需要说明的是,当在对应的子订单中查找不到与欲更新商品种类一致的商品时,所获取到的商品的数量为0。
步骤S605:判断欲更新商品的数量变化起点与所获取的商品数量是否一致。
当欲更新商品的数量变化起点与所找到的商品对应的数量一致时,执行步骤S606。当欲更新商品的数量变化起点与所找到的商品对应的数量不一致时,执行步骤S610。步骤S605的具体实施方式可以参照上述实施例中的步骤S505,在此不再赘述。
步骤S606:再次获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的版本号作为第二版本号;
步骤S607:判断第二版本号是否等于第一版本号?
当第二版本号等于第一版本号时,执行步骤S608。当第二版本号不等于第一版本号时,表示当前购买订单为过期数据,丢弃当前购买订单,执行步骤S610。
当步骤S605中判定欲更新商品的数量变化起点与所找到的商品对应的数量一致之后,为了避免此时与当前购买订单对应的子订单中与欲更新商品种类一致的商品的数量发生变化,导致更新的数据与步骤S604所获取的数据不一致的情况,需要在进行更新操作之前步骤S606及步骤S607,以保证更新的数据与步骤S604所获取的数据一致,确保更新的准确性。
例如,服务器接收到对应于某个子订单中商品A的购买订单包括客户端a发送的第一购买订单和客户端b发送的第二购买订单。其中,第一购买订单为将该子订单中商品A的数量由1增加到2,而第二订单为将该子订单中商品A的数量由1减到0。这种情况即为两个客户端针对于同一子订单下的同一商品的修改操作发生冲突的情况。根据上述步骤S603、步骤S606及步骤S607可以有效地避免上述冲突情况发生时影响更新结果的准确性。
假设上述冲突情况发生时,服务器对第一购买订单执行步骤S603时,所得到的第一版本号为1,对第二购买订单执行步骤S603时,所得到的第一版本号也为1。然而,相比于客户端a发送的第一购买订单,服务器先对客户端b发送的第二购买订单执行了步骤S604至S608,且根据第二购买订单对上述子订单中的上述某商品的数量进行了更新,使得上述子订单中某商品对应的版本号加1。因此,当服务器对第一购买订单执行步骤S606时,所获取到的第二版本号为2,不满足步骤S607的条件,此时,服务器丢弃第一购买订单,有效地保证了在步骤S604中所获取的数据与步骤S608中所更新的数据的一致性,从而保证了更新结果的准确性。
步骤S608:将所找到的子订单中对应商品的数量更新为与欲更新商品的数量变化终点一致,将所述对应商品的版本号加一。
当确保所获取到的第二版本号等于第一版本号时,根据当前购买订单对所找到的子订单进行更新操作。具体为,将所找到的子订单中与欲更新商品的种类一致的商品的数量更新为当前购买订单所包括的数量变化终点,且将所找到的子订单中与欲更新商品的种类一致的商品的版本号加一。例如,当前购买订单中欲更新商品的种类为商品A,数量变化起点为1,数量变化终点为2;所找到的子订单中商品A的数量为1,版本号为1。则将所找到的子订单中商品A的数量更新为2,版本号更新为2。
步骤S609:将更新后的子订单发送至与当前购买操作绑定的所有客户端。
将更新后的子订单发送到与当前购买操作所绑定的所有客户端,以便于各个客户端能够获取到最新的更新数据。具体的,服务器将更新后的子订单发送至与所述当前购买操作绑定的所有客户端的发送方式可以为:http轮询的方式,也可以采用push方式。
步骤S610:是否接收到购买完成指令?
购买完成指令可以由与当前购买操作绑定的任意一个客户端发送。若服务器接收到购买完成指令时,执行步骤S611。若服务器未接收到购买完成指令,重复执行步骤S603至步骤S610,直至获取到购买完成指令。
步骤S611:根据多个更新后的子订单生成购买总订单。
步骤S610至步骤S611的具体实施方式可以参考前述实施例的步骤S507至步骤S508,在此不再赘述。
在上述几个实施例中,将多个客户端与当前购买操作绑定的具体实施方式可以为:根据预设规则将多个客户端与一个购买操作绑定。
在本发明实施例的一种实施方式中,购买操作可以是服务器针对于每一个商家预先创建的。此时,根据预设规则将多个客户端与一个购买操作绑定的方式可以为:服务器针对于每一个商家预先创建多个购买操作。将当前商家的每一个购买操作与所有客户端中该当前商家页面上的一个购买操作入口关联。其中,每一个购买操作入口均具有不同的特定标识,不同的特定标识对应于不同的购买操作。用户通过点击客户端中当前商家页面上的一个购买操作入口生成绑定请求并发送给服务器。其中,绑定请求包括该购买操作入口的特定标识。当服务器接收到该绑定请求时,根据该绑定请求包括的特定标识,将发送该绑定请求的客户端与该特定标识对应的购买操作绑定,并发送一个标记信息到所有客户端以对该购买操作入口进行标记,表示该购买操作入口对应的购买操作已绑定有客户端。例如,当用户A、用户B和用户C分别通过所对应的客户端点击同一个购买操作入口时,服务器可以获取到相应的三个客户端分别发送的绑定请求,将发送绑定请求的三个客户端均与该购买操作入口所对应的购买操作绑定。
或者,根据预设规则可以将多个客户端与该商家对应的一个购买操作绑定的实施方式还可以为:服务器针对于每一个商家预先创建多个购买操作,并为每一个购买操作关联一个标识序列。客户端中的每一个商家页面上均设置有“获取标识序列”图标和“一起点”图标,当用户点击“获取标识序列”图标时,可以获取到服务器发送的一个未绑定有客户端的购买操作所关联的标识序列。用户点击商家页面上的“一起点”图标,可以开启输入标识序列界面。进一步在输入标识序列界面中输入所获取到的标识序列生成绑定请求并发送服务器。其中,绑定请求包括用户端获取到的用户输入的标识序列。服务器根据获取到的绑定请求所包括的标识序列将发送该绑定请求的客户端与对应的购买操作绑定。
例如,当用户A通过客户端a点击“获取标识序列”图标时,客户端a可以获取到服务器发送的一个未绑定有客户端的购买操作所关联的标识序列,用户B和用户C可以从用户A处获知该标识序列。用户A通过客户端a点击“一起点”图标,在开启的输入标识序列界面上输入该标识序列,服务器获取到客户端a发送的绑定请求后将客户端a与该标识序列对应的购买操作绑定。同理,用户B通过客户端b点击“一起点”图标,也在开启的输入标识序列界面上输入该标识序列,用户C通过客户端c点击“一起点”图标,也在开启的输入标识序列界面上输入该标识序列图标,服务器获取到客户端b和客户端c发送的绑定请求后将客户端a与客户端b也与该标识序列对应的购买操作绑定。
在本发明实施例的另一种实施方式中,购买操作还可以是服务器根据客户端发送的创建请求实时创建。为了避免服务器资源的浪费,降低后期维护难度,本发明实施例中,购买操作的创建方式可以优选为服务器根据用户的需要实时创建购买操作。
本实施例中,多个客户端包括一个群主客户端和多个成员客户端。其中,群主客户端为创建该购买操作的客户端,成员客户端为除了群主客户端以外加入该购买操作的客户端。如图7所示,本发明实施例提供的一种购买操作共享方法,至少包括步骤S701至步骤S715。
其中,步骤S701及步骤S702为群主客户端创建当前购买操作的步骤。
步骤S701:获取群主客户端发送的创建请求。
其中,所述创建请求包括第一标号。第一标号可以是用户在群主客户端中输入的口令信息,例如,该口令信息可以为1234。可以理解的是,为了提高对应于该创建请求的购买操作创建成功的概率,口令信息可以设置的尽量复杂。
步骤S702:根据所述创建请求创建当前购买操作。
具体的,步骤S702为服务器根据群主客户端发送的创建请求创建当前购买操作的方法。所述方法包括:判断创建请求的第一标号是否与所存储的所有购买操作的身份标识匹配;当所述第一标号与所存储的所有购买操作的身份标识均不匹配时,创建与所述创建请求对应的购买操作,将群主客户端与当前购买操作绑定,将所述第一标号作为所述当前购买操作的身份标识和验证密码。
例如,服务器中存储有购买操作的身份标识与购买操作的第三对应表。因此,可以在第三对应表中查找与创建请求包括的第一标号匹配的身份标识。当未查找到与第一标号匹配的身份标识时,服务器创建与所述创建请求对应的购买操作。进一步,将群主客户端与当前购买操作绑定,将所述第一标号作为当前购买操作的身份标识和验证密码。当查找到与第一标号匹配的身份标识时,可以发送创建失败信息到该群主客户端显示,以提示用户购买操作创建失败,已存在该创建请求对应的购买操作,需要更换创建请求,也就是更换创建请求所包括的第一标号。当然,当查找到与第一标号匹配的身份标识时,也可以是将该群主客户端加入已存在的购买操作成为该购买操作的一个成员客户端。
为了避免相同的创建请求对应有两个购买操作的情况,执行根据所述创建请求创建当前购买操作的过程中,当在预设时间之内接收到的创建请求与创建当前购买操作所对应的创建请求一致时,不执行该预设时间之内接收到的创建请求。其中,预设时间为接收到与当前购买操作所对应的创建请求之后,以及获取到当前购买操作创建完成时生成的创建完成指令之前的时间段。
其中,当前购买操作创建完成包括了当前购买操作创建成功的情况及当前购买操作创建失败情况,即服务器在当前购买操作创建成功或当前购买操作创建失败时均会生成创建完成指令。
具体的,服务器创建当前购买操作的过程中,可以通过缓存锁技术锁定当前购买操作,直至当前购买操作创建成功或当前购买操作创建失败。
在本发明的一种实施例中,服务器根据群主客户端发送的创建请求完成该创建请求的第一标号对应的当前购买操作的创建后,可以对上述群主客户端的身份信息进行标记。
进一步,步骤S703及步骤S704为成员客户端加入该购买操作的步骤。
步骤S703:获取多个成员客户端发送的购买请求。
其中,购买请求对应于当前购买操作。也就是说,基于服务器已根据成员客户端发送的创建请求成功创建了当前购买操作的情况下,当多个成员客户端需要与群主客户端共享同一个购买操作时,多个成员客户端分别需要发送一个购买请求至服务器。
步骤S704:根据购买请求将每个成员客户端与当前购买操作绑定。
其中,购买请求可以包括输入密码。具体的,根据所述购买请求将每个所述成员客户端与所述当前购买操作绑定的方式可以为:查找所输入的输入密码与验证密码匹配的所有成员客户端,将所查找到的所有成员客户端与当前购买操作绑定。可以理解的是,当群主客户端对应的用户与多个成员客户端分别对应的用户已约定好共享同一个购物操作时,多个成员客户端对应的用户可以从群主客户端对应的用户处获知当前购买操作的验证密码,即第一标号,以保证多个成员客户端所发送的购买请求的输入密码与当前购买操作的验证密码匹配。
步骤S705:根据当前购买操作创建多个子订单,将所述多个子订单发送至与所述当前购买操作绑定的群主客户端及所有成员客户端。
步骤S705的具体实施方式可以参考前述实施例中的步骤S602,在此不再赘述。
步骤S706:获取群主客户端和成员客户端基于所接收的子订单而生成的购买订单。
本实施例中,为了更好的管理当前购买操作,群主客户端可以基于群主客户端所对应的子订单发送购买订单,也可以基于任意成员客户端对应的子订单发送购买订单,而成员客户端只能基于自身对应的子订单发送购买订单。也就是说,本实施例中,群主客户端与成员客户端具有不同的权限。表现为:成员客户端只能修改自己购买的商品,而群主客户端可以修改与当前购买操作绑定的所有客户端的商品。
步骤S707:查找与当前购买订单对应的子订单,获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的版本号作为第一版本号;
步骤S708:获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的数量。
步骤S709:判断欲更新商品的数量变化起点与所获取的商品数量是否一致。
当欲更新商品的数量变化起点与所获取的商品数量一致时,执行步骤S710。当欲更新商品的数量变化起点与所获取的商品数量不一致时,丢弃当前购买订单,执行步骤S714。
步骤S710:再次获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的版本号作为第二版本号。
步骤S711:判断第二版本号是否等于第一版本号?
当第二版本号等于第一版本号时,执行步骤S712。当第二版本号不等于第一版本号时,表示当前购买订单为过期数据,丢弃当前购买订单,执行步骤S714。
步骤S712:将所找到的子订单中对应商品的数量更新为与欲更新商品的数量变化终点一致,将所述对应商品的版本号加一。
步骤S713:将更新后的子订单发送至与当前购买操作绑定的群主客户端和所有成员客户端。
步骤S714:是否接收到购买完成指令?
本实施例中,为了便于当前购买操作的有效管理,当且仅当服务器接收到群主客户端发送的购买完成指令时,根据当前的初始订单生成购买总订单。也就是说,仅群主客户端具有发送购买完成指令的权限,即下单的权限,成员客户端没有下单的权限。购买完成指令中包括群主客户端的身份信息,可以在上述步骤S702中预先对群主客户端的身份信息进行标记,以便于服务器识别群主客户端的身份信息。若服务器接收到群主客户端发送的购买完成指令时,执行步骤S715。若服务器未接收到群主客户端发送的购买完成指令,重复执行步骤S707至步骤S714,直至获取到购买完成指令。
步骤S715:根据多个更新后的子订单生成购买总订单。
本实施例中,步骤S707至步骤S713及步骤S715至步骤S715的具体实施方式均可以参照前述实施例中的步骤S603至步骤S609及步骤S611至步骤S611,在此不再赘述。
另外,当多个客户端200包括群主客户端210和多个成员客户端220时,在本发明实施例还提供了另一种购买操作共享***。如图8所示,在另一种购买操作共享***中,多个成员客户端220与群主客户端210通过网络进行数据交互,群主客户端210与服务器100之间通过网络进行数据交互。多个成员客户端220将生成的购买请求发送至群主客户端210。群主客户端210根据自身生成的购买请求以及所接收到的购买请求生成一个购买总订单。此后,群主客户端210再将所生成的购买总订单发送到服务器100。
另外,基于图8所示的购买操作共享***,本发明实施例还提供了另一种购买操作共享方法。如图9所示,该方法包括:
步骤S901:多个成员客户端发送购买订单至群主客户端;
其中,群主客户端及每一个成员客户端均与当前购买操作绑定。具体的绑定方法,请参照上述实施例中的步骤S701至步骤S704,在此不再赘述。
步骤S902:群主客户端根据所获取的多个购买订单生成购买总订单;
步骤S902的具体实施方式可以参照上述实施例中的步骤302,在此不再赘述。
步骤S903:群主客户端将生成的购买总订单发送至服务器。
群主客户端将生成的购买总订单发送给服务器,由服务器将购买总订单发送至当前购买操作对应的商家,以便商家根据收货人信息将购买总订单对应的商品的种类和数量送至收货人。其中,服务器可以在购买总订单的当前支付状态为支付完成时,将购买总订单发送至当前购买操作对应的商家。服务器内存储有多个商家以及与商家对应的商家客户端的身份信息。其中,商家客户端的身份信息可以是商家客户端的MAC地址等地址信息或商家客户端的登录信息等。
另外,本发明实施例还提供了一种购买操作共享装置110,如图10所示,所述装置包括:订单获取模块412和总订单生成模块413。
其中,订单获取模块412获取多个客户端发送的购买订单,其中,每个客户端均与当前购买操作绑定;
总订单生成模块413用于根据所获取的多个所述购买订单生成一个购买总订单。
如图11所示,在本发明的一种实施例中,购买操作共享装置110除了包括订单获取模块412及总订单生成模块413之外,还包括初始订单创建模块410。初始订单创建模块410用于根据当前购买操作创建初始订单,将所述初始订单发送至与所述当前购买操作绑定的所有客户端。此时,所述订单获取模块412具体用于获取多个客户端基于所接收的初始订单而生成的购买订单。所述总订单生成模块413包括初始订单更新单元511和第一生成单元512。其中,初始订单更新单元511用于根据所获取的购买订单更新所述初始订单,并将所更新的初始订单发送至与所述当前购买操作绑定的所有客户端。第一生成单元512用于根据更新后的初始订单生成所述购买总订单。
如图12所示,在本发明的另一种实施例中,购买操作共享装置110除了包括订单获取模块412及总订单生成模块413之外,还包括子订单创建模块411。子订单创建模块411用于根据当前购买操作创建多个子订单,将所述多个子订单发送至与所述当前购买操作绑定的所有客户端。此时,所述订单获取模块412具体用于获取多个所述客户端基于所接收的子订单而生成的购买订单。所述总订单生成模块413包括:子订单更新单元521、发送单元522和第二生成单元523。其中,子订单更新单元521用于根据所获取的每个所述购买订单更新所对应的子订单。发送单元522用于将所有更新后的子订单均发送到每个所述客户端。第二生成单元523用于根据多个更新后的子订单生成购买总订单。
在本发明的另一种实施例的一种具体实施方式中,所述购买订单包括欲更新商品的数量变化起点和数量变化终点,如图13所示,所述子订单更新单元521包括:第一查找子单元611、第一获取子单元612及第一判断子单元613。其中,第一查找子单元611用于查找与当前购买订单对应的子订单。第一获取子单元612用于获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的数量。第一判断子单元613用于判断欲更新商品的数量变化起点与所获取的商品数量是否一致,当欲更新商品的数量变化起点与所获取的商品数量一致时,根据当前购买订单更新对应的子订单。
在本发明的另一种实施例的另一种具体实施方式中,所述购买订单包括欲更新商品的数量变化起点和数量变化终点,每一个所述子订单中的每一种商品均对应有版本号。如图14所示,所述子订单更新单元521包括:第二获取子单元621、第三获取子单元622、第二判断子单元623及第三判断子单元624。其中,第二获取子单元621用于查找与当前购买订单对应的子订单,获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的版本号作为第一版本号。第三获取子单元622用于获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的数量。第二判断子单元623用于判断欲更新商品的数量变化起点与所获取的商品数量是否一致,当欲更新商品的数量变化起点与所找到的商品对应的数量一致时,再次获取所查找到的子订单中与当前购买订单所包括的欲更新商品种类一致的商品的版本号作为第二版本号。第三判断子单元624用于判断第二版本号是否等于第一版本号,当第二版本号等于第一版本号时,将所找到的子订单中对应商品的数量更新为与欲更新商品的数量变化终点一致,将所述对应商品的版本号加一。
进一步的,所述多个客户端包括一个群主客户端和多个成员客户端。如图15所示,本发明实施例还提供了另一种购买操作共享装置110。该购买操作共享装置110包括:创建请求获取模块406、购买操作创建模块407、购买请求获取模块408、绑定模块409、子订单创建模块411、订单获取模块412及总订单生成模块413。所述总订单生成模块413包括子订单更新单元521、发送单元522和第二生成单元523。所述子订单更新单元521包括:第二获取子单元621、第三获取子单元622、第二判断子单元623及第三判断子单元624。
其中,创建请求获取模块406用于获取群主客户端发送的创建请求,所述创建请求包括第一标号;
购买操作创建模块407用于根据所述创建请求创建所述当前购买操作,将所述群主客户端与所述当前购买操作绑定,将所述第一标号作为所述当前购买操作的身份标识和验证密码;
购买请求获取模块408用于获取多个成员客户端发送的购买请求,其中,所述购买请求对应所述当前购买操作;
绑定模块409用于根据所述购买请求将每个所述成员客户端与所述当前购买操作绑定。
进一步的,所述购买操作创建模块407具体用于当所述第一标号与所存储的所有购买操作的身份标识均不匹配时,根据所述创建请求创建购买操作。
进一步的,所述购买请求包括输入密码,所述绑定模块409具体用于查找所输入的输入密码与所述验证密码匹配的所有成员客户端,将所查找到的所有成员客户端与所述当前购买操作绑定。
为了避免相同的创建请求对应有两个购买操作的情况,该购买操作共享装置还包括锁定模块。所述锁定模块用于当在预设时间之内接收到的创建请求与创建所述当前购买操作所对应的创建请求一致时,不执行该预设时间之内接收到的创建请求,其中,所述预设时间为接收到与所述当前购买操作所对应的创建请求之后,以及获取到所述当前购买操作创建完成时生成的创建完成指令之前的时间段。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种购买操作共享方法,其特征在于,包括:
根据群主客户端的操作,向所述群主客户端发送当前商家页面,展示包含购买操作入口的当前商家页面;
获取所述群主客户端根据监测到的用户对当前商家页面中所述购买操作入口的操作发送的创建请求,所述创建请求中携带所述购买操作入口对应标识;
根据所述创建请求创建当前购买操作,并生成创建完成指令,确定并存储所述群主客户端以及所述当前购买操作之间的绑定关系;
根据多个成员客户端的操作,向每个成员客户端发送所述当前商家页面,展示包含所述购买操作入口的所述当前商家页面;
获取所述多个成员客户端根据监测到的对所述购买操作入口的操作发送的购买请求,所述购买请求中携带所述购买操作入口对应标识;
根据获取的购买请求以及存储的绑定关系,从多个成员客户端中,确定购买操作入口对应标识相同的成员客户端,确定并更新所述当前购买操作与确定出的每个成员客户端的绑定关系;
根据所述当前购买操作创建多个子订单,确定与所述当前购买操作绑定的群主客户端的身份信息以及所述成员客户端的身份信息,设置记录每个子订单与绑定的客户端的身份信息的对应关系的第一对应表,其中,每一个子订单与一个客户端绑定,所述子订单用于记录对应的客户端所购买的商品种类以及数量;
根据所述当前购买操作创建购买总订单,所述购买总订单包含多个子订单;
将所述购买总订单发送至与所述当前购买操作绑定的群主客户端及所有成员客户端,在所述群主客户端中展示包含所述购买总订单的修改操作入口的商品列表界面,在所有成员客户端中展示包含自身绑定的子订单的修改操作入口的商品列表界面,其中,所述购买总订单的修改操作入口,用于对所述购买总订单包含的子订单进行修改;
接收所述群主客户端根据用户对所述购买总订单的修改操作入口的修改操作创建的购买订单,以及接收所述成员客户端根据用户对自身绑定的子订单的修改操作入口的修改操作创建的购买订单,其中,所述购买订单携带有子订单的身份信息;
按照接收到的购买订单的时间顺序,依次将每个购买订单作为当前购买订单,并针对每个当前购买订单,根据该当前购买订单携带的身份信息以及所述第一对应表,查找与该当前购买订单对应的子订单;
判断所述购买订单中欲更新商品的数量变化起点与查找到子订单中的商品数量是否一致;
当欲更新商品的数量变化起点与所找到的商品对应的数量一致时,根据当前购买订单更新对应的子订单,确定更新后的购买总订单,将更新后的购买总订单发送到每个客户端;
当根据存储的绑定关系确定接收到与所述当前购买操作绑定的任意一个客户端发送购买完成指令时,将更新后的购买总订单发送至当前购买操作对应的商家。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
预先针对于每一个商家预先创建多个购买操作;
将当前商家的每一个购买操作与所有客户端中该当前商家页面上的一个购买操作入口关联;
其中,每一个购买操作入口均具有不同的特定标识,不同的特定标识对应于不同的购买操作。
3.如权利要求2所述的方法,其特征在于,获取所述群主客户端根据监测到的对所述购买操作入口的操作发送的创建请求,具体包括:
获取群主客户端发送的携带购买操作入口的特定标识的创建请求;
根据所述创建请求创建当前购买操作,具体包括:
根据所述特定标识,将发送所述创建请求的群主客户端与所述特定标识对应的购买操作绑定,将绑定的购买操作作为当前购买操作。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:发送一个标记信息到所有客户端以对该购买操作入口进行标记,表示该购买操作入口对应的购买操作已绑定有客户端。
5.如权利要求2所述的方法,其特征在于,预先针对于每一个商家预先创建多个购买操作,具体包括:
预先针对于每一个商家预先创建多个购买操作,并为每一个购买操作关联一个标识序列。
6.如权利要求5所述的方法,其特征在于,根据所述创建请求创建当前购买操作,将所述群主客户端与所述当前购买操作绑定,具体包括:
根据群主客户端通过商家页面发送的获取请求,从为所述商家页面对应的商家预先创建的多个标识序列中,确定一个未绑定有客户端的购买操作的标识序列,并将所述标识序列返回所述群主客户端;
接收所述群主客户端发送的携带有所述标识序列的绑定请求,根据获取到的绑定请求所包括的标识序列将发送该绑定请求的所述群主客户端与对应的购买操作绑定。
7.如权利要求1所述的方法,其特征在于,所述群主客户端发送的创建请求中携带有第一标号,将所述第一标号作为所述当前购买操作的身份标识,存储身份标识与购买操作的第三对应表;
所述方法还包括:
根据所述第三对应表,查找到与所述第一标号匹配的购买操作的身份标识时,将所述群主客户端加入查找到的购买操作,成为所述查找到的购买操作的一个成员客户端。
8.如权利要求1所述的方法,其特征在于,当前购买订单包括欲更新商品的数量变化终点;
根据当前购买订单更新对应的子订单,具体包括:
当对应的子订单中存在与欲更新商品的种类一致的商品时,将对应的子订单中欲更新商品的数量更新为当前购买订单中欲更新商品的数量变化终点;
当对应的子订单中不存在与欲更新商品的种类一致的商品时,将当前购买订单中欲更新商品添加到对应的子订单中,且数量为当前购买订单中欲更新商品的数量变化终点。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
从创建当前购买操作时开始计时,当计时时间达到预设时间值时,若仍未收到购买完成指令,将更新后的购买总订单发送至当前购买操作对应的商家。
10.一种购买操作共享装置,其特征在于,所述装置包括:
创建请求获取模块,用于根据群主客户端的操作,向所述群主客户端发送当前商家页面,展示包含购买操作入口的当前商家页面;获取所述群主客户端根据监测到的用户对当前商家页面中所述购买操作入口的操作发送的创建请求,所述创建请求中携带所述购买操作入口对应标识;
购买操作创建模块,用于根据所述创建请求创建当前购买操作,并生成创建完成指令,确定并存储所述群主客户端以及所述当前购买操作之间的绑定关系;
购买请求获取模块,根据多个成员客户端的操作,向每个成员客户端发送所述当前商家页面,展示包含所述购买操作入口的所述当前商家页面;获取所述多个成员客户端根据监测到的对所述购买操作入口的操作发送的购买请求,所述购买请求中携带所述购买操作入口对应标识;
绑定模块,用于根据获取的购买请求以及存储的绑定关系,从多个成员客户端中,确定购买操作入口对应标识相同的成员客户端,确定并更新所述当前购买操作与确定出的每个成员客户端的绑定关系;
子订单创建模块,用于根据所述当前购买操作创建多个子订单,确定与所述当前购买操作绑定的群主客户端的身份信息以及所述成员客户端的身份信息,设置记录每个子订单与绑定的客户端的身份信息的对应关系的第一对应表,其中,每一个子订单与一个客户端绑定,所述子订单用于记录对应的客户端所购买的商品种类以及数量;
订单获取模块,用于根据所述当前购买操作创建购买总订单,所述购买总订单包含多个子订单;将所述购买总订单发送至与所述当前购买操作绑定的群主客户端及所有成员客户端,在所述群主客户端中展示包含所述购买总订单的修改操作入口的商品列表界面,在所有成员客户端中展示包含自身绑定的子订单的修改操作入口的商品列表界面,其中,所述购买总订单的修改操作入口,用于对所述购买总订单包含的子订单进行修改;接收所述群主客户端根据用户对所述购买总订单的修改操作入口的修改操作创建的购买订单,以及接收所述成员客户端根据用户对自身绑定的子订单的修改操作入口的修改操作创建的购买订单,其中,所述购买订单携带有子订单的身份信息;
总订单生成模块,用于将更新后的购买总订单发送至当前购买操作对应的商家;
所述总订单生成模块包括:
子订单更新单元,用于按照接收到的购买订单的时间顺序,依次将每个购买订单作为当前购买订单,并针对每个当前购买订单,根据该当前购买订单携带的身份信息以及所述第一对应表,查找与该当前购买订单对应的子订单;判断所述购买订单中欲更新商品的数量变化起点与查找到子订单中的商品数量是否一致;当欲更新商品的数量变化起点与所找到的商品对应的数量一致时,根据当前购买订单更新对应的子订单,确定更新后的购买总订单;
发送单元,用于将更新后的购买总订单发送到每个客户端;
第二生成单元,当根据存储的绑定关系确定接收到与所述当前购买操作绑定的任意一个客户端发送购买完成指令时,将更新后的购买总订单发送至当前购买操作对应的商家。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010308005.6A CN111523971A (zh) | 2016-08-19 | 2016-08-19 | 一种购买操作共享方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010308005.6A CN111523971A (zh) | 2016-08-19 | 2016-08-19 | 一种购买操作共享方法及装置 |
CN201610694459.5A CN106296365A (zh) | 2016-08-19 | 2016-08-19 | 一种购买操作共享方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610694459.5A Division CN106296365A (zh) | 2016-08-19 | 2016-08-19 | 一种购买操作共享方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111523971A true CN111523971A (zh) | 2020-08-11 |
Family
ID=57661699
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610694459.5A Pending CN106296365A (zh) | 2016-08-19 | 2016-08-19 | 一种购买操作共享方法及装置 |
CN202010308005.6A Withdrawn CN111523971A (zh) | 2016-08-19 | 2016-08-19 | 一种购买操作共享方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610694459.5A Pending CN106296365A (zh) | 2016-08-19 | 2016-08-19 | 一种购买操作共享方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN106296365A (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679988A (zh) * | 2017-07-25 | 2018-02-09 | 上海壹账通金融科技有限公司 | 基金组合购买方法、***及存储介质 |
CN107679871B (zh) * | 2017-09-26 | 2020-03-17 | 平安科技(深圳)有限公司 | 名单管理方法、装置、***以及计算机可读存储介质 |
CN107944790A (zh) * | 2017-11-22 | 2018-04-20 | 四川瑞斯佳宴科技有限公司 | 食材采购管理方法及装置 |
CN109829771A (zh) * | 2017-11-23 | 2019-05-31 | 上海沃鎏波洱电子商务有限公司 | 一种一键购物方法和*** |
CN109242596A (zh) * | 2018-08-01 | 2019-01-18 | 北京辰森世纪科技股份有限公司 | 点餐方法及装置 |
CN110490705A (zh) * | 2019-08-13 | 2019-11-22 | 蚌埠聚本电子商务产业园有限公司 | 一种多用户电子商务商品共享方法及共享购买*** |
CN110738479B (zh) * | 2019-09-16 | 2021-02-23 | 口碑(上海)信息技术有限公司 | 基于多人点单的订单管理方法及*** |
CN110852828A (zh) * | 2019-09-27 | 2020-02-28 | 口碑(上海)信息技术有限公司 | 一种数据处理方法、装置及*** |
CN111461834B (zh) * | 2020-03-31 | 2023-06-20 | 时时同云科技(成都)有限责任公司 | 订单处理方法、装置及订单展示方法、装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880968A (zh) * | 2011-07-13 | 2013-01-16 | 杨裴生 | 聚单交易的网站架构 |
CN103745367A (zh) * | 2014-01-13 | 2014-04-23 | 许弘毅 | 用于代购平台***的拼单单元及代购平台*** |
CN103839144A (zh) * | 2012-11-28 | 2014-06-04 | 纽海信息技术(上海)有限公司 | 拼单方法及*** |
CN103870987A (zh) * | 2014-03-13 | 2014-06-18 | 上海云享科技有限公司 | 一种团购方法及*** |
CN104506627A (zh) * | 2014-12-26 | 2015-04-08 | 厦门雅迅网络股份有限公司 | 一种同桌用餐人员多平板同时点餐的方法及*** |
CN104992357A (zh) * | 2015-07-10 | 2015-10-21 | 拉扎斯网络科技(上海)有限公司 | 一种拼单方法和装置 |
CN105321055A (zh) * | 2014-06-24 | 2016-02-10 | 深圳市迅享科技有限公司 | 一种提高外卖配送效率的拼单方法及*** |
CN105635140A (zh) * | 2015-12-28 | 2016-06-01 | Tcl集团股份有限公司 | 一种基于二维码的点菜方法、***及移动终端和服务器端 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377437A (zh) * | 2012-04-27 | 2013-10-30 | 纽海信息技术(上海)有限公司 | 拼单***及拼单方法 |
CN103716370B (zh) * | 2013-10-13 | 2018-01-02 | 北界创想(北京)软件有限公司 | 在多个客户端之间进行数据同步的方法和装置 |
-
2016
- 2016-08-19 CN CN201610694459.5A patent/CN106296365A/zh active Pending
- 2016-08-19 CN CN202010308005.6A patent/CN111523971A/zh not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880968A (zh) * | 2011-07-13 | 2013-01-16 | 杨裴生 | 聚单交易的网站架构 |
CN103839144A (zh) * | 2012-11-28 | 2014-06-04 | 纽海信息技术(上海)有限公司 | 拼单方法及*** |
CN103745367A (zh) * | 2014-01-13 | 2014-04-23 | 许弘毅 | 用于代购平台***的拼单单元及代购平台*** |
CN103870987A (zh) * | 2014-03-13 | 2014-06-18 | 上海云享科技有限公司 | 一种团购方法及*** |
CN105321055A (zh) * | 2014-06-24 | 2016-02-10 | 深圳市迅享科技有限公司 | 一种提高外卖配送效率的拼单方法及*** |
CN104506627A (zh) * | 2014-12-26 | 2015-04-08 | 厦门雅迅网络股份有限公司 | 一种同桌用餐人员多平板同时点餐的方法及*** |
CN104992357A (zh) * | 2015-07-10 | 2015-10-21 | 拉扎斯网络科技(上海)有限公司 | 一种拼单方法和装置 |
CN105635140A (zh) * | 2015-12-28 | 2016-06-01 | Tcl集团股份有限公司 | 一种基于二维码的点菜方法、***及移动终端和服务器端 |
Also Published As
Publication number | Publication date |
---|---|
CN106296365A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111523971A (zh) | 一种购买操作共享方法及装置 | |
JP5802827B2 (ja) | マイクロブログ・メッセージを表示するための方法及びシステム、及びサーバ、及び記憶媒体 | |
US20110167114A1 (en) | Automatically synchronizing new contacts across multiple social networking sites | |
CA3047081C (en) | Production-like testing and complex business to business auditing system | |
EP3685545B1 (en) | Blockchain-based systems and methods for communicating, storing and processing data over a blockchain network | |
JP2019511065A5 (zh) | ||
EP2686821A1 (en) | Discovering spam merchants using product feed similarity | |
JP2013210821A (ja) | 情報提供装置、情報提供方法、情報提供プログラム、及びそのプログラムを記憶するコンピュータ読取可能な記録媒体 | |
US20230281695A1 (en) | Determining and presenting information related to a semantic context of electronic message text or voice data | |
US10164931B2 (en) | Content personalization based on attributes of members of a social networking service | |
US20200402122A1 (en) | Transaction management system and transaction management method | |
US11935004B2 (en) | Reading and writing processing improvements as a single command | |
CN106886936B (zh) | 一种订单处理方法、装置及服务器 | |
CN110473108B (zh) | 基于区块链的合约生成方法和装置 | |
US11907267B2 (en) | User interface for frequent pattern analysis | |
EP3539075B1 (en) | Multi-factor routing system for exchanging business transactions | |
US11295364B1 (en) | System, method, and computer-readable medium for matching products across merchants and updating registries based on other users' actions | |
US20160188173A1 (en) | Replicating User Input Across Displayed Search Results | |
US20190342409A1 (en) | Website creation from location and communication data | |
JP6817612B2 (ja) | 寄付支援システム及び寄付支援方法 | |
US20200184385A1 (en) | Sensor management unit, sensor device, sensing data providing method, and sensing data providing program | |
JP2013050974A (ja) | 情報提供サーバ、および情報提供システム | |
US20230229865A1 (en) | Extensible digital assistant interface using natural language processing to respond to user intent | |
JP6599126B2 (ja) | セグメント管理システム、及びプログラム | |
Benson et al. | HL7 dynamic model |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200811 |