Order delivery method and order delivery device
By generating a list of candidate users and sending a reordering request, the delivery order of food orders is adjusted, thus solving the problem of users urgently needing delivery in the food delivery queuing system.
Patent Information
- Application Number
- CN202111256913.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-27
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2041-10-27
AI Technical Summary
The food delivery queuing system cannot handle users who are in a hurry and need priority delivery.
By generating a list of candidate users, users with needs can select target users and send reorder requests. If a confirmation message is received, the delivery order is adjusted and the order delivery table is updated.
By coordinating the delivery order between users with urgent needs and those with target needs, the problem of users needing urgent delivery was solved.
Smart Images

Figure CN116050719B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data processing, in particular to an order delivery method and an order delivery device. BACKGROUND
[0002] In the related art, after the rider receives multiple user orders, the takeout queuing system will sort the multiple user orders. Usually, the system will automatically generate a delivery sequence according to the user's order time, the rider's route to each user, and other factors. However, in some special cases, some users are in a hurry and need priority delivery, and the takeout queuing system cannot handle such problems. SUMMARY
[0003] Therefore, the present application provides an order delivery method and an order delivery device to solve the problem that in the process of takeout delivery, some users are in a hurry and need priority delivery, and the takeout queuing system cannot handle such needs.
[0004] To achieve the above purpose, in a first aspect, the present application provides an order delivery method, which comprises:
[0005] In response to a sequence adjustment request initiated by a demand user, a candidate user list is generated according to the delivery sequence of each order user stored in the order delivery table, wherein the candidate user list includes each order user with adjustable sequence;
[0006] In response to a user selection instruction triggered by the demand user for the candidate user list, a sequence adjustment application request is sent to a target user corresponding to the user selection instruction, wherein the target user includes a sequence adjustment user and an associated user, and the sequence adjustment user is the user selected by the user selection instruction.
[0007] If a sequence adjustment confirmation message returned by the target user is received, the delivery sequence of the demand user and the sequence adjustment user is adjusted, and the order delivery table is updated according to the adjustment result.
[0008] In some examples, the response to the user selection instruction triggered by the demand user for the candidate user list includes:
[0009] Determine the sequence adjustment user corresponding to the user selection instruction;
[0010] Calculate the first estimated arrival time of each order user in the order delivery table after the sequence adjustment of the sequence adjustment user and the demand user;
[0011] Based on the first estimated delivery time of each order user, determine the associated user corresponding to the reordering user, and send the reordering request to the reordering user and the associated user.
[0012] In some examples, determining the associated user corresponding to the reordering user based on the first estimated delivery time of each order user, and sending the reordering request to the reordering user and the associated user includes:
[0013] The first estimated delivery time of each order user is compared with the promised delivery time in the order delivery table to determine the first delayed user, wherein the first delayed user is the order user whose first estimated delivery time exceeds the promised delivery time, excluding the demand user and the reorder user;
[0014] Based on the order of delivery between the first delayed user and the user in need in the order delivery table, the associated user is determined, and the reordering request is sent to the reordering user and the associated user.
[0015] In some examples, determining the associated user based on the delivery order relationship between the first delayed user and the demanding user in the order delivery table, and sending the reordering request to the reordering user and the associated user includes:
[0016] Determine whether the delivery order of each of the first delayed users is before the demanding user;
[0017] If so, then the associated user is the first delayed user;
[0018] If not, a preset delivery order is generated for each of the order users, and a second estimated delivery time for each of the order users is generated based on the preset delivery order; the second estimated delivery time for each order user is compared with the promised delivery time in the order delivery table to determine the second delayed user, and the associated user is the second delayed user, wherein the second delayed user is an order user whose second estimated delivery time exceeds the promised delivery time, excluding the demand user and the reorder user;
[0019] The reordering request is sent to the reordering user and the associated user.
[0020] In some examples, if not, then generating a preset delivery order for each of the order users, and generating a second estimated delivery time for each of the order users based on the preset delivery order includes:
[0021] The order users in the order delivery table are divided into demand users, first group users, and second group users, wherein the first group users are all the first delayed users, and the second group users are the demand users and order users other than the first group users.
[0022] The preset delivery order is generated based on the sorting of the demanding users, the first group of users, and the second group of users, and the second estimated delivery time for each order user is generated based on the preset delivery order.
[0023] In some examples, the process of generating a candidate user list in response to a request for order adjustment from a user with a demand includes generating the list based on the delivery order of each order user stored in the order delivery table.
[0024] Retrieve the delivery status of each order user whose delivery order is preceding that of the requesting user in the order delivery table;
[0025] The candidate user list is generated by filtering out the order users whose delivery status is "not delivered".
[0026] In some examples, the target user includes reordering users and associated users; the user selection instruction carries reordering compensation resources; the step of sending a reordering request to the target user corresponding to the user selection instruction in response to the user selection instruction triggered by the requesting user for the candidate user list includes:
[0027] Determine the total number of the reordered users and the associated users;
[0028] The reorder compensation resources are divided into sub-reorder compensation resources according to the total quantity, and the reorder application request carrying the sub-reorder compensation resources is sent to the reorder user and the associated user.
[0029] In some examples, after receiving a reordering confirmation message from the target user, adjusting the delivery order between the requesting user and the target user, and updating the order delivery table based on the adjustment result, the method includes:
[0030] Obtain and determine whether the order status of the reordering user and the associated user is a return status;
[0031] If the order status of the reordering user or any of the associated users is a return status, then the sub-reordering compensation resources received by the order user whose order status is a return status will be allocated to the reordering user and / or the associated user other than the order user whose order status is a return status.
[0032] In some examples, after responding to a user selection instruction triggered by the requesting user for the candidate user list, and sending a reordering request to the target user corresponding to the user selection instruction, the method includes:
[0033] Real-time acquisition of the delivery status of the target user;
[0034] Determine whether the delivery status of the target user is "in delivery";
[0035] If so, then terminate the subsequent process.
[0036] In a second aspect, the present invention provides an order delivery device, comprising:
[0037] The list generation module is used to respond to the order adjustment request initiated by the user with demand, and generate a candidate user list according to the delivery order of each order user stored in the order delivery table, wherein the candidate user list includes each order user whose order can be adjusted.
[0038] The sending module is used to respond to the user selection instruction triggered by the requesting user for the candidate user list, and send a reordering request to the target user corresponding to the user selection instruction, wherein the target user includes the reordering user and the associated user, and the reordering user is the user selected by the user selection instruction;
[0039] The order update module is used to adjust the delivery order between the requesting user and the reordering user if a reorder confirmation message is received from the target user, and update the order delivery table according to the adjustment result.
[0040] Thirdly, the present invention provides an electronic device, comprising:
[0041] At least one processor; and
[0042] A memory communicatively connected to the at least one processor; wherein,
[0043] The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the method described above.
[0044] Fourthly, the present invention provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to perform the above-described method.
[0045] The present invention has at least the following advantages:
[0046] The order delivery method and device provided by this invention generate a candidate user list after the requesting user sends a request for order adjustment, allowing the user to select the target user to be exchanged. The device then sends an order adjustment request to the target user, who can then choose whether to agree to the adjustment. If a confirmation message is received from the target user, the delivery order of the requesting user and the target user is adjusted, and the order delivery table is updated based on the adjustment result. This allows for the coordination of the delivery order between the requesting user and the target user in response to the request for order adjustment, thus addressing the issue of some users being in a hurry and requiring priority delivery during food delivery. Attached Figure Description
[0047] The accompanying drawings are provided to further illustrate the invention and form part of the specification. They are used together with the following detailed description to explain the invention, but do not constitute a limitation thereof.
[0048] Figure 1 A flowchart illustrating one embodiment of the order delivery method provided by the present invention;
[0049] Figure 2 An order delivery table is provided as an embodiment of the order delivery method provided by the present invention.
[0050] Figure 3 A flowchart illustrating another embodiment of the order delivery method provided by the present invention;
[0051] Figure 4 A schematic diagram of the structure of one embodiment of the order delivery device provided by the present invention;
[0052] Figure 5 A schematic diagram of the structure of an embodiment of the electronic device provided by the present invention. Detailed Implementation
[0053] To enable those skilled in the art to better understand the technical solution of the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0054] It is understood that the specific embodiments and accompanying drawings described herein are merely for explaining the invention and are not intended to limit the invention.
[0055] It is understood that, without conflict, the various embodiments and features in the embodiments of the present invention can be combined with each other.
[0056] It is understood that, for ease of description, only the parts related to the present invention are shown in the accompanying drawings, while the parts unrelated to the present invention are not shown in the drawings.
[0057] It is understood that each unit or module involved in the embodiments of the present invention may correspond to only one entity structure, or may be composed of multiple entity structures, or multiple units or modules may be integrated into one entity structure.
[0058] It is understood that, without conflict, the functions and steps marked in the flowcharts and block diagrams of this invention may occur in a different order than that marked in the accompanying drawings.
[0059] It is understood that the flowcharts and block diagrams of this invention illustrate the possible architecture, functions, and operations of systems, apparatuses, devices, and methods according to various embodiments of this invention. Each block in the flowchart or block diagram may represent a unit, module, program segment, or code, containing executable instructions for implementing the specified function. Furthermore, each block or combination of blocks in the block diagram and flowchart can be implemented using a hardware-based system to achieve the specified function, or using a combination of hardware and computer instructions.
[0060] It is understood that the units and modules involved in the embodiments of the present invention can be implemented by software or by hardware. For example, the units and modules can be located in a processor.
[0061] It should be noted that the order delivery method provided by this invention can be applied to various order delivery scenarios, such as food delivery, goods delivery, and medicine delivery, and is not limited thereto. For ease of explanation, the following description will use food delivery as an example, that is, the order and the user are food delivery users, but this does not constitute a limitation on this invention.
[0062] Example 1
[0063] See Figure 1 , Figure 1 A flowchart illustrating an embodiment of the order delivery method provided by the present invention is shown. The present invention provides an order delivery method applicable to a food delivery queuing system (hereinafter referred to as the system), the method comprising:
[0064] S1. In response to the order adjustment request initiated by the user with the demand, generate a list of candidate users based on the delivery order of each order user stored in the order delivery table.
[0065] After a rider receives multiple user orders, the system initializes the order sorting and generates an order delivery table. The order delivery table can include various information, such as delivery order, username, estimated delivery time, delivery status, and promised delivery time. For example, see... Figure 2 , Figure 2This example illustrates an order delivery table where order users include A, B, C, D, E, F, G, H, I, and G. The following explanation uses G as the requesting user. If G needs priority delivery, it sends a request to the system to adjust the delivery order. Upon receiving the request, the system generates a candidate user list according to rules. This candidate user list includes all order users whose delivery order can be adjusted. For example, the system filters out order users whose delivery order is before G's and whose delivery status is "not delivered" to generate a candidate user list. This allows the requesting user G to choose the order user whose delivery order they wish to swap. For instance, the candidate user list might include order users C, D, E, and F.
[0066] It should be noted that the delivery order in the order delivery table can be generated in various ways, such as based on the order order of users, or by combining the order order of users with parameters such as the distance between the user and the rider. No specific limitation is made here. The estimated delivery time for an order user (e.g., user A) in the order delivery table refers to the time required for the delivery point of the order user preceding user A to reach user A's delivery point. This time is a system estimate and is not displayed to the user. It can be used to calculate the first estimated delivery time, the second estimated delivery time, etc. Delivery status includes delivered, in transit, and not delivered. The promised delivery time is the delivery time displayed to the user. It is generated based on the estimated delivery time, and the promised delivery time can be increased by a certain amount of time. For example, if the current order is delivered at 10:50, and the estimated delivery time for the next order user is 10 minutes (i.e., the estimated delivery time is 10:15), then the promised delivery time can be 10:25.
[0067] S2. In response to the user selection instruction triggered by the user requesting the candidate user list, send a reordering request to the target user corresponding to the user selection instruction.
[0068] Upon receiving the user selection instruction triggered by the candidate user list from the requesting user G, the target user corresponding to the user selection instruction is determined. The target user can include the reordering user, as well as the reordering user and associated users. The reordering user is the order user selected by G (i.e., the requesting user) from the candidate user list whose delivery order they wish to exchange. The user selection instruction carries the identity identifier of the reordering user selected by the requesting user. The associated users are the related order users determined based on the requesting user and the reordering user. If the associated users are empty, the target user is the reordering user. Based on the user selection instruction, the target user is determined, and then a reorder request is sent to one or more target users for confirmation of acceptance.
[0069] S3. If a reorder confirmation message is received from the target user, adjust the delivery order between the requesting user and the reordering user, and update the order delivery table according to the adjustment result.
[0070] If a reorder confirmation message is received from the target user, the delivery order of the requesting user and the target user is adjusted. Specifically, the delivery order of the reordering user between the requesting user and the target user is swapped, and the order delivery table is updated according to the adjustment result. The rider then delivers orders according to the updated delivery order in the order delivery table. The adjustment result is the new delivery order generated after swapping the delivery orders of the requesting user and the reordering user. The estimated delivery time and promised delivery time for each order user are updated according to the new delivery order.
[0071] In some examples, if the target users include reordering users and associated users, S3 may include multiple sub-steps:
[0072] Sub-step 1: Determine whether reorder confirmation messages for the reordering user and all associated users have been received.
[0073] The reorder confirmation message of the reordering user or each associated user carries its own identity identifier. Based on the identity identifier in each received reorder confirmation message, it is determined whether the reorder confirmation message of the reordering user or all associated users has been received.
[0074] Sub-step 2: If a reorder confirmation message is received from the reordering user and all associated users, the delivery order of the requesting user and the target user is adjusted, and the order delivery table is updated according to the adjustment result.
[0075] Once it is confirmed that all relevant order users (the reordering user and all associated users) have accepted the reordering request, the delivery order of the requesting user and the target user (specifically, the reordering user) will be adjusted. Alternatively, the delivery order can be adjusted only when a reordering confirmation message is received from the reordering user, and more than a preset number or proportion of associated users are also received; this is not limited here.
[0076] The order delivery method provided by this invention generates a candidate user list after the requesting user sends a request for order adjustment, allowing the user to select the target user to be exchanged. It then sends an order adjustment request to the target user, who can then choose whether to agree to the adjustment. If a confirmation message is received from the target user, the delivery order of the requesting user and the target user is adjusted, and the order delivery table is updated based on the adjustment result. This method can coordinate the delivery order of the requesting user and the target user in response to the request for order adjustment, thus solving the problem of some users being in a hurry and requiring priority delivery during the food delivery process.
[0077] Example 2
[0078] See Figure 3 , Figure 3 A flowchart illustrating an order delivery method provided by another embodiment of the present invention is shown.
[0079] In some examples, S1 includes:
[0080] S11. Obtain the delivery status of each order user whose delivery order precedes that of the requesting user in the order delivery table.
[0081] When a user in the order delivery table (i.e., the user requesting delivery) needs priority, they send a priority adjustment request to the system. Upon receiving the request, the system filters out all users in the order delivery table whose delivery order precedes that of the user requesting delivery and retrieves the delivery status of these users. For example... Figure 2 In the order delivery table, taking Geng as the demand user as an example, the order users whose delivery order precedes Geng are Jia, Yi, Bing, Ding, Wu, and Ji. The delivery status of Jia, Yi, Bing, Ding, Wu, and Ji is obtained in sequence.
[0082] S12. Filter out users with orders whose delivery status is "not delivered" and generate a list of candidate users.
[0083] Based on the filtering results of S11, that is, based on the delivery status of order users whose delivery order precedes that of the requesting user, a candidate user list is generated by filtering out order users whose delivery status is "not delivered". Order users whose delivery status is "not delivered" are the order users whose order can be reordered. For example Figure 2 In the order delivery table, taking user G as an example, a candidate user list is generated by filtering out users C, D, E, and F whose delivery status is "not delivered" from users A, B, C, D, E, and F. In other words, the candidate user list includes users C, D, E, and F. Generating the candidate user list using the above method can exclude some users whose order cannot be changed.
[0084] In some examples, the target users include: sorting users and associated users, then S2 includes:
[0085] S21. Determine the ordering user corresponding to the user selection instruction.
[0086] The order-switching user is the order user whose order delivery order the user wants to exchange. The order user triggers a user selection instruction carrying the identity identifier of the order-switching user based on the candidate user list. The system marks the order user corresponding to the identity identifier as the order-switching user according to the identity identifier in the user selection instruction.
[0087] S22. Calculate the first estimated delivery time for each order user in the order delivery table after the order ordering users and demand users are rearranged.
[0088] The delivery order of users who need to reorder and users who require delivery is swapped to generate a new delivery order. Based on the new delivery order, the first estimated delivery time for each order user (including users who need to reorder and associated users) is calculated. Specifically, the first estimated delivery time for each order user can be generated according to the new delivery order based on the estimated delivery time corresponding to each order user.
[0089] It should be noted that step S22 is a step in which the system performs a preliminary calculation in the background, and the first estimated delivery time generated in S22 is not displayed to the order user.
[0090] S23. Based on the first estimated delivery time of each order user, determine the associated user corresponding to the reordering user, and send a reordering request to the reordering user and the associated user.
[0091] The system can compare the first estimated delivery time of each order user with the promised delivery time of each user in the order delivery table before the order is swapped, identify the associated users, and send reorder request requests to the reordering user and the associated users.
[0092] In some examples, S23 includes:
[0093] S231. Compare the first estimated delivery time of each order user with the promised delivery time in the order delivery table to determine the first delayed user, wherein the first delayed user is the order user whose first estimated delivery time exceeds the promised delivery time, excluding demand users and reordering users.
[0094] Based on the new delivery order, after generating the first estimated delivery time for each order user (including reordering users and associated users), the first estimated delivery time for each order user is compared with the promised delivery time in the order delivery table before the order exchange. If an order user's first estimated delivery time exceeds the original promised delivery time, in other words, if the order user and the reordering user exchange delivery orders, the order user will be delayed, then this order user is marked as the first delayed user. It should be noted that after the order user and the reordering user exchange delivery orders, the reordering user will inevitably be delayed, and the selection of the first delayed user is to identify associated users; therefore, the reordering user is not included in the first delayed user list.
[0095] The promised delivery time in the order delivery table is the delivery time displayed to the order users. It is generated based on the estimated delivery time, and the promised delivery time can be increased by a certain amount of time compared to the estimated delivery time corresponding to the estimated delivery time. For example, if the current order is delivered at 10:50, and the estimated delivery time for the next order user is 10 minutes, i.e., the estimated delivery time is 10:15, then the promised delivery time can be 10:25. Since there is a certain margin between the promised delivery time and the estimated delivery time (e.g., the first estimated delivery time), after the ordering user and the reordering user exchange delivery orders, two situations may occur: First, among all the order users, except for the reordering user, no order user's promised delivery time is delayed, i.e., the first delayed user is empty; Second, among all the order users, except for the reordering user, there are order users whose promised delivery time is delayed, and these order users are the first delayed users.
[0096] In the first case, the associated user is empty and the target user is the reordering user. After S231, a reordering request can be sent directly to the reordering user, and S3 can be executed. If a reordering confirmation message is received from the reordering user, the delivery order of the demand user and the reordering user is adjusted, and the order delivery table is updated according to the adjustment result.
[0097] If it is the second case, then execute S232.
[0098] S232. Based on the order of delivery between the first delayed user and the user in need in the order delivery table, determine the associated user and send a reorder request to the reordering user and the associated user.
[0099] In some examples, S232 includes:
[0100] S2321. Determine whether the delivery order of each first-delay user is before that of the user in need.
[0101] Determine whether the delivery order of each first-delay user is before that of the demand user, and determine the delivery order relationship between the first-delay users and the demand users in the order delivery table.
[0102] The delivery order relationship between the first delayed users and the demanding users in the order delivery table can include the following three scenarios: First, all first delayed users are delivered before the demanding users; second, all first delayed users are delivered after the demanding users; third, some first delayed users are delivered after the demanding users. In both the second and third scenarios, there are first delayed users whose delivery order is after the demanding users.
[0103] If the delivery order of each first-delay user is before that of the user in need, then execute S2322.
[0104] S2322, The associated user is the first delayed user.
[0105] In other words, if the delivery order relationship between the first delayed user and the demand user in the order delivery table is the first case, then the associated user is the first delayed user.
[0106] If any of the first-delayed users has a delivery order that is after the demanding user, then execute S2322'.
[0107] S2322' Generate a preset delivery order for each order user, and generate a second estimated delivery time for each order user based on the preset delivery order. Compare the second estimated delivery time of each order user with the promised delivery time in the order delivery table to determine the second delayed user. The associated user is the second delayed user. The second delayed user is the order user whose second estimated delivery time exceeds the promised delivery time, excluding the demand user and the reorder user.
[0108] In other words, if the delivery order relationship between the first delayed user and the demand user in the order delivery table is the second or third case, a new delivery order will be generated again according to the preset rules, namely the preset delivery order, and the second estimated delivery time for each order user will be generated based on the preset delivery order.
[0109] Next, the second estimated delivery time for each order user is compared with the promised delivery time in the order delivery table before the order swap. If an order user's second estimated delivery time exceeds their original promised delivery time—in other words, if delivery is made according to the preset delivery order, this order user will experience a delay—then this order user is marked as a second delayed user, and related users are also marked as second delayed users. It should be noted that after the requesting user and the reordering user swap delivery orders, the reordering user will inevitably experience a delay. The purpose of filtering for second delayed users is to identify related users; therefore, second delayed users do not include reordering users.
[0110] In some examples, S2322', generating a preset delivery order for each order user and generating a second estimated delivery time for each order user based on the preset delivery order includes several sub-steps:
[0111] Sub-step 1: Divide the order users in the order delivery table into demand users, first group users, and second group users. The first group users are all first-delay users, and the second group users are demand users and order users other than the first group users.
[0112] If the delivery order relationship between the first delayed user and the demand user in the order delivery table falls into either the second or third scenario (i.e., there exists a first delayed user whose delivery order follows that of the demand user), then the order users in the order delivery table are divided into demand users, a first group of users, and a second group of users. The first group consists of all the first delayed users, and the second group consists of demand users and all other order users outside the first group. In the second scenario, where the delivery order of all first delayed users follows that of the demand user, the first group consists of order users whose delivery order follows that of the demand user.
[0113] by Figure 2 Let's take the order delivery table as an example. Assume that the delivery order of each first-delay user is after the demand user. Taking the demand user as Geng and the order-resetting user as Ding as an example, the first-delay users are Xin, Ren, and Gui. Divide the order users in the delivery order table whose delivery status is not delivered into demand users (Geng), first group users (Xin, Ren, Gui), and second group users (Bing, Ding, Wu, Ji).
[0114] Sub-step two: Generate a preset delivery order based on the order of demanding users, the first group of users, and the second group of users, and generate a second estimated delivery time for each order user based on the preset delivery order.
[0115] A new delivery order, or preset delivery order, is generated based on the sorting of demanding users - first group of users - second group of users. Then, a second estimated delivery time is calculated for each order based on this preset delivery order. Specifically, the second estimated delivery time for each order can be generated according to the estimated delivery time for each user and the preset delivery order.
[0116] It should be noted that in the generated preset delivery order, the order order of each user in the first group and the second group remains the same as the order delivery order in the order delivery table before the order exchange. For example, in the above sub-step one, the order users are grouped into demand users (Geng), the first group of users (Xin, Ren, Gui), and the second group of users (Bing, Ding, Wu, Ji). The new delivery order is Geng-Xin-Ren-Gui-Bing-Ding-Wu-Ji. The order order of Xin, Ren, Gui in the first group and Ding, Wu, Ji in the second group remains the same as the order delivery order in the order delivery table before the order exchange.
[0117] In this embodiment, taking the first delayed user as an example, the promised delivery time of the order user whose delivery order is after the demand user is delayed, while the promised delivery time of the order user whose delivery order is before the demand user is not affected. Therefore, it can be roughly inferred that the order user whose delivery order is before the demand user still has a certain delay margin. Thus, moving the delivery order of the order user whose delivery order is after the demand user forward can avoid affecting the promised delivery time of these order users, and lock the associated users as much as possible among the order users whose delivery order is before the demand user, so as to reduce the number of associated users.
[0118] S2323: Send a reorder request to the reordering user and associated user.
[0119] After identifying the associated user in S2322 or S2322', a reordering request is sent to the reordering user and the associated user so that the reordering user and the associated user can determine whether to accept the reordering request. If they accept, a reordering confirmation message is returned.
[0120] S3. If a reorder confirmation message is received from the target user, adjust the delivery order between the requesting user and the target user, and update the order delivery table according to the adjustment result.
[0121] If a reorder confirmation message is received from the target user, the delivery order of the requesting user and the target user is adjusted. Specifically, the delivery order of the reordering user between the requesting user and the target user is swapped, and the order delivery table is updated according to the adjustment result. The rider then delivers orders according to the updated delivery order in the order delivery table. The adjustment result is the new delivery order generated after swapping the delivery orders of the requesting user and the reordering user. The estimated delivery time and promised delivery time for each order user are updated according to the new delivery order.
[0122] It should be noted that, based on S2322', adjusting the delivery order of demand users and target users in S3, and updating the order delivery table according to the adjustment result, includes: adjusting the delivery order of demand users and target users according to the preset delivery order, and updating the order delivery table according to the adjustment result. In this embodiment, the adjustment result is the preset delivery order. The estimated delivery time, promised delivery time, etc. of each order user are updated according to the preset delivery order, and the riders subsequently deliver according to the preset delivery order.
[0123] In some examples, S3 may include multiple sub-steps:
[0124] Sub-step 1: Determine whether reorder confirmation messages for the reordering user and all associated users have been received.
[0125] The reorder confirmation message of the reordering user or each associated user carries its own identity identifier. Based on the identity identifier in each received reorder confirmation message, it is determined whether the reorder confirmation message of the reordering user or all associated users has been received.
[0126] Sub-step 2: If a reorder confirmation message is received from the reordering user and all associated users, the delivery order of the requesting user and the target user is adjusted, and the order delivery table is updated according to the adjustment result.
[0127] Once it is confirmed that all relevant order users (the reordering user and all associated users) have accepted the reordering request, the delivery order of the requesting user and the target user (specifically, the reordering user) will be adjusted. Alternatively, the delivery order can be adjusted only when a reordering confirmation message is received from the reordering user, and more than a preset number or proportion of associated users are also received; this is not limited here.
[0128] It should be noted that all the order users involved in the above-mentioned order reorder are those whose order status in the order delivery table is "not delivered".
[0129] In some examples, the user selection instruction may carry reorder compensation resources, such as red envelopes or coupons. The amount of the reorder compensation resources can be set by the system or by the requesting user; no restriction is placed here. In embodiments where the user selection instruction carries reorder compensation resources, after determining the associated user in S2, sending the reorder request to the target user (including the reordering user and the associated user) corresponding to the user selection instruction in S2 further includes several sub-steps:
[0130] Sub-step 1: Determine the total number of users to be reordered and associated users.
[0131] The total number is the number of associated users plus the number of users who need to be reordered. If there are no associated users, the total number is 1.
[0132] Sub-step two: Divide the reorder compensation resources into sub-reorder compensation resources according to the total quantity, and send reorder application requests carrying the sub-reorder compensation resources to the reorder user and associated users.
[0133] Based on the total number of users and associated users, the reorder compensation resources are divided into sub-reorder compensation resources equal to the total number. Specifically, the reorder compensation resources can be divided into sub-reorder compensation resources in an equal manner, or weight coefficients can be set for each user and each associated user, and the sub-reorder compensation resources for the corresponding user or associated user can be allocated according to their respective weight coefficients. There is no restriction on this. The sub-reorder compensation resources are sent to the user and associated users along with the reorder request. If the user or associated user accepts the reorder request, the sub-reorder compensation resources are distributed to the user account of the user or associated user.
[0134] The above sub-steps one and two are optional steps, and in some examples, sub-steps one and two can be omitted.
[0135] It should be noted that if the user requesting the reordering or any associated user refuses the reordering request, the reordering will not be executed, and all sub-reordering compensation resources will be reclaimed and returned to the account of the user who requested the reordering.
[0136] In some examples, after S2 and before S3, the method includes:
[0137] Step 1: Obtain the delivery status of the target user in real time.
[0138] During the execution of this method, including after the user triggers the user selection instruction in S21, or after sending a reordering request to the reordering user and associated user in S2323, while waiting for the response from the reordering user and associated user, the delivery status of each target user is obtained in real time.
[0139] Step 2: Determine whether the target user's delivery status is "delivery in progress".
[0140] To determine whether the delivery status of the user being reordered and any associated user is in delivery, specifically, an identifier value can be set for each of the three delivery statuses (delivered, in delivery, and not delivered), the identifier value of the delivery status of the user being reordered and each associated user can be obtained, and it can be detected whether the identifier value has changed to delivered or in delivery.
[0141] Step 3: If the delivery status of any target user (reordering user or associated user) is "delivery in progress", then the subsequent process will be terminated.
[0142] If the identifier value of the delivery status of the reordering user and each associated user is detected to have changed to the identifier value of "delivered" or "in delivery", the reordering cannot be executed, and the subsequent process is terminated. In the embodiment where the user selects an instruction to carry reordering compensation resources, this includes reclaiming each sub-reordering compensation resource and returning it to the account of the requesting user to prevent the delivery order from becoming chaotic.
[0143] In some examples, after S3, the method includes:
[0144] Get and determine whether the order status of the user and related users is a return status.
[0145] If the order status of the reordering user or any associated user is a return status, the sub-reordering compensation resources received by the order user with the order status of return will be allocated to the reordering user and / or associated user other than the order user with the order status of return.
[0146] By monitoring the order status of users who are reordering or associated with other users, it is possible to prevent users from placing duplicate orders to maliciously obtain sub-ordering compensation resources, thereby effectively improving the security of the system.
[0147] The order delivery method provided by this invention generates a candidate user list after the requesting user sends a request for order adjustment, allowing the user to select the target user to be exchanged. It then sends an order adjustment request to the target user, who can then choose whether to agree to the adjustment. If a confirmation message is received from the target user, the delivery order of the requesting user and the target user is adjusted, and the order delivery table is updated based on the adjustment result. This method can coordinate the delivery order of the requesting user and the target user in response to the request for order adjustment, thus solving the problem of some users being in a hurry and requiring priority delivery during the food delivery process.
[0148] Example 3
[0149] See Figure 4 , Figure 4 This diagram illustrates the structure of an order delivery device according to an embodiment of the present invention. This embodiment provides an order delivery device, including:
[0150] The list generation module 101 is used to respond to the order adjustment request initiated by the user with the demand and generate a candidate user list according to the delivery order of each order user stored in the order delivery table. The candidate user list includes each order user whose order can be adjusted.
[0151] The sending module 102 is used to send a reordering request to the target user corresponding to the user selection instruction in response to the user selection instruction triggered by the requesting user for the candidate user list. The target user includes the reordering user and the associated user, and the reordering user is the user selected by the user selection instruction.
[0152] The order update module 103 is used to adjust the delivery order between the requesting user and the reordering user if a reorder confirmation message is received from the target user, and to update the order delivery table according to the adjustment result.
[0153] The order delivery device provided by this invention generates a candidate user list after the requesting user sends a request for order adjustment, allowing the user to select the target user to be exchanged. It then sends an order adjustment request to the target user, allowing the target user to choose whether to agree to the adjustment. If a confirmation message is received from the target user, the delivery order of the requesting user and the target user is adjusted, and the order delivery table is updated based on the adjustment result. This allows the device to coordinate the delivery order of the requesting user and the target user in response to the request for order adjustment, thus addressing the issue of some users being in a hurry and requiring priority delivery during food delivery.
[0154] Example 4
[0155] This invention provides an electronic device, comprising:
[0156] At least one processor. And
[0157] A memory that is communicatively connected to at least one processor. Wherein,
[0158] The memory stores instructions that can be executed by at least one processor, which enables the at least one processor to perform the order delivery method described above.
[0159] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0160] See Figure 5 , Figure 5 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0161] like Figure 5As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.
[0162] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as a keyboard, mouse, etc.; output unit 807, such as various types of displays, speakers, etc.; storage unit 808, such as a disk, optical disk, etc.; and communication unit 809, such as a network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0163] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as the order fulfillment method. For example, in some embodiments, the order fulfillment method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the order fulfillment method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the order fulfillment method by any other suitable means (e.g., by means of firmware).
[0164] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0165] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0166] Example 5
[0167] The present invention provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the order delivery method described above.
[0168] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0169] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user. For example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback). Input from the user can be received in any form (including sound input, voice input, or tactile input).
[0170] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0171] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0172] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0173] It is understood that the above embodiments are merely exemplary implementations used to illustrate the principles of the present invention, and the present invention is not limited thereto. For those skilled in the art, various modifications and improvements can be made without departing from the spirit and essence of the present invention, and these modifications and improvements are also considered to be within the scope of protection of the present invention.
Claims
1. An order delivery method, characterized in that, The method includes: In response to a request for order adjustment initiated by a user with a demand, a candidate user list is generated based on the delivery order of each order user stored in the order delivery table, wherein the candidate user list includes each order user whose order can be adjusted. In response to the user selection instruction triggered by the user requesting the candidate user list, a reordering request is sent to the target user corresponding to the user selection instruction, wherein the target user includes the reordering user and the associated user, and the reordering user is the user selected by the user selection instruction; If a reorder confirmation message is received from the target user, the delivery order between the requesting user and the reordering user is adjusted, and the order delivery table is updated according to the adjustment result; The step of responding to a user selection instruction triggered by the requesting user in response to the candidate user list and sending a reordering request to the target user corresponding to the user selection instruction includes: determining the reordering user corresponding to the user selection instruction; calculating the first estimated delivery time for each order user in the order delivery table after the reordering user and the requesting user are reordered; determining the associated user corresponding to the reordering user based on the first estimated delivery time of each order user; and sending the reordering request to the reordering user and the associated user. The step of determining the associated user corresponding to the reordering user based on the first estimated delivery time of each order user, and sending the reordering request to the reordering user and the associated user, includes: comparing the first estimated delivery time of each order user with the promised delivery time in the order delivery table to determine the first delayed user, wherein the first delayed user is an order user whose first estimated delivery time exceeds the promised delivery time, excluding the demand user and the reordering user; determining the associated user based on the delivery order relationship between the first delayed user and the demand user in the order delivery table; and sending the reordering request to the reordering user and the associated user. The step of determining the associated user based on the delivery order relationship between the first delayed user and the demand user in the order delivery table, and sending the reordering request to the reordering user and the associated user includes: Determine whether the delivery order of each of the first delayed users is before the demanding user; If so, then the associated user is the first delayed user; If not, a preset delivery order for each order user is generated according to preset rules, and a second estimated delivery time for each order user is generated according to the preset delivery order; the second estimated delivery time for each order user is compared with the promised delivery time in the order delivery table to determine the second delayed user, and the associated user is the second delayed user, wherein the second delayed user is an order user whose second estimated delivery time exceeds the promised delivery time, excluding the demand user and the reorder user; The reordering request is sent to the reordering user and the associated user.
2. The method according to claim 1, characterized in that, If not, then a preset delivery order is generated for each of the order users, and a second estimated delivery time is generated for each of the order users based on the preset delivery order, including: The order users in the order delivery table are divided into demand users, a first group of users, and a second group of users. The first group of users consists of all the first delayed users, and the second group of users consists of the demand users and order users other than the first group of users. The preset delivery order is generated based on the sorting of the demanding users, the first group of users, and the second group of users, and the second estimated delivery time for each order user is generated based on the preset delivery order.
3. The method according to claim 1, characterized in that, The process of responding to a user's request for order adjustment, and generating a candidate user list based on the delivery order of each order user stored in the order delivery table, includes: Retrieve the delivery status of each order user whose delivery order is preceding that of the requesting user in the order delivery table; The candidate user list is generated by filtering out the order users whose delivery status is "not delivered".
4. The method according to any one of claims 1-3, characterized in that, The target users include reordering users and associated users; the user selection instruction carries reordering compensation resources; the step of sending a reordering request to the target user corresponding to the user selection instruction in response to the user selection instruction triggered by the requesting user for the candidate user list includes: Determine the total number of the reordered users and the associated users; The reorder compensation resources are divided into sub-reorder compensation resources according to the total quantity, and the reorder application request carrying the sub-reorder compensation resources is sent to the reorder user and the associated user.
5. The method according to claim 4, characterized in that, If a reorder confirmation message is received from the target user, the delivery order between the requesting user and the target user is adjusted, and the order delivery table is updated according to the adjustment result. The method then includes: Obtain and determine whether the order status of the reordering user and the associated user is a return status; If the order status of the reordering user or any of the associated users is a return status, then the sub-reordering compensation resources received by the order user whose order status is a return status will be allocated to the reordering user and / or the associated user other than the order user whose order status is a return status.
6. The method according to any one of claims 1-3, characterized in that, After responding to the user selection instruction triggered by the requesting user for the candidate user list, and sending a reordering request to the target user corresponding to the user selection instruction, the method further includes: Real-time acquisition of the delivery status of the target user; Determine whether the delivery status of the target user is "in delivery"; If so, then terminate the subsequent process.
7. An order delivery device, characterized in that, include: The list generation module is used to respond to the order adjustment request initiated by the user with demand, and generate a candidate user list according to the delivery order of each order user stored in the order delivery table, wherein the candidate user list includes each order user whose order can be adjusted. The sending module is used to respond to the user selection instruction triggered by the requesting user for the candidate user list, and send a reordering request to the target user corresponding to the user selection instruction, wherein the target user includes the reordering user and the associated user, and the reordering user is the user selected by the user selection instruction; The order update module is used to adjust the delivery order between the requesting user and the reordering user if a reorder confirmation message is received from the target user, and update the order delivery table according to the adjustment result; The step of responding to a user selection instruction triggered by the requesting user in response to the candidate user list and sending a reordering request to the target user corresponding to the user selection instruction includes: determining the reordering user corresponding to the user selection instruction; calculating the first estimated delivery time for each order user in the order delivery table after the reordering user and the requesting user are reordered; determining the associated user corresponding to the reordering user based on the first estimated delivery time of each order user; and sending the reordering request to the reordering user and the associated user. The step of determining the associated user corresponding to the reordering user based on the first estimated delivery time of each order user, and sending the reordering request to the reordering user and the associated user, includes: comparing the first estimated delivery time of each order user with the promised delivery time in the order delivery table to determine the first delayed user, wherein the first delayed user is an order user whose first estimated delivery time exceeds the promised delivery time, excluding the demand user and the reordering user; determining the associated user based on the delivery order relationship between the first delayed user and the demand user in the order delivery table; and sending the reordering request to the reordering user and the associated user. The step of determining the associated user based on the delivery order relationship between the first delayed user and the demand user in the order delivery table, and sending the reordering request to the reordering user and the associated user, includes: Determine whether the delivery order of each of the first delayed users is before the demanding user; If so, then the associated user is the first delayed user; If not, a preset delivery order for each order user is generated according to preset rules, and a second estimated delivery time for each order user is generated according to the preset delivery order; the second estimated delivery time for each order user is compared with the promised delivery time in the order delivery table to determine the second delayed user, and the associated user is the second delayed user, wherein the second delayed user is an order user whose second estimated delivery time exceeds the promised delivery time, excluding the demand user and the reorder user; The reordering request is sent to the reordering user and the associated user.
8. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-6.
9. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-6.
Citation Information
Patent Citations
Order distribution method, device, server, and storage medium
CN109508923A
Logistics transport capacity allocation method, device and system
CN112668924A