Service interaction method based on car washing platform

By obtaining the user's latitude and longitude on the car wash platform to generate geofences, using Redis cache and multi-dimensional sorting to optimize store recommendations, combining three-state order management and dual-slot recommendations, the problems of inaccurate matching and process separation of traditional platforms are solved, and user experience and operational efficiency are improved.

CN120354015APending Publication Date: 2025-07-22XINLIDE (HUBEI) MECHANICAL & ELECTRICAL EQUIP ENG CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510852378.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-24
Publication Date
2025-07-22

AI Technical Summary

Technical Problem

Traditional car wash platforms cannot accurately match user needs and store resources, and the order process design is complex and fragmented, resulting in poor user experience and low conversion rate.

Method used

Generate geofence scope by obtaining user latitude and longitude coordinates, use Redis second-level cache to obtain store status data, perform multi-dimensional sorting to generate recommendation lists, integrate three-state order management system and dual-card recommendation logic, optimize payment process, and update balance data in real time.

Benefits of technology

It improves the matching degree of users to find satisfactory stores, simplifies the operation process, enhances the security and fluency of payment, and improves user satisfaction and platform operation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120354015A_ABST
    Figure CN120354015A_ABST
Patent Text Reader

Abstract

The invention discloses a service interaction method based on a car washing platform, and relates to the technical field of platform services, and the method comprises the steps: obtaining the latitude and longitude coordinates of a user, and generating a geo-fence range based on the latitude and longitude coordinates of the user; acquiring a state data set of each car washing store in a geo-fence range from a Redis second-level cache; sorting all the state data sets to generate a recommendation list of the car washing stores; in response to a store selection instruction of a user, determining a current car washing store, initializing a tri-state order management system of the current car washing store, and executing license plate pre-verification logic and dual-card recommendation logic; generating an encrypted payment instruction under the condition that the license plate verification and the dual-card verification are passed, and obtaining a transaction result; and according to the transaction result, updating the balance data of the store associated with the current car washing store, and visualizing the balance data. According to the invention, the order conversion rate can be effectively improved, and the user experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the technical field of platform services, and in particular, to a service interaction method based on a car wash platform. Background Art

[0002] With the rapid growth of the car ownership and the increasing requirements of consumers for the aesthetics of vehicles, car wash services have become a necessity in the daily life of car owners. In recent years, the development of mobile Internet technology has given rise to numerous car wash platform applications, aiming to connect car owners with car wash stores and provide convenient car wash service reservation and payment experiences.

[0003] Currently, most traditional platforms adopt a simple geographical location query mechanism, which cannot accurately match user needs with store resources. When users query nearby car wash stores, they often get a simple sorted list by distance, lacking the display of key information such as the real-time status and service quality of the stores, resulting in users being unable to make the best choice. In addition, the order process design of traditional platforms is complex and fragmented. Users need to go through multiple independent pages from selecting a store to completing payment, and each link may lead to user loss. Especially in the license plate verification, service selection, and payment links, due to the lack of intelligent guidance and convenient channels, users often abandon orders due to cumbersome operations.

[0004] In summary, the order conversion rates of traditional car wash platforms are generally low, resulting in poor user experiences. Summary of the Invention

[0005] The embodiments of the present application provide a service interaction method based on a car wash platform, which is used to effectively improve the order conversion rate and enhance the user experience.

[0006] To achieve the above object, the embodiments of the present application adopt the following technical solutions: In a first aspect, a service interaction method based on a car wash platform is provided, which is applied to an electronic device. The electronic device is deployed with a car wash management platform, and the car wash management platform includes a front-end interaction module. The method includes: Respond to an HTTP request sent by a user terminal, obtain the user's longitude and latitude coordinates, and generate a geographical fence range based on the user's longitude and latitude coordinates; Obtain the status data set of each car wash store within the geographical fence range from the Redis secondary cache. The status data set includes the number of available parking spaces and historical rating indicators; Sort all the status data sets to generate a recommended list of car wash stores; In response to the user's store selection instruction, determine the current car wash store, initialize the three-state order management system of the current car wash store, and execute the license plate pre-verification logic and the dual-card type recommendation logic. Among them, the three-state order management system is configured for a chained guiding process and integrates a two-way interaction channel of code scanning verification and direct phone connection; When the license plate verification and the dual-card type verification are passed, generate an encrypted payment instruction and obtain the transaction result; Update the balance data of the store associated with the current car wash store according to the transaction result, and visualize the balance data.

[0007] In a possible implementation manner of the first aspect, the sorting of all state data sets to generate a recommended list of car wash stores includes: Construct a multi-dimensional sorting matrix based on the distance between the user's longitude and latitude coordinates and each car wash store, the number of available parking spaces, and the historical scoring index; Apply an adaptive weight algorithm to the multi-dimensional sorting matrix, where the sum of the distance weight coefficient, the available parking space number weight coefficient, and the historical scoring index weight coefficient is 1; Obtain the historical selection behavior of the user terminal, dynamically adjust the weight coefficients according to the historical selection behavior, and construct a personalized recommendation model; Based on the personalized recommendation model, comprehensively score and sort the car wash stores to generate a final recommended list.

[0008] In another possible implementation manner of the first aspect, after the sorting of all state data sets to generate a recommended list of car wash stores, it further includes: Through the skeleton screen placeholder component of the front-end interaction module, start the placeholder animation when the HTTP request response delay exceeds the preset time; Calculate the standard height of a single recommended item, and multiply it by the expected number of items in the recommended list to obtain the estimated total height; Divide the estimated total height into multiple equal-height blocks, and the height of each block is a preset percentage of the standard height of a single recommended item; Generate gray curved blocks with random widths for each block, where the width range of the gray curved blocks is within the preset percentage range of the container width; Within each block, set the gray scale gradient effect through the CSS animation property to form a wave loading animation from left to right; Dynamically adjust the frequency of the wave loading animation according to the obtained current network response speed to ensure visual coherence before the data loading is completed.

[0009] Perform a fade-out switch after the data loading is completed to maintain the smoothness of the interface rendering.

[0010] In another possible implementation of the first aspect, generating the geofence range based on the user's longitude and latitude coordinates includes: Converting the user's longitude and latitude coordinates into standard coordinates through a preset coordinate conversion algorithm; Calculating the distance between each car wash store and the standard coordinates based on the spherical distance formula, and screening out the set of car wash stores whose distances are less than or equal to the preset distance; Determining the geofence range according to the set of car wash stores.

[0011] In another possible implementation of the first aspect, determining the geofence range according to the set of car wash stores includes: Constructing a polygonal geofence centered on the user's longitude and latitude coordinates based on the coordinates of the farthest store in the set of car wash stores; Performing grid processing on the polygonal geofence to divide the area of the polygonal geofence into multiple hexagonal grid cells with equal areas; Assigning a unique identifier to each hexagonal grid cell and establishing a mapping relationship between the hexagonal grid cell and the car wash store; Dynamically updating the set of active grid cells according to the user's movement trajectory and triggering corresponding geofence events; When the user enters or leaves a specific grid cell, automatically updating the visible list of car wash stores and sending a push notification.

[0012] In another possible implementation of the first aspect, the license plate pre-verification logic includes: In response to receiving the current license plate number input instruction, verifying the format of the current license plate number using a regular expression; In the case of failed format verification, generating the legal license plate format closest to the current license plate number based on the historical record database; The dual car wash card type recommendation logic includes: Constructing a user car wash preference model based on the historical consumption data of the user terminal and the current vehicle model information obtained; Analyzing the user's car wash frequency and single consumption amount, and calculating the user value coefficient; Dynamically matching suitable combinations of car wash card types according to the user value coefficient, including number of washes cards and duration cards; Comparing the economy of the number of washes card and the duration card in different usage scenarios, and generating dual car wash card type comparison data; Displaying the dual car wash card type comparison data through the front-end interaction module and optimizing the user value coefficient in response to the user's actual selection signal.

[0013] In another possible implementation of the first aspect, the car wash management platform is also integrated with an OCR component. Initializing the three-state order management system of the current car wash store and executing the license plate pre-verification logic and dual-card type recommendation logic includes: Create an order state machine and define core states, including pending payment, in progress, and completed; Configure independent UI rendering components and business processing logics for each core state; During the state transition process, establish a real-time communication channel through WebSocket to ensure the state synchronization between the store end and the user end; Capture and parse the license plate image through the OCR component, determine the parsed license plate number, and pre-verify the current license plate number with the parsed license plate number; After the license plate pre-verification passes, trigger the dual-card type recommendation logic and dynamically adjust the order parameters in response to the actual selection signal of the user; Guide the user to complete the full process of operation from store selection to payment confirmation through a chained guidance process, where state checkpoints are set for each link in the full process from store selection to payment confirmation.

[0014] In another possible implementation of the first aspect, updating the balance data of the store associated with the current car wash store according to the transaction result includes: Adopt an optimistic locking mechanism to ensure the atomicity of the transaction result update; Asynchronously update the statistical dashboard data of the store associated with the current car wash store through a distributed database mechanism to update the balance data of the store associated with the current car wash store.

[0015] In another possible implementation of the first aspect, adopting an optimistic locking mechanism to ensure the atomicity of the transaction result update includes: Set a version number field in a preset database table to identify the current version of the statistical dashboard data; Obtain the current version number when reading the store balance data; Verify whether the version number is the same as that when reading before updating the store balance data; If the version numbers are the same, execute the update operation and increment the version number by 1; If the version numbers are different, indicating that the data has been modified by other transactions, abort the current update operation and retry; If the number of retries is greater than the preset maximum number of retries, trigger the transaction rollback mechanism and record the conflict log; In a high-concurrency scenario, an exponential backoff algorithm is adopted to dynamically adjust the retry interval. Among them, the maximum number of retries is set to 3 times. After exceeding this number, a transaction rollback mechanism is triggered and a conflict log is recorded; in a high-concurrency scenario, an exponential backoff algorithm is adopted to dynamically adjust the retry interval to reduce the probability of conflicts.

[0016] In another possible implementation of the first aspect, the method further includes: In response to a transaction failure signal, obtain the operation log of the user, and backtrack through the operation log to locate the nearest valid state node; At the valid state node, reconstruct the transaction context data and generate a dual recovery path, where the dual recovery path includes a first path for continuing the payment and a second path for re-selection.

[0017] In a second aspect, the present application provides an electronic device deployed with a car wash management platform, including: A memory configured to store instructions; and A processor configured to call the instructions from the memory and be able to implement the above-mentioned service interaction method based on the car wash platform when executing the instructions.

[0018] Through the above technical solution, by responding to the HTTP request of the user terminal to obtain accurate user longitude and latitude coordinates and generate a geofence range, the pain point of the traditional platform's inaccurate positioning leading to irrelevant store recommendations is solved, enabling users to quickly find the real nearby car wash service points and reducing the user's search time; by using the Redis secondary cache mechanism to store and obtain the status data sets of each car wash store within the geofence range, the page loading speed is improved, and the confidence of users in making decisions is enhanced by displaying the real-time status data of the stores; the recommended list generated by intelligently sorting all the status data sets combines multi-dimensional factors such as distance, idle status, and historical evaluations, making the recommendation more accurate and personalized, and effectively improving the matching degree of users to find satisfactory stores; the three-state order management system is designed as a chained guiding process, integrating the originally fragmented multi-step operations into a smooth integrated experience, and at the same time integrating the two-way interaction channels of code scanning verification and direct phone connection, greatly simplifying the communication process between users and stores and shortening the order completion time; the implementation of the license plate pre-verification logic and the dual-card type recommendation logic effectively reduces the hesitation time and wrong choices of users in the service selection link, improves the service matching degree, and effectively improves user satisfaction; the generation of encrypted payment instructions and the rapid processing of transaction results enhance the security and fluency of the payment link, effectively improving the payment success rate and effectively reducing the user churn rate in the payment link; the real-time update of the store balance data according to the transaction results and the visual display enhance the transparency of platform operation and the convenience of store management, and effectively improve the store operation efficiency. Generally speaking, this technical solution has achieved remarkable results in improving user experience, enhancing platform operation efficiency, and promoting business growth.

[0019] Other features and advantages of the embodiments of the present application will be described in detail in the subsequent specific implementation part. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 It is a schematic flow chart of a service interaction method based on a car wash platform provided by an embodiment of the present application; Figure 2 It is a schematic diagram of a CSS pseudo-code provided by an embodiment of the present application; Figure 3 It is another schematic diagram of a CSS pseudo-code provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0021] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the following will clearly and completely describe the technical solutions in the embodiments of this application with reference to the accompanying drawings in the embodiments of this application. It should be understood that the specific implementation manners described herein are only used to illustrate and explain the embodiments of this application, and are not used to limit the embodiments of this application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in this application without creative efforts belong to the scope protected by this application.

[0022] It should be noted that if there are directional indications (such as up, down, left, right, front, back...) involved in the embodiments of this application, then such directional indications are only used to explain the relative positional relationship and movement conditions between components in a specific posture (as shown in the accompanying drawings). If this specific posture changes, then the directional indications will also change accordingly.

[0023] In addition, if there are descriptions involving "first", "second", etc. in the embodiments of this application, then such descriptions of "first", "second", etc. are only for descriptive purposes and cannot be understood as indicating or implying their relative importance or implicitly indicating the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include at least one such feature. In addition, the technical solutions between various embodiments can be combined with each other, but it must be based on the ability of those of ordinary skill in the art to implement. When the combination of technical solutions results in contradictions or cannot be implemented, it should be considered that such a combination of technical solutions does not exist and is not within the scope of protection required by this application.

[0024] Figure 1 Schematically shows a flowchart of a service interaction method based on a car wash platform according to an embodiment of this application. As Figure 1 shown, the embodiments of this application provide a service interaction method based on a car wash platform, which is applied to an electronic device. The electronic device is deployed with a car wash management platform, and the car wash management platform includes a front-end interaction module. The method may include the following steps.

[0025] S110. In response to an HTTP request sent by a user terminal, obtain the user's longitude and latitude coordinates, and generate a geographic fence range based on the user's longitude and latitude coordinates; S120. Obtain the status data set of each car wash store within the geographic fence range from the Redis secondary cache. The status data set includes the number of available parking spaces and historical scoring metrics; S130. Sort all the status data sets to generate a recommended list of car wash stores; S140. In response to the user's store selection instruction, determine the current car wash store, initialize the three-state order management system of the current car wash store, and execute the license plate pre-verification logic and the dual-card type recommendation logic, where the three-state order management system is configured for a chained guiding process and integrates a two-way interaction channel of code scanning verification and direct phone connection; S150. When the license plate verification and the dual-card type verification are passed, generate an encrypted payment instruction and obtain the transaction result; S160. Update the balance data of the store associated with the current car wash store according to the transaction result, and visualize the balance data.

[0026] In this embodiment, the electronic device can be a device with a processor such as a tablet computer, a desktop computer, a laptop computer, a handheld computer, a wearable device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, etc. Of course, the electronic device can also be a server. The specific form of the electronic device is not particularly limited in the embodiments of the present application.

[0027] When the user accesses the car wash platform through an electronic device (such as a mobile phone or a tablet), the electronic device sends an HTTP request to the car wash management platform. The request contains the user's real-time location information, usually represented in the form of longitude and latitude coordinates. The acquisition of longitude and latitude coordinates depends on the positioning function of the terminal device, such as being achieved through GPS, Wi-Fi or base station positioning technology. After receiving the HTTP request, the car wash management platform parses the request data and extracts the user's longitude and latitude coordinates. Next, a geographical fence range is generated based on the user's longitude and latitude coordinates. A geographical fence is a virtual boundary used to define an area within a certain range around the user. The specific way to generate the geographical fence is to convert the user's longitude and latitude coordinates into standard coordinates through a preset coordinate conversion algorithm, and then calculate the distance between the user and the surrounding car wash stores based on the spherical distance formula. Filter out the set of car wash stores whose distance is less than or equal to a preset distance (such as 5 kilometers), and construct a polygon geographical fence according to the distribution of these stores. The fence can be circular, rectangular or polygonal, and the specific shape depends on the actual needs. Generating the geographical fence can narrow down the range of car wash stores that the user can choose, avoid the user blindly searching in a large amount of data, and improve the query efficiency. For example, if the user is located in area A, the geographical fence will only display the eligible car wash stores within this area, rather than all the stores in area A.

[0028] After generating the geofence range, it is necessary to obtain the real-time status data of all car wash stores within this range. These data are stored in the Redis secondary cache. Redis is a high-performance in-memory database that can quickly read and write data. The status data set includes two key metrics: the number of available parking spaces and the historical rating metric. The number of available parking spaces reflects the current reception capacity of the store, and the historical rating metric represents the service quality of the store. The specific process of obtaining data is as follows: First, according to the list of store IDs within the geofence range, a batch query request is sent to Redis. Redis will return the status data set of each store, and these data are usually stored in the form of key-value pairs, such as "store ID: {number of available parking spaces: 5, historical rating: 4.8}". Due to the high-performance characteristics of Redis, the response time of data query is extremely short, usually at the millisecond level. For example, if a store has 0 available parking spaces, then this store will be excluded from the recommended list to avoid users choosing a store that cannot provide immediate service. At the same time, the historical rating metric helps users screen out stores with higher service quality, improving the user experience.

[0029] After obtaining the status data sets of all car wash stores within the geofence range, it is necessary to sort these data to generate a recommended list. The sorting basis includes three dimensions: the distance between the user and the store, the number of available parking spaces, and the historical rating metric. First, a distance score is calculated based on the distance between the user's longitude and latitude coordinates and each car wash store. The closer the distance, the higher the score. Secondly, different weights are assigned to the number of available parking spaces and the historical rating metric. The more available parking spaces, the higher the score, and the higher the historical rating metric, the higher the score. Next, an adaptive weight algorithm is used to perform weighted summation on these three dimensions to generate the comprehensive score of each store. The characteristic of the adaptive weight algorithm is that it can dynamically adjust the weight coefficients according to the user's historical selection behavior. For example, if the user has been more inclined to choose stores with a shorter distance in the past, then the distance weight coefficient will be increased. Finally, all stores are sorted according to the comprehensive score to generate the final recommended list. Sorting can provide a store selection list with clear priorities for users, and users can quickly find the most suitable store according to their own needs. For example, the top of the recommended list may be stores with a shorter distance, more available parking spaces, and higher ratings, while the bottom may be stores with a longer distance or lower ratings.

[0030] When the user selects a car wash store from the recommendation list, the system responds to the selection instruction, determines the current car wash store, and initializes the three-state order management system for that store. The three-state order management system is a chained guiding process that includes three core states: pending payment, in progress, and completed. Each state has an independent UI rendering component and business processing logic to ensure that users receive clear guidance at each stage. When initializing the order management system, the license plate pre-verification logic and the dual card type recommendation logic are executed. The license plate pre-verification logic validates whether the format of the license plate number entered by the user is legal through regular expressions. If the format verification fails, the system generates a most similar legal license plate format based on the historical record database and prompts the user to modify it. The dual card type recommendation logic constructs a user car wash preference model based on the user's historical consumption data and current vehicle model information, analyzes the user's car wash frequency and single consumption amount, and calculates the user value coefficient. Based on the user value coefficient, suitable combinations of car wash card types, including frequency cards and duration cards, can be dynamically matched, and dual card type comparison data can be generated, effectively improving the intelligence level of the order process and reducing the user's operation steps. For example, the user only needs to enter the license plate number, and the most suitable car wash card type can be automatically recommended, guiding the user to complete the payment.

[0031] After both the license plate pre-verification and the dual card type recommendation logic pass, an encrypted payment instruction is generated. The encrypted payment instruction encrypts payment information (such as amount, card number, expiration date, etc.) through a security protocol (such as HTTPS) and sends it to the payment gateway. The payment gateway decrypts the encrypted information and verifies the legality of the payment information. If the verification passes, the payment gateway initiates a payment request to the bank and returns the transaction result. The transaction result includes three states: payment successful, payment failed, or payment in progress. Obtaining the transaction result can ensure the security and reliability of the payment process. For example, if the payment is successful, the order status is immediately updated; if the payment fails, the user is prompted to try again or choose another payment method.

[0032] After obtaining the transaction result, the balance data of the store associated with the current car wash store is updated according to the transaction result. The specific method for updating the balance data is to adopt an optimistic lock mechanism to ensure the atomicity of data updates in a concurrent scenario. The core of the optimistic lock mechanism is to set a version number field in the database table, and the version number is verified before each data update. If they are consistent, the update operation is executed and the version number is incremented by 1; if they are inconsistent, the current update operation is aborted and retried. Updating the balance data can ensure the accuracy and consistency of the data. For example, if the user pays 100 yuan, the store's balance is immediately increased by 100 yuan, and the change in the balance data is displayed through a visual chart. Visualizing the balance data can help store managers grasp the financial situation in real time and facilitate making business decisions. For example, store managers can understand the daily income situation through the dashboard data and adjust the business strategy based on the data.

[0033] In this embodiment, the user terminal's HTTP request is responded to obtain accurate user longitude and latitude coordinates and generate a geofence range, which solves the pain point of inaccurate positioning on traditional platforms resulting in irrelevant store recommendations, enabling users to quickly find the actual nearby car wash service points and reducing the user's search time; the Redis secondary caching mechanism is used to store and obtain the status data sets of each car wash store within the geofence range, improving the page loading speed, and also enhancing the user's confidence in decision-making by displaying the real-time status data of the stores; the recommended list generated by intelligently sorting all the status data sets combines multi-dimensional factors such as distance, idle status, and historical evaluations, making the recommendation more accurate and personalized, and effectively improving the matching degree for users to find satisfactory stores; the tri-state order management system is designed as a chained guiding process, integrating the originally fragmented multi-step operations into a smooth integrated experience, and at the same time integrating two-way interaction channels of code scanning verification and direct phone connection, greatly simplifying the communication process between users and stores and shortening the order completion time; the implementation of the license plate pre-verification logic and the dual card type recommendation logic effectively reduces the hesitation time and incorrect selections of users in the service selection link, improves the service matching degree, and effectively improves user satisfaction; the generation of encrypted payment instructions and the rapid processing of transaction results enhance the security and fluency of the payment link, effectively increasing the payment success rate and effectively reducing the user churn rate in the payment link; the real-time update of the store balance data according to the transaction results and the visual display enhance the transparency of platform operation and the convenience of store management, and effectively improve the store operation efficiency. Generally speaking, this technical solution has achieved remarkable results in enhancing user experience, improving platform operation efficiency, and promoting business growth.

[0034] In one implementation manner of this embodiment, all the status data sets are sorted to generate a recommended list of car wash stores, including the following steps: S210. Construct a multi-dimensional sorting matrix based on the distance between the user's longitude and latitude coordinates and each car wash store, the number of available parking spaces, and the historical scoring index; S220. Apply an adaptive weight algorithm to the multi-dimensional sorting matrix, where the sum of the distance weight coefficient, the available parking space number weight coefficient, and the historical scoring index weight coefficient is 1; S230. Obtain the historical selection behavior of the user terminal, and dynamically adjust the weight coefficients according to the historical selection behavior to construct a personalized recommendation model; S240. Based on the personalized recommendation model, comprehensively score and sort the car wash stores to generate a final recommended list.

[0035] When generating a recommended list of car wash stores, it is first necessary to construct a multi-dimensional sorting matrix. A multi-dimensional sorting matrix is a data structure used to store and compare data in multiple dimensions. In this solution, the dimensions of the multi-dimensional sorting matrix include the distance between the user and the car wash store, the number of available parking spaces, and the historical rating index. The distance between the user and the car wash store is calculated using the spherical distance formula: ; where R is the radius of the Earth, and are the latitudes of the user and the store respectively, and are the longitudes of the user and the store respectively. The number of available parking spaces and the historical rating index are directly obtained from the Redis secondary cache. The specific method for constructing the multi-dimensional sorting matrix is to store the data of these three dimensions for each store in a matrix. For example: ; where, represents the distance between the nth store and the user, represents the number of available parking spaces in the nth store, represents the historical rating index of the nth store.

[0036] After constructing the multi-dimensional sorting matrix, it is necessary to apply an adaptive weight algorithm to dynamically adjust the weight coefficients. The algorithm is used to optimize the sorting results according to the user's needs and behaviors. In this embodiment, the weight coefficients include the distance weight coefficient , the number of available parking spaces weight coefficient , and the historical rating index weight coefficient , and satisfy . The initial weight coefficients can be set according to empirical values. For example , , . Specifically, the formula for calculating the comprehensive score for each store in the multi-dimensional sorting matrix is: ; where, , , and are the maximum values of the distance, the number of available parking spaces, and the rating index respectively. Through this formula, the data of different dimensions can be normalized and weighted and summed to obtain the comprehensive score. For example, if a store is closer, has more available parking spaces, and has a higher rating, its comprehensive score will be higher, and vice versa.

[0037] To further improve the accuracy of recommendations, it is necessary to obtain the historical selection behaviors of the user terminal and dynamically adjust the weight coefficients based on these behaviors. The historical selection behaviors include the stores selected by the user in the past, the types of cards selected, the payment methods, etc. The specific method for obtaining the historical selection behaviors is to read the relevant data from the local storage or cloud database of the user terminal. According to the historical selection behaviors, the specific method for dynamically adjusting the weight coefficients is to analyze the user preferences through machine learning algorithms (such as linear regression or decision tree) and update the weight coefficients. For example, if the user was more inclined to select stores that are closer in the past, the distance weight coefficient will be increased; if the user pays more attention to service quality, the weight coefficient of the historical scoring index will be increased. The specific way to build a personalized recommendation model is to substitute the adjusted weight coefficients into the comprehensive scoring formula and recalculate the comprehensive scores of each store to make the recommendation list more in line with the personalized needs of the user. For example, if the user often selected stores with higher scores in the past, the stores with higher scores will be preferentially displayed at the top of the recommendation list.

[0038] After building the personalized recommendation model, it is necessary to comprehensively score and rank the car wash stores based on this model to generate the final recommendation list. The specific method for ranking is to arrange the comprehensive scores of all stores from high to low and generate an ordered list. The specific method for generating the final recommendation list is to display the ranking result to the user through the front-end interaction module, usually presented in the form of a list or a map. For example, the store with the highest comprehensive score may be at the top of the recommendation list, and the stores with lower scores may be at the bottom. Generating the final recommendation list can provide the user with a selection list with a clear priority, and the user can quickly find the most suitable store according to their own needs. For example, if the user hopes to wash the car as soon as possible, they can choose a store with more available parking spaces; if the user pays more attention to service quality, they can choose a store with a higher score.

[0039] In this embodiment, by constructing a multi-dimensional sorting matrix, the distance between the user and the store, the number of available parking spaces, and the scoring indicators are integrated into a data structure. Then, an adaptive weight algorithm is applied to dynamically adjust the weight coefficients and generate the comprehensive score of each store. Then, according to the user's historical selection behaviors, the weight coefficients are further optimized to build a personalized recommendation model. Finally, the final recommendation list is generated based on the personalized recommendation model. This process not only improves the accuracy and personalization of the recommendations, but also significantly enhances the user experience. For example, the user does not need to blindly search through a large amount of data and can quickly find the most suitable store just by viewing the recommendation list. At the same time, the mechanism of dynamically adjusting the weight coefficients ensures that the recommendation results can be optimized as the user's needs change, further enhancing the intelligent level of the platform.

[0040] In one implementation of this embodiment, after sorting all status data sets to generate a recommended list for a car wash store, the following steps are further included: S310: When the HTTP request response delay exceeds a preset time, start a placeholder animation through the skeleton screen placeholder component of the front-end interaction module; S320: Calculate the standard height of a single recommended item and multiply it by the expected number of items in the recommended list to obtain the estimated total height; S330: Divide the estimated total height into multiple equally high blocks, where the height of each block is a preset percentage of the standard height of a single recommended item; S340: Generate gray curved blocks with random widths for each block, where the width range of the gray curved blocks is within a preset percentage range of the container width; S350: Within each block, set a grayscale gradient effect through CSS animation properties to form a wave loading animation from left to right; S360: Dynamically adjust the frequency of the wave loading animation according to the obtained current network response speed to ensure visual coherence before the data loading is completed.

[0041] S370: Perform a fade-out switch after the data loading is completed to maintain the smoothness of the interface rendering.

[0042] When the user terminal sends an HTTP request to the car wash management platform, if the response time exceeds a preset threshold (e.g., 500 milliseconds), the front-end interaction module will automatically start the skeleton screen placeholder component. The skeleton screen is a placeholder interface displayed during data loading, used to simulate the layout of the actual content and avoid the page from appearing blank or stuck. In the specific implementation of starting the placeholder animation, the response time of the HTTP request can be monitored, and when the response time exceeds the preset threshold, the loading logic of the skeleton screen component is triggered. The skeleton screen placeholder component usually consists of multiple gray rectangular blocks, and the positions and sizes of these rectangular blocks are the same as those of the actual content, thus maintaining visual coherence of the page. Starting the placeholder animation improves the user experience when waiting for data loading and avoids user loss caused by a blank or stuck page. For example, when the user clicks the "View Recommended List" button and the data loading is slow, the page will immediately display the skeleton screen placeholder animation, allowing the user to perceive that the content is being loaded.

[0043] After starting the skeleton screen placeholder component, it is necessary to calculate the standard height of a single recommended item and estimate the total height of the entire recommended list based on the expected number of items. The standard height of a single recommended item is obtained by measuring the layout height of the actual content. For example, a recommended item may include a store name, distance, rating, and button, and the total height of these elements is 150 pixels. The formula for estimating the total height is: ; Among them, h is the standard height of a single recommended item, n is the expected number of items in the recommended list, and H is the total height. For example, if the height of a single recommended item is 150 pixels and the expected number of items is 10, the estimated total height is 1500 pixels.

[0044] After obtaining the estimated total height, it is divided into multiple equally high blocks, and the height of each block is a preset percentage (such as 80%) of the standard height of a single recommended item. The specific method of dividing the blocks is to divide the estimated total height by the height of a single block to obtain the number of blocks. For example, if the estimated total height is 1500 pixels and the height of a single block is 120 pixels (80% of 150 pixels), the number of blocks is 12. Dividing into equally high blocks enables the skeleton screen placeholder component to more precisely simulate the layout of the actual content and avoid visual incoordination caused by inconsistent block heights. For example, each block can simulate part of the content of a recommended item, such as the store name or rating, thus maintaining visual coherence of the page.

[0045] After dividing into equally high blocks, it is necessary to generate gray blocks with random widths for each block. The width range of the gray blocks is within a preset percentage range of the container width (such as 30% to 70%) to simulate the diversity of the actual content. The specific method of generating the gray blocks is to randomly generate a width value for each block and apply it to the CSS style of the gray rectangle block. For example, the width of the gray block of one block may be 50%, and the width of another block may be 40%. Generating the gray blocks can make the skeleton screen placeholder component more realistic and avoid visual monotony caused by consistent block widths. For example, the gray blocks can simulate the length differences of content such as store names, distances, or ratings, thus maintaining the naturalness of the page visually.

[0046] After generating the gray blocks, it is necessary to set a gray-scale gradient effect for each block to form a wave loading animation from left to right. The gray-scale gradient effect is achieved through CSS animation properties. The specific method is to add a linear gradient background to the gray block and control the movement of the gradient through keyframe animation. For example, the CSS code can be defined as Figure 2 The pseudo-code shown, such as Figure 2 shown. Through this animation, the background of the gray block will move from left to right, forming a wave effect. Setting the gray-scale gradient effect enhances the dynamic sense of the skeleton screen placeholder component and allows users to perceive that the content is being loaded. For example, the wave loading animation can simulate the process of data transmission from the server to the client, thus maintaining the activity of the page visually.

[0047] After setting the wave loading animation, it is necessary to dynamically adjust the frequency of the animation according to the current network response speed to ensure visual coherence before the data loading is completed. In specific implementation, the current network speed can be obtained through JavaScript, and the duration of the CSS animation can be adjusted according to the speed value. For example, if the network speed is slow, the animation duration can be set to 2 seconds; if the network speed is fast, the animation duration can be set to 1 second. Dynamically adjusting the animation frequency enables the skeleton screen placeholder component to adapt to different network environments and avoid visual discomfort caused by too fast or too slow animations. For example, in the case of a slow network, a slower animation allows users to perceive that the data is being loaded, thus reducing user anxiety.

[0048] After the data loading is completed, the skeleton screen placeholder component needs to be faded out and switched to the actual content to maintain the smoothness of the interface rendering. The specific method of fading out and switching is to gradually change the transparency of the skeleton screen from 1 to 0 through a CSS transition effect, and at the same time gradually change the transparency of the actual content from 0 to 1. For example, the CSS code can be defined as Figure 3 the pseudo-code shown, as Figure 3 shown. Through this transition effect, the skeleton screen will gradually disappear and the actual content will gradually appear. Fading out and switching can make the page transition smoother and avoid visual abruptness caused by sudden switching. For example, when the data loading is completed, the skeleton screen will fade out gradually and the actual content will fade in gradually, thus maintaining a natural transition of the page visually.

[0049] In this embodiment, when the HTTP request response delay exceeds the preset time, the skeleton screen placeholder component is started to prevent the page from appearing blank or stuck. Then, the standard height of a single recommended item is calculated, and the total height is estimated based on the expected number of items to provide basic data for block division. Then, the estimated total height is divided into multiple equal-height blocks, and gray curved blocks with random widths are generated for each block to simulate the layout of the actual content. Next, a gray-scale gradient effect is set through CSS animation properties to form a wave loading animation from left to right, enhancing the dynamic sense. According to the current network response speed, the frequency of the wave loading animation is dynamically adjusted to ensure visual coherence. Finally, a fade-out and switch is performed after the data loading is completed to maintain the smoothness of the interface rendering. This process not only significantly improves the user experience while waiting for data loading, but also ensures the visual coherence and smoothness of the page through the dynamic adjustment and fade-out and switch mechanisms. For example, when the network is slow, users can still perceive that the content is being loaded through the skeleton screen placeholder component, thus reducing anxiety; after the data loading is completed, the page transition is smooth and natural, avoiding visual abruptness and enhancing the user-friendliness and intelligence level of the platform.

[0050] In one implementation of this embodiment, generating a geofence range based on the user's longitude and latitude coordinates includes the following steps: S410. Convert the user's longitude and latitude coordinates into standard coordinates through a preset coordinate conversion algorithm; S420. Calculate the distance between each car wash store and the standard coordinates based on the spherical distance formula, and filter out the set of car wash stores whose distances are less than or equal to the preset distance; S430. Determine the geofence range according to the set of car wash stores.

[0051] Before generating the geofence range, it is first necessary to convert the user's longitude and latitude coordinates into standard coordinates. Longitude and latitude coordinates are based on the geographical coordinate system on the earth's surface, while standard coordinates are a planar coordinate system, usually used for map drawing and distance calculation. The core of the coordinate conversion algorithm is to convert spherical coordinates (longitude and latitude) into planar coordinates (such as Mercator projection coordinates). Commonly used coordinate conversion algorithms include the Mercator projection algorithm and the UTM (Universal Transverse Mercator) projection algorithm. Taking the Mercator projection algorithm as an example, its conversion formula is: ; where R is the radius of the earth, and are the longitude and latitude respectively, is the central meridian. Through this formula, the user's longitude and latitude coordinates can be converted into planar coordinates, simplifying the subsequent distance calculation and geofence generation process.

[0052] After converting the user coordinates into standard coordinates, it is necessary to calculate the distance between each car wash store and the user coordinates, and filter out the set of stores whose distances are less than or equal to the preset distance (for example, 5 kilometers). Distance calculation usually uses the spherical distance formula, also known as the Haversine formula, and its formula is: ; where R is the radius of the earth, , . Through this formula, the spherical distance between the user and each car wash store can be calculated. The specific method of filtering the store set is to compare the calculated distance with the preset distance. If the distance is less than or equal to the preset distance, the store is added to the set. For example, if the preset distance is 5 kilometers, the filtered store set will include all car wash stores within 5 kilometers of the user, facilitating subsequent geofence generation.

[0053] After screening out the set of car wash stores whose distance is less than or equal to the preset distance, it is necessary to determine the geographical fence range based on the distribution of these stores. A geographical fence is a virtual boundary used to define an area within a certain range around the user. The specific method for determining the geographical fence range is to construct a polygonal geographical fence centered on the user's coordinates based on the coordinates of the farthest store in the store set. For example, the convex hull algorithm can be used to generate the smallest convex polygon that contains all the stores as the boundary of the geographical fence. The core of the convex hull algorithm is to find the outermost points in a set of points and connect these points to form a polygon. Determining the geographical fence range can provide a clear selection range for the user, avoiding the user's blind search in the massive data. For example, if the user is located in a certain place, the geographical fence will only display the eligible car wash stores in that area, rather than all the stores in the whole city, thus improving the query efficiency.

[0054] In this embodiment, the user's longitude and latitude coordinates are converted into standard coordinates through a preset coordinate conversion algorithm, which simplifies the subsequent distance calculation and geographical fence generation process; the distance between each car wash store and the user's coordinates is calculated based on the spherical distance formula, and the store set with a distance less than or equal to the preset distance is screened out, providing the basic data for the generation of the geographical fence range; the geographical fence range is determined according to the store set, providing a clear selection range for the user. It not only significantly improves the efficiency of the user querying nearby car wash stores, but also avoids the user's blind search in the massive data through the geographical fence mechanism, thus simplifying the user's operation steps, enhancing the user-friendliness and intelligent level of the platform, and improving the user experience.

[0055] In one implementation manner of this embodiment, determining the geographical fence range according to the car wash store set includes the following steps: S510. Based on the coordinates of the farthest store in the car wash store set, construct a polygonal geographical fence centered on the user's longitude and latitude coordinates; S520. Perform grid processing on the polygonal geographical fence to divide the area of the polygonal geographical fence into multiple hexagonal grid cells with equal areas; S530. Assign a unique identifier to each hexagonal grid cell and establish a mapping relationship between the hexagonal grid cell and the car wash store; S540. Dynamically update the set of active grid cells according to the user's movement trajectory and trigger corresponding geographical fence events; S550. When the user enters or leaves a specific grid cell, automatically update the visible car wash store list and send a push notification.

[0056] After determining the set of car wash stores, it is necessary to construct a polygonal geofence centered on the user's longitude and latitude coordinates based on the coordinates of the farthest store in the set. A polygonal geofence is a virtual boundary used to define an area within a certain range around the user. The specific method for constructing a polygonal geofence is to first determine the positional relationship between the user coordinates and all store coordinates, and then find the coordinates of the store farthest from the user. Taking the user coordinates as the center and the coordinates of the farthest store as the boundary points, a polygon is formed by connecting all the boundary points. For example, if the user coordinates are (39.9042°N, 116.4074°E) and the coordinates of the farthest store are (39.9080°N, 116.4120°E), the boundary points of the polygonal geofence will include the user coordinates and all store coordinates. Constructing a polygonal geofence provides a clear selection range for the user and avoids the user blindly searching in a large amount of data. For example, the geofence will only display the car wash stores within the polygonal area, rather than all the stores in the entire city, thus improving the query efficiency.

[0057] After constructing the polygonal geofence, it is necessary to perform grid processing on it, dividing the area into multiple hexagonal grid cells of equal area. The hexagonal grid is a commonly used method for geospatial division, with the characteristics of uniform coverage and clear adjacency relationships. The specific method for grid processing is to first determine the boundary range of the polygonal geofence, and then divide the area into multiple hexagonal grid cells according to a preset grid size (such as a side length of 500 meters). The area of each hexagonal grid cell is equal, and adjacent cells are seamlessly connected. For example, if the area of the polygonal geofence is 10 square kilometers and the grid side length is 500 meters, the area will be divided into approximately 40 hexagonal grid cells. Each grid cell can be used as an independent geographical unit, facilitating subsequent user movement trajectory analysis and event triggering.

[0058] After completing the grid processing, it is necessary to assign a unique identifier to each hexagonal grid cell and establish a mapping relationship between the grid cell and the car wash store. The unique identifier is usually a string or number used to uniquely identify each grid cell. The specific method for assigning a unique identifier is to generate a code based on its location information for each grid cell, such as using the Geohash algorithm. The specific method for establishing the mapping relationship is to associate the coordinates of each car wash store with the identifier of the grid cell to which it belongs. For example, if the coordinates of a certain car wash store are (39.9060°N, 116.4100°E), the identifier of the grid cell to which it belongs is "wx4g0". Assigning unique identifiers and establishing mapping relationships provides data support for subsequent dynamic updates and event triggering. For example, when a user enters a certain grid cell, the car wash stores within that cell can be quickly found through the identifier, thereby updating the visible store list.

[0059] After establishing the mapping relationship between grid cells and car wash stores, it is necessary to dynamically update the set of active grid cells according to the user's movement trajectory and trigger corresponding geofence events. The user's movement trajectory is obtained in real time through the positioning function of the terminal device and is usually represented in the form of longitude and latitude coordinates. The specific method for dynamically updating the set of active grid cells is to calculate in real time the grid cell to which the user's coordinates belong and add it to the active set. The specific method for triggering geofence events is to generate corresponding event notifications when the user enters or leaves a certain grid cell. For example, if the user moves from grid cell "wx4g0" to "wx4g1", then the events of "entering wx4g1" and "leaving wx4g0" are triggered. Dynamic update and event triggering can provide users with real-time location services. For example, when the user enters a certain grid cell, the visible car wash store list is automatically updated and a push notification is sent to remind the user of the nearby car wash stores.

[0060] After triggering the geofence event, it is necessary to automatically update the visible car wash store list and send a push notification. The specific way to update the visible car wash store list is to find all the stores within the grid cell where the user is currently located through the mapping relationship between the grid cell and the car wash store and add them to the visible list. The specific way to send a push notification is to send a message containing information about nearby stores to the user through the notification function of the terminal device. For example, if the user enters grid cell "wx4g0", all the car wash stores within this cell are added to the visible list and a push notification is sent with the content "There are 3 car wash stores available nearby". Automatic update and sending of push notifications can enhance the user's real-time experience. For example, the user does not need to query manually, and the information about nearby car wash stores is automatically pushed, thus simplifying the user's operation steps.

[0061] This embodiment constructs a polygon geofence based on the coordinates of the farthest store in the car wash store set, providing a clear selection range for users; performs grid processing on the polygon geofence, dividing the area into multiple hexagonal grid cells of equal area, providing the basic data structure for subsequent dynamic updates and event triggering; assigns a unique identifier to each grid cell and establishes the mapping relationship between the grid cell and the car wash store, facilitating quick search and update; dynamically updates the set of active grid cells according to the user's movement trajectory and triggers corresponding geofence events, providing users with real-time location services; when the user enters or leaves a specific grid cell, automatically updates the visible car wash store list and sends a push notification, enhancing the user's real-time experience, simplifying the user's operation steps, and improving the user experience.

[0062] In one implementation of this embodiment, the license plate pre-verification logic includes the following steps: S610. In response to receiving the current license plate number input instruction, verify the format of the current license plate number using a regular expression; S620. In the case of failed format verification, generate a legal license plate format closest to the current license plate number based on the historical record database; The dual card type recommendation logic includes: S601. Based on the obtained historical consumption data of the user terminal and the current vehicle model information, construct a user car wash preference model; S602. Analyze the user's car wash frequency and single - consumption amount, and calculate the user value coefficient; S603. According to the user value coefficient, dynamically match suitable car wash card type combinations, including frequency cards and duration cards; S604. Compare the economy of frequency cards and duration cards in different usage scenarios, and generate dual card type comparison data; S605. Display the dual card type comparison data through the front - end interaction module, and optimize the user value coefficient in response to the user's actual selection signal.

[0063] When the user enters the license plate number, immediately start the license plate pre - verification logic. First, use a regular expression to verify whether the format of the license plate number is legal. A regular expression is a tool for matching string patterns, which can quickly determine whether a license plate number conforms to the preset format rules. This expression can match license plate numbers starting with the abbreviation of a province, followed by a combination of letters and numbers. The specific method for verifying the license plate number format is to match the license plate number entered by the user with the regular expression. If the match is successful, the format is legal; otherwise, the format is illegal. Using a regular expression to verify the license plate number format improves the efficiency and accuracy of the verification.

[0064] If the format verification of the license plate number fails, generate a legal license plate format closest to the current license plate number based on the historical record database. The historical record database stores the license plate numbers entered by the user in the past and their legal formats. The specific method for generating the closest legal format is to calculate the similarity between the current license plate number and the legal formats in the historical record through a string similarity algorithm (such as the edit distance algorithm), and select the legal format with the highest similarity as the recommendation. For example, if the license plate number entered by the user is "A1234", and there is "A12345" in the historical record, then recommend "A12345" as the legal format. Generating the closest legal license plate format reduces the user's operation steps and improves the user experience. The user only needs to confirm the recommended legal format without having to re - enter the complete license plate number.

[0065] In the dual - card recommendation logic, first, it is necessary to construct a user car - washing preference model based on the historical consumption data of the user terminal and the current vehicle model information. The historical consumption data includes the car - washing card types selected by the user in the past, the consumption amount, and the consumption frequency. The current vehicle model information includes the brand, model, and service life of the vehicle. The specific method for constructing the user car - washing preference model is to analyze the historical data through machine - learning algorithms (such as decision trees or logistic regression) to extract the user's consumption habits and preference characteristics. For example, if the user has often selected the times - based card in the past and has a relatively high single - consumption amount, the model will consider that the user prefers cost - effective card types. Constructing the user car - washing preference model provides data support for subsequent card type recommendations. The model can predict the user's preference degree for different card types, thereby generating a personalized recommendation list.

[0066] After constructing the user car - washing preference model, it is necessary to analyze the user's car - washing frequency and single - consumption amount and calculate the user value coefficient. The user value coefficient is an indicator used to measure the user's consumption potential and is usually calculated by the weighted average method. The calculation formula is: ; where V is the user value coefficient, f is the car - washing frequency, m is the single - consumption amount, and w1 and w2 are the weight coefficients. For example, if the user washes the car 4 times a month, the single - consumption amount is 50 yuan, and the weight coefficients are 0.6 and 0.4 respectively, the user value coefficient is 44. By calculating the user value coefficient, it provides a quantitative basis for subsequent card type matching.

[0067] After calculating the user value coefficient, it is necessary to dynamically match a suitable combination of car - washing card types according to this coefficient. The times - based card and the duration - based card are two common car - washing card types. The times - based card allows the user to wash the car within a fixed number of times, and the duration - based card allows the user to wash the car unlimited times within a fixed period. The specific method for matching the card type combination is to match the user value coefficient with the economy of the card type through preset rules. For example, if the user value coefficient is relatively high, recommend the duration - based card; if the user value coefficient is relatively low, recommend the times - based card. Dynamically matching the card type combination improves the personalization degree of the recommendation. For example, the user can choose the most suitable card type according to their consumption habits, thereby obtaining higher cost - effectiveness.

[0068] After matching the card type combination, it is necessary to compare the economy of the times - based card and the duration - based card in different usage scenarios to generate dual - card comparison data. The specific method for economic comparison is to calculate the total cost and cost - effectiveness of each card type by simulating the consumption situation in different usage scenarios. For example, if the user washes the car 4 times a month, the total cost of the times - based card is 200 yuan, and the total cost of the duration - based card is 180 yuan, then the duration - based card is more economical. Generating dual - card comparison data provides a clear decision - making basis for users. For example, users can choose the most economical card type through the comparison data, thereby saving car - washing costs.

[0069] Finally, the dual-card type comparison data is displayed through the front-end interaction module, and the user value coefficient is optimized in response to the user's actual selection signal. The specific method of displaying the comparison data is to present the economic comparison results of the times card and the duration card to the user in the form of charts or lists. The specific method of optimizing the user value coefficient is to adjust the weight coefficient according to the user's selection behavior. For example, if the user selects the duration card, the weight coefficient of the duration card is increased. Displaying the comparison data and optimizing the user value coefficient can improve the accuracy of the recommendation and user satisfaction. For example, the user can make an optimal choice based on the comparison data, and at the same time, the recommendation model is continuously optimized according to the user's selection behavior.

[0070] The license plate pre-verification logic of this embodiment verifies the license plate number format through regular expressions and generates the closest legal format when the format is incorrect, reducing the user's operation steps. The dual-card type recommendation logic constructs a user car wash preference model based on the user's historical consumption data and current vehicle model information, analyzes the car wash frequency and single consumption amount to calculate the user value coefficient, dynamically matches the suitable card type combination, and helps the user make an optimal choice through the comparison data, improving the intelligence level and user-friendliness of the platform, simplifying the user's operation steps, and enhancing the user experience.

[0071] In one implementation of this embodiment, the car wash management platform is also integrated with an OCR component to initialize the three-state order management system of the current car wash store and execute the license plate pre-verification logic and the dual-card type recommendation logic, including the following steps: S710. Create an order state machine and define the core states, where the core states include pending payment, in progress, and completed; S720. Configure independent UI rendering components and business processing logics for each core state; S730. During the state transition process, establish a real-time communication channel through WebSocket to ensure the state synchronization between the store end and the user end; S740. Capture and parse the license plate image through the OCR component, determine the parsed license plate number, and pre-verify the current license plate number and the parsed license plate number; S750. After the license plate pre-verification is passed, trigger the dual-card type recommendation logic and dynamically adjust the order parameters in response to the user's actual selection signal; S760. Guide the user to complete the full process of operation from store selection to payment confirmation through a chained guidance process, where state checkpoints are set for each link in the full process from store selection to payment confirmation.

[0072] When initializing the three-state order management system, it is first necessary to create an order state machine and define its core states. The order state machine is a mechanism for managing the order lifecycle, and the core states include pending payment, in progress, and completed. The pending payment state indicates that the user has selected a store but has not completed the payment; the in progress state indicates that the user has completed the payment and the car wash service is in progress; the completed state indicates that the car wash service has ended. The specific method of creating the order state machine is to design a state machine class through the state pattern, which contains the logic of state transition and the behaviors corresponding to the states. For example, the order state machine class can define methods such as `transitionToPendingPayment()`, `transitionToInProgress()`, and `transitionToCompleted()` to implement state transitions. Defining the core states provides a clear lifecycle framework for order management. For example, users can understand the progress of the current order through the order status, thus better arranging their time.

[0073] After defining the core states, it is necessary to configure independent UI rendering components and business processing logics for each state. The UI rendering components are used to display the status information of the current order on the user interface, and the business processing logics are used to handle operations related to the states. The specific method of configuring the UI rendering components is to design an independent interface template for each state. For example, the pending payment state can display a payment button and order details, the in progress state can display the car wash progress, and the completed state can display a service evaluation button. The specific method of configuring the business processing logics is to define corresponding processing functions for each state. For example, the processing functions for the pending payment state include generating a payment QR code and verifying the payment result, and the processing functions for the in progress state include updating the car wash progress and sending notifications. Configuring independent UI and business logics can effectively improve the flexibility and user experience of order management. For example, users can intuitively understand the order status through the interface and complete payment or evaluation through the corresponding operation buttons.

[0074] During the order state transition process, it is necessary to establish a real-time communication channel through WebSocket to ensure the state synchronization between the store side and the user side. WebSocket is a full-duplex communication protocol that can achieve real-time data transmission between the server and the client. The specific method of establishing the real-time communication channel is to implement the listening and sending logics of WebSocket on the server side and the client side respectively. For example, when the order state changes from pending payment to in progress, the server will send a status update message to the user side through WebSocket, and the user side will immediately update the interface display after receiving the message. Ensuring state synchronization can effectively improve the real-time performance and accuracy of order management. For example, users can immediately see the car wash progress after payment without manually refreshing the page.

[0075] In the license plate pre-verification logic, it is necessary to capture and parse the license plate image through the OCR component, determine the parsed license plate number, and pre-verify the current license plate number against the parsed license plate number. OCR (Optical Character Recognition) is a technology that converts text in an image into editable text. The specific method of capturing and parsing the license plate image is to take a picture of the license plate image through a camera and use the OCR algorithm to recognize the characters in the image. For example, the OCR algorithm can recognize "A12345" in the license plate image and convert it into text. The specific method of pre-verifying the license plate number is to compare the license plate number entered by the user with the license plate number parsed by OCR. If they are the same, the verification passes; otherwise, the verification fails. Pre-verifying the license plate number through the OCR component improves the accuracy and convenience of verification. For example, users only need to take a picture of the license plate, and the license plate number is automatically recognized and verified, reducing the manual input steps.

[0076] After the license plate pre-verification passes, it is necessary to trigger the dual-card type recommendation logic and dynamically adjust the order parameters in response to the actual selection signal of the user. The dual-card type recommendation logic is based on the user's historical consumption data and current vehicle model information to recommend suitable car wash card type combinations. The specific method of triggering the dual-card type recommendation logic is to analyze the user's car wash frequency and single consumption amount, calculate the user value coefficient, and recommend a times card or a duration card based on this coefficient. The specific method of dynamically adjusting the order parameters is to update the payment amount and service content of the order according to the card type selected by the user. For example, if the user selects a times card, the order amount is a fixed value; if the user selects a duration card, the order amount is billed monthly. Triggering the dual-card type recommendation logic and adjusting the order parameters can effectively improve the flexibility of the order and user satisfaction. For example, users can choose the most suitable card type according to their own needs, thus obtaining higher cost performance.

[0077] During the order management process, it is necessary to guide the user to complete the full process of operation from selecting a store to payment confirmation through a chained guidance process. The chained guidance process is a mechanism that strings together multiple operation steps, and each step is set with a status checkpoint. The specific method of guiding the user to complete the full process of operation is to gradually guide the user to complete steps such as selecting a store, entering the license plate number, selecting a card type, and payment confirmation through interface prompts and operation buttons. The specific method of setting the status checkpoint is to verify the operation result after each step is completed. For example, verify the format after entering the license plate number and update the order amount after selecting the card type. Through the chained guidance process and status checkpoints, the standardization of order management and the user experience can be effectively improved. For example, users can smoothly complete the order through clear interface prompts and operation buttons without worrying about missing steps.

[0078] This embodiment creates an order state machine and defines core states, providing a clear life cycle framework for order management. Independent UI rendering components and business processing logics are configured for each core state, improving the flexibility of order management and the user experience. A real-time communication channel is established via WebSocket to ensure status synchronization between the store side and the user side, enhancing the real-time performance and accuracy of order management. The license plate image is captured and parsed by the OCR component to pre-verify the license plate number, improving the accuracy and convenience of verification. The dual-card type recommendation logic is triggered and order parameters are dynamically adjusted, enhancing the flexibility of orders and user satisfaction. Through a chained guidance process and status checkpoints, users are guided to complete the full process of operations, improving the standardization of order management and the user experience, effectively enhancing the intelligent level and user-friendliness of the platform, simplifying the operation steps of users, and improving the user experience.

[0079] In one implementation of this embodiment, updating the balance data of the store associated with the current car wash store according to the transaction result includes the following steps: S810. Adopt an optimistic lock mechanism to ensure the atomicity of transaction result updates; S820. Asynchronously update the statistical dashboard data of the store associated with the current car wash store through a distributed database mechanism to update the balance data of the store associated with the current car wash store.

[0080] In this embodiment, asynchronously updating the statistical dashboard data of the store associated with the current car wash store through a distributed database mechanism includes: S1. Adopt a publish-subscribe mode to broadcast the transaction result event to the message queue; S2. Configure a data aggregation service to subscribe to the transaction result event and perform data classification processing; S3. Batch aggregate the transaction data according to a preset time window; S4. Use an incremental calculation method to update key indicators such as the real-time revenue, order volume, and customer satisfaction of the store; S5. Through data sharding technology, distribute and store the statistical data of different stores to improve query efficiency; S6. Set up a data consistency check mechanism to regularly verify the consistency between the main database and the statistical dashboard data and automatically repair inconsistent items.

[0081] The preset time window can be 5 minutes, 1 hour, or 24 hours.

[0082] When updating the balance data of the store associated with the current car wash store, an optimistic locking mechanism needs to be adopted to ensure the atomicity of the transaction result update. The optimistic locking mechanism is a concurrency control technology that is implemented by adding a version number field to the data table. The specific implementation method is to obtain the current version number while reading the store balance data; before updating the balance data, verify whether the version number is the same as when it was read. If it is the same, perform the update operation and increment the version number by 1; if it is not the same, abort the current update operation and retry. For example, if the current balance of store A is 1000 yuan and the version number is 5, when updating the balance to 1200 yuan, it will verify whether the version number is 5. If it is, the update is successful and the version number is incremented by 1; otherwise, it retries. Adopting the optimistic locking mechanism can effectively avoid data inconsistency problems caused by concurrent updates and ensure the atomicity of the transaction result update. For example, in a high-concurrency scenario, when multiple users update the balance data of the same store simultaneously, the optimistic locking mechanism can effectively prevent data conflicts.

[0083] After ensuring the atomicity of the transaction result update, it is necessary to asynchronously update the statistical dashboard data of the store associated with the current car wash store through a distributed database mechanism. The distributed database mechanism is a technology that stores data distributedly on multiple nodes, which can improve the efficiency and reliability of data processing. The specific method of asynchronous update is to broadcast the transaction result event to the message queue, and the data aggregation service subscribes to and processes these events. For example, when a transaction is completed at store A, the transaction result event will be published to the message queue, and the data aggregation service will receive the event and update the statistical dashboard data of store A. Asynchronously updating the statistical dashboard data through the distributed database mechanism can effectively improve the efficiency of data processing and the scalability of the system. For example, in a high-concurrency scenario, the asynchronous update mechanism can effectively share the load of the database and avoid a decline in system performance.

[0084] In the distributed database mechanism, first, the publish-subscribe mode needs to be adopted to broadcast the transaction result event to the message queue. The publish-subscribe mode is a message passing mode that allows multiple subscribers to receive messages sent by the publisher simultaneously. The specific implementation method is to publish the transaction result event (such as transaction amount, store ID, etc.) to the message queue when the transaction is completed, and all data aggregation services that have subscribed to this message queue will receive this event. For example, when a transaction is completed at store A, the transaction result event will be published to the message queue named "transaction-events", and the data aggregation service subscribes to this queue and processes the event. Adopting the publish-subscribe mode can achieve the broadcast and asynchronous processing of transaction result events, improving the flexibility and scalability of the system. For example, multiple data aggregation services can process transaction result events simultaneously, sharing the workload of data processing.

[0085] After broadcasting the transaction result event to the message queue, it is necessary to configure the data aggregation service to subscribe to the transaction result event and perform data classification processing. The data aggregation service is a service for processing and analyzing data, capable of classifying and aggregating transaction result events. The specific implementation method is that the data aggregation service subscribes to the transaction result events in the message queue and classifies the events into different processing queues according to the store ID in the event. For example, if the store ID in the transaction result event is A, then the event is classified into the processing queue of store A. Configuring the data aggregation service and performing data classification processing can improve the efficiency and accuracy of data processing. For example, the data aggregation service can classify and process transaction result events according to the store ID to ensure that the statistical data of each store can be accurately updated.

[0086] After data classification processing, it is necessary to batch-aggregate the transaction data according to a preset time window. The time window is a mechanism for segmenting data by time, which can improve the efficiency of data processing. In specific implementation, the data aggregation service batch-aggregates the transaction data according to a preset time window (such as every minute), and calculates indicators such as the total transaction amount, the number of orders, and the customer satisfaction within each time window. For example, within the one-minute time window, the data aggregation service calculates that the total transaction amount of store A is 5,000 yuan, the number of orders is 10, and the customer satisfaction is 95%. Batch-aggregating the transaction data according to the time window can improve the efficiency of data processing and the real-time performance of the system. For example, the batch-aggregation mechanism can effectively reduce the number of writes to the database and improve the performance of the system.

[0087] After batch-aggregating the transaction data, it is necessary to use the incremental calculation method to update key indicators such as the real-time revenue, the number of orders, and the customer satisfaction of the store. The incremental calculation method is a method that only calculates the changed part of the data, which can improve the efficiency of data processing. The specific implementation method is that the data aggregation service calculates the increments of the real-time revenue, the number of orders, and the customer satisfaction of each store according to the result of batch aggregation, and updates the statistical dashboard data. For example, the real-time revenue of store A increases from 10,000 yuan to 15,000 yuan, the number of orders increases from 50 to 60, and the customer satisfaction increases from 90% to 95%. Using the incremental calculation method to update key indicators can improve the efficiency of data processing and the real-time performance of the system. For example, the incremental calculation mechanism can effectively reduce the workload of data processing and improve the performance of the system.

[0088] After updating the key metrics, it is necessary to use data sharding technology to distribute and store the statistical data of different stores to improve the query efficiency. Data sharding technology is a technology that distributes and stores data on multiple nodes, which can improve the efficiency of data query. The specific implementation method is to distribute and store the statistical data on different database nodes according to the store ID. For example, the statistical data of store A is stored on node 1, and the statistical data of store B is stored on node 2. By distributing and storing the statistical data through data sharding technology, the efficiency of data query and the scalability of the system can be improved. For example, the data sharding mechanism can effectively share the query load of the database and improve the performance of the system.

[0089] After distributing and storing the statistical data, it is necessary to set up a data consistency check mechanism to regularly verify the consistency between the main database and the statistical dashboard data and automatically repair the inconsistent items. The data consistency check mechanism is a technology used to ensure data consistency, which can regularly check and repair data inconsistency problems. The specific implementation method is to regularly (such as every hour) check the consistency between the main database and the statistical dashboard data. If inconsistent items are found, they will be automatically repaired. For example, if the real-time revenue of store A is 15,000 yuan in the main database but 14,000 yuan in the statistical dashboard data, the statistical dashboard data will be automatically updated to 15,000 yuan. Setting up a data consistency check mechanism can ensure data consistency and system reliability. For example, the data consistency check mechanism can effectively prevent data inconsistency problems and improve system reliability.

[0090] This embodiment uses an optimistic lock mechanism to ensure the atomicity of transaction result updates and avoid data inconsistency problems caused by concurrent updates. By using a distributed database mechanism to asynchronously update the statistical dashboard data, the efficiency of data processing and the scalability of the system are improved. The publish-subscribe mode is used to broadcast transaction result events to the message queue to achieve asynchronous processing of events. Configure a data aggregation service and perform data classification processing to improve the efficiency and accuracy of data processing. Aggregate transaction data in batches according to a time window to reduce the number of writes to the database. Use an incremental calculation method to update key metrics to improve the efficiency of data processing and the real-time performance of the system. By using data sharding technology to distribute and store statistical data, the efficiency of data query and the scalability of the system are improved. Set up a data consistency check mechanism to ensure data consistency and system reliability. It effectively enhances the intelligent level and user-friendliness of the platform, simplifies the operation steps of users, and improves the user experience.

[0091] In one implementation of this embodiment, an optimistic lock mechanism is used to ensure the atomicity of transaction result updates, including the following steps: S910. Set a version number field in a preset database table to identify the current version of the statistical dashboard data; S920. When reading the store balance data, obtain the current version number; S930. Before updating the store balance data, verify whether the version number is the same as that when reading; S940. If the version numbers are the same, perform the update operation and increment the version number by 1; S950. If the version numbers are different, indicating that the data has been modified by other transactions, abort the current update operation and retry; S960. If the number of retries is greater than the preset maximum number of retries, trigger the transaction rollback mechanism and record the conflict log; S970. In a high-concurrency scenario, adopt an exponential backoff algorithm to dynamically adjust the retry interval. Among them, set the maximum number of retries to 3 times. After exceeding, trigger the transaction rollback mechanism and record the conflict log. In a high-concurrency scenario, adopt an exponential backoff algorithm to dynamically adjust the retry interval to reduce the conflict probability.

[0092] When adopting the optimistic locking mechanism, first, it is necessary to set a version number field in the preset database table to identify the current version of the statistical dashboard data. The version number field is an integer field and will increment each time the data is updated. The specific method of setting the version number field is to add a field named "version" in the database table design and set its initial value to 1. For example, in the store balance table, in addition to the balance field, there will also be a version number field to record the current version of the data. Setting the version number field can provide basic support for the optimistic locking mechanism to ensure that each data update can be verified through the version number. For example, when multiple transactions update the balance data of the same store simultaneously, the version number field can effectively prevent data conflicts.

[0093] After setting the version number field, each time the store balance data is read, it is necessary to obtain the current version number. The specific method of obtaining the version number is to query the value of the version number field while querying the balance data. For example, when querying the balance data of store A, its version number (such as 5) will be obtained simultaneously. Obtaining the current version number can provide a verification basis for subsequent update operations. For example, before updating the balance data, it can be verified whether the data has been modified by other transactions through the version number, thus ensuring the atomicity of the update.

[0094] After obtaining the current version number, before updating the store balance data each time, it is necessary to verify whether the version number is the same as when it was read. The specific method for verifying the version number is to query the value of the version number field again before the update operation and compare it with the version number when it was read. For example, if the version number when it was read is 5 and the version number before the update is still 5, the verification passes; if the version number has changed to 6, the verification fails. Verifying the version number can ensure the atomicity of the update operation and avoid data inconsistency problems caused by concurrent updates. For example, when multiple transactions update the balance data of the same store at the same time, only transactions with the same version number can successfully update.

[0095] If the version number verification passes, perform the update operation and increment the version number by 1. The specific method for performing the update operation is to write the new balance data to the database and increment the value of the version number field. For example, if the balance of store A is updated from 1000 yuan to 1200 yuan, the version number is incremented from 5 to 6. Performing the update operation and incrementing the version number by 1 can ensure the atomicity and consistency of data updates. For example, only transactions with the same version number can successfully update the data, thus avoiding data conflicts.

[0096] If the version number verification fails, indicating that the data has been modified by other transactions, it is necessary to abort the current update operation and retry. The specific method for aborting the update operation is to roll back the current transaction and reread the balance data and version number. For example, if the version number has changed to 6 while the version number when it was read is 5, abort the update operation and reread the data. Aborting the update operation and retrying can reduce the probability of data conflicts and improve the success rate of the update operation. For example, when multiple transactions update the balance data of the same store at the same time, the retry mechanism can effectively avoid data conflicts.

[0097] If the number of retries is greater than the preset maximum number of retries (such as 3 times), it is necessary to trigger the transaction rollback mechanism and record the conflict log. The specific method for triggering the transaction rollback mechanism is to roll back the current transaction and record the conflict log, including information such as the time of the conflict, store ID, and version number. For example, if the number of retries exceeds 3 times, roll back the transaction and record the conflict log. Triggering the transaction rollback mechanism and recording the conflict log can ensure the stability and maintainability of the system. For example, when data conflicts cannot be resolved by retrying, the rollback mechanism can prevent data corruption, and the conflict log is convenient for subsequent problem troubleshooting and repair.

[0098] In high-concurrency scenarios, an exponential backoff algorithm needs to be adopted to dynamically adjust the retry interval to reduce the probability of conflicts. The exponential backoff algorithm is an algorithm for dynamically adjusting the retry interval, and the interval time for each retry will increase exponentially. The specific implementation method is that the interval time for the first retry is 1 second, the second is 2 seconds, and the third is 4 seconds. For example, if the first retry fails, wait for 1 second and then retry; if the second retry fails, wait for 2 seconds and then retry. By using the exponential backoff algorithm to dynamically adjust the retry interval, the probability of data conflicts in high-concurrency scenarios can be reduced, and the success rate of update operations can be improved. For example, when multiple transactions update the balance data of the same store simultaneously, the exponential backoff algorithm can effectively disperse retry requests and reduce the probability of conflicts.

[0099] In this embodiment, a version number field is set in the database table, providing basic support for the optimistic locking mechanism. When reading the store balance data, the current version number is obtained, providing a verification basis for the update operation. Before the update, it is verified whether the version numbers are consistent, ensuring the atomicity of the update operation. When the version numbers are consistent, the update operation is executed and the version number is incremented by 1, ensuring data consistency and atomicity. When the version numbers are inconsistent, the update operation is aborted and retried, reducing the probability of data conflicts. When the number of retries exceeds the preset maximum value, the transaction rollback mechanism is triggered and a conflict log is recorded, ensuring the stability and maintainability of the system. In high-concurrency scenarios, the exponential backoff algorithm is used to dynamically adjust the retry interval, reducing the probability of conflicts, enhancing the platform's concurrent processing ability and data consistency, simplifying the user's operation steps, and improving the user experience.

[0100] In one implementation of this embodiment, the following steps are further included: S1010: In response to a transaction failure signal, obtain the operation log of the user, and trace back through the operation log to locate the nearest valid state node; S1020: At the valid state node, reconstruct the transaction context data and generate a dual recovery path, where the dual recovery path includes a first path for continuing the payment and a second path for reselecting.

[0101] When a transaction fails, it is necessary to immediately respond to this signal, obtain the user's operation log, and backtrack through the operation log to locate the nearest valid state node. The operation log is a type of data that records the user's operation history, including the store selected by the user, the license plate number entered, the card type selected, and payment information, etc. The specific method for obtaining the operation log is to read the relevant data from the local storage of the user terminal or the cloud database. The specific method for backtracking to the nearest valid state node is to analyze the operation log and find the last operation step that was successfully executed. For example, if the user fails at the payment stage, the nearest valid state node may be the step of selecting the card type. Through backtracking and positioning using the operation log, it effectively ensures that after a transaction fails, it can quickly recover to the previous valid state, avoiding the user having to re-operate all steps. For example, the user does not need to re-select the store and enter the license plate number, but only needs to continue the operation from the step of selecting the card type, thus saving time and effort.

[0102] After locating the nearest valid state node, it is necessary to reconstruct the transaction context data and generate a dual recovery path. The transaction context data is a type of data that records the current transaction state, including the store selected by the user, the license plate number entered, the card type selected, and payment information, etc. The specific method for reconstructing the transaction context data is to extract the relevant data from the operation log and restore it to the transaction context. The specific method for generating the dual recovery path is to generate two recovery paths based on the transaction context data: the first path is to continue payment, that is, to complete the payment operation from the current state; the second path is to re-select, that is, to re-select the card type or store from the current state. For example, if the user fails at the payment stage, the first path is to continue payment, and the second path is to re-select the card type. Reconstructing the transaction context data and generating the dual recovery path effectively improves the recovery efficiency and user experience after a transaction fails. For example, the user can choose to continue payment or re-select according to their own needs, thus flexibly dealing with the situation of transaction failure.

[0103] In this embodiment, in response to the transaction failure signal, the user's operation log is obtained, and through backtracking and positioning using the operation log to the nearest valid state node, it is ensured that after a transaction fails, it can quickly recover to the previous valid state, avoiding the user having to re-operate all steps. At the valid state node, the transaction context data is reconstructed, and a dual recovery path is generated, including the first path of continuing payment and the second path of re-selecting, which improves the recovery efficiency and user experience after a transaction fails, enhances the fault tolerance of the platform and user-friendliness, simplifies the user's operation steps, and improves the user experience.

[0104] This application embodiment also provides an electronic device, which deploys a car wash management platform, including: A memory, configured to store instructions; and A processor configured to call instructions from a memory and capable of implementing the above-described service interaction method based on a car wash platform when executing the instructions.

[0105] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer-usable program code.

[0106] The present application is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, as well as the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the specified functions in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.

[0107] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that implement the specified functions in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.

[0108] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the specified functions in Figure 1 one flow or multiple flows and / or blocks Figure 1 one block or multiple blocks.

[0109] In a typical configuration, a computing device includes one or more processors (CPUs), an input / output interface, a network interface, and a memory.

[0110] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0111] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0112] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0113] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.

Claims

1. A service interaction method based on a car wash platform, characterized in that, Applied to an electronic device, the electronic device is deployed with a car wash management platform, and the car wash management platform includes a front-end interaction module. The method includes: Respond to an HTTP request sent by a user terminal, obtain the user's longitude and latitude coordinates, and generate a geofence range based on the user's longitude and latitude coordinates; Obtain the status data set of each car wash store within the geofence range from the Redis secondary cache. The status data set includes the number of available parking spaces and historical rating metrics; Sort all the status data sets to generate a recommended list of car wash stores; Respond to the user's store selection instruction, determine the current car wash store, initialize the three-state order management system of the current car wash store, and execute the license plate pre-verification logic and the dual-card type recommendation logic. Among them, the three-state order management system is configured for a chained guiding process and integrates a two-way interaction channel of code scanning verification and direct phone connection; Generate an encrypted payment instruction and obtain the transaction result when the license plate verification and the dual-card type verification are passed; Update the balance data of the store associated with the current car wash store according to the transaction result and visualize the balance data.

2. The method according to claim 1, wherein The sorting of all the status data sets to generate a recommended list of car wash stores includes: Construct a multi-dimensional sorting matrix based on the distance between the user's longitude and latitude coordinates and each car wash store, the number of available parking spaces, and historical rating metrics; Apply an adaptive weight algorithm to the multi-dimensional sorting matrix, where the sum of the distance weight coefficient, the number of available parking spaces weight coefficient, and the historical rating metrics weight coefficient is 1; Obtain the historical selection behavior of the user terminal, dynamically adjust the weight coefficients according to the historical selection behavior, and construct a personalized recommendation model; Perform a comprehensive rating and sorting on the car wash stores based on the personalized recommendation model to generate a final recommended list.

3. The method according to claim 1, wherein After the sorting of all the status data sets to generate a recommended list of car wash stores, it further includes: Through the skeleton screen placeholder component of the front-end interaction module, start the placeholder animation when the HTTP request response delay exceeds the preset time; Calculate the standard height of a single recommended item and multiply it by the expected number of items in the recommended list to obtain the estimated total height; Divide the estimated total height into multiple equally high blocks, and the height of each block is a preset percentage of the standard height of a single recommended item; Generate gray curved blocks with random widths for each block, where the width range of the gray curved blocks is within the preset percentage range of the container width; Within each block, set the gray scale gradient effect through the CSS animation property to form a wave loading animation from left to right; Dynamically adjust the frequency of the wave loading animation according to the obtained current network response speed to ensure visual coherence before the data loading is completed; Perform a fade-out switch after the data loading is completed to maintain the smoothness of the interface rendering.

4. The method according to claim 1, characterized in that, The generation of the geofence range based on the user's longitude and latitude coordinates includes: Convert the user's longitude and latitude coordinates into standard coordinates through a preset coordinate conversion algorithm; Calculate the distance between each car wash store and the standard coordinates based on the spherical distance formula, and filter out the set of car wash stores with a distance less than or equal to the preset distance; Determine the geofence range according to the set of car wash stores.

5. The method according to claim 4, wherein The determination of the geofence range according to the set of car wash stores includes: Based on the coordinates of the farthest store in the car wash store set, construct a polygon geographic fence centered on the user's longitude and latitude coordinates; Perform grid processing on the polygon geographic fence to divide the area of the polygon geographic fence into multiple hexagonal grid cells with equal areas; Assign a unique identifier to each hexagonal grid cell and establish a mapping relationship between the hexagonal grid cell and the car wash store; According to the user's movement trajectory, dynamically update the set of active grid cells and trigger corresponding geographic fence events; When the user enters or leaves a specific grid cell, automatically update the list of visible car wash stores and send a push notification.

6. The method according to claim 1, characterized in that The license plate pre-verification logic includes: In response to receiving the current license plate number input instruction, use a regular expression to verify the format of the current license plate number; In the case of failed format verification, based on the historical record database, generate the legal license plate format closest to the current license plate number; The dual car wash card type recommendation logic includes: Based on the obtained historical consumption data of the user terminal and the current vehicle model information, construct a user car wash preference model; Analyze the user's car wash frequency and single consumption amount, and calculate the user value coefficient; According to the user value coefficient, dynamically match suitable car wash card type combinations, including frequency cards and duration cards; Compare the economy of frequency cards and duration cards in different usage scenarios and generate dual car wash card type comparison data; Display the dual car wash card type comparison data through the front-end interaction module and optimize the user value coefficient in response to the user's actual selection signal.

7. The method according to claim 6, wherein The car wash management platform is also integrated with an OCR component. Initializing the three-state order management system of the current car wash store and executing the license plate pre-verification logic and the dual car wash card type recommendation logic includes: Create an order state machine and define the core states, where the core states include pending payment, in progress, and completed; Configure independent UI rendering components and business processing logics for each core state; During the state transition process, establish a real-time communication channel through WebSocket to ensure the state synchronization between the store end and the user end; Capture and parse the license plate image through the OCR component, determine the parsed license plate number, and pre-verify the current license plate number and the parsed license plate number; After the license plate pre-verification passes, trigger the dual car wash card type recommendation logic and dynamically adjust the order parameters in response to the user's actual selection signal; Through a chained guidance process, guide the user to complete the full process of operation from store selection to payment confirmation. Among them, state checkpoints are set for each link in the full process from store selection to payment confirmation.

8. The method according to claim 1, characterized in that, The updating of the balance data of the store associated with the current car wash store according to the transaction result includes: Adopt an optimistic lock mechanism to ensure the atomicity of the transaction result update; Through a distributed database mechanism, asynchronously update the statistical dashboard data of the store associated with the current car wash store to update the balance data of the store associated with the current car wash store.

9. The method according to claim 8, wherein The adoption of the optimistic lock mechanism to ensure the atomicity of the transaction result update includes: Set a version number field in the preset database table to identify the current version of the statistical dashboard data; When reading the store balance data, obtain the current version number; Before updating the store balance data, verify whether the version number is consistent with that when reading; If the version numbers are the same, perform the update operation and increment the version number by 1; If the version numbers are different, abort the current update operation and retry; If the number of retries is greater than the preset maximum number of retries, trigger the transaction rollback mechanism and record the conflict log; In a high-concurrency scenario, use the exponential backoff algorithm to dynamically adjust the retry interval.

10. The method according to claim 1, wherein The method further includes: In response to a transaction failure signal, obtain the user's operation log and backtrack through the operation log to locate the nearest valid state node; At the valid state node, reconstruct the transaction context data and generate a dual recovery path, where the dual recovery path includes a first path for continuing the payment and a second path for re-selection.

Citation Information

Patent Citations

  • Method and device for providing service information

    CN112398895A

  • Car washing reservation system based on WeChat applet

    CN112990504A

  • Store data processing and order processing method and device

    CN113888229A

  • Shared car washing system

    CN117710071A

  • Parking service recommendation method, parking service platform, equipment and readable storage medium

    CN119106876A