Table des matières
回复内容:
Maison développement back-end tutoriel php 新人求教关于拼车系统的设计问题

新人求教关于拼车系统的设计问题

Jul 06, 2016 pm 01:51 PM
mysql php

初来乍到,表达能力也一般,还望各位多包含、多指教
这个系统跟传统的拼车有所区别,是根据我们这边的一些私营车队(类似汽车站线路车)作为参照物来思考的
系统的功能大致如下:
1、订单
2、线路(某城市至某城市,往返)
3、车队(类似用户组,归类属于某城市至某城市线路的司机,并排序)
4、司机

根据自己观察后思考所得的业务需求应该如下:
1、用户下单至系统,数据包含出发城市、目的城市、人数、出发时间
2、系统按照如下条件完成分配:
2.1、根据用户的出发地和目的地匹配到属于该线路的车队
2.2、根据用户的出发地匹配到该车队内目前在当前城市的司机(按照车队内司机的先后顺序)
2.3、检索已分配给该司机的订单,并统计其订单内人数总和是否大于4,假设当前司机已存在系统分配订单的人数总和已经达到3人,而当前新订单的人数是2人,总和大于4,则将该新订单自动分配给下一位司机
2.4、满足以上条件后将该司机置于发车状态

目前打算将车队及车队内司机用以下格式做redis缓存

<code>array(
    array(
        'name' => '车队1',
        'route' => '1,2', // 线路所属的两个城市的id,用这种格式比较好判断
        'members' => array(
            array('司机1', '电话', 序号, 所在城市id, ...),
            array('司机2', '电话', 序号, 所在城市id, ...),
            array('司机3', '电话', 序号, 所在城市id, ...)
        )
    ),
    array(
        'name' => '车队2',
        'route' => '3,4', // 线路所属的两个城市的id,用这种格式比较好判断
        'members' => array(
            array('司机1', '电话', 序号, 所在城市id, ...),
            array('司机2', '电话', 序号, 所在城市id, ...),
            array('司机3', '电话', 序号, 所在城市id, ...)
        )
    )
    ...
);</code>
Copier après la connexion
Copier après la connexion

以上都是我自己思考而来,起初只是为了测试自己的程度,但是现在还没走多远就卡在了订单分配这个环节,求大神指点一二,程序上也好,数据库设计上的也好,非常感谢。

回复内容:

初来乍到,表达能力也一般,还望各位多包含、多指教
这个系统跟传统的拼车有所区别,是根据我们这边的一些私营车队(类似汽车站线路车)作为参照物来思考的
系统的功能大致如下:
1、订单
2、线路(某城市至某城市,往返)
3、车队(类似用户组,归类属于某城市至某城市线路的司机,并排序)
4、司机

根据自己观察后思考所得的业务需求应该如下:
1、用户下单至系统,数据包含出发城市、目的城市、人数、出发时间
2、系统按照如下条件完成分配:
2.1、根据用户的出发地和目的地匹配到属于该线路的车队
2.2、根据用户的出发地匹配到该车队内目前在当前城市的司机(按照车队内司机的先后顺序)
2.3、检索已分配给该司机的订单,并统计其订单内人数总和是否大于4,假设当前司机已存在系统分配订单的人数总和已经达到3人,而当前新订单的人数是2人,总和大于4,则将该新订单自动分配给下一位司机
2.4、满足以上条件后将该司机置于发车状态

目前打算将车队及车队内司机用以下格式做redis缓存

<code>array(
    array(
        'name' => '车队1',
        'route' => '1,2', // 线路所属的两个城市的id,用这种格式比较好判断
        'members' => array(
            array('司机1', '电话', 序号, 所在城市id, ...),
            array('司机2', '电话', 序号, 所在城市id, ...),
            array('司机3', '电话', 序号, 所在城市id, ...)
        )
    ),
    array(
        'name' => '车队2',
        'route' => '3,4', // 线路所属的两个城市的id,用这种格式比较好判断
        'members' => array(
            array('司机1', '电话', 序号, 所在城市id, ...),
            array('司机2', '电话', 序号, 所在城市id, ...),
            array('司机3', '电话', 序号, 所在城市id, ...)
        )
    )
    ...
);</code>
Copier après la connexion
Copier après la connexion

以上都是我自己思考而来,起初只是为了测试自己的程度,但是现在还没走多远就卡在了订单分配这个环节,求大神指点一二,程序上也好,数据库设计上的也好,非常感谢。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL: une introduction à la base de données la plus populaire au monde MySQL: une introduction à la base de données la plus populaire au monde Apr 12, 2025 am 12:18 AM

MySQL est un système de gestion de la base de données relationnel open source, principalement utilisé pour stocker et récupérer les données rapidement et de manière fiable. Son principe de travail comprend les demandes des clients, la résolution de requête, l'exécution des requêtes et les résultats de retour. Des exemples d'utilisation comprennent la création de tables, l'insertion et la question des données et les fonctionnalités avancées telles que les opérations de jointure. Les erreurs communes impliquent la syntaxe SQL, les types de données et les autorisations, et les suggestions d'optimisation incluent l'utilisation d'index, les requêtes optimisées et la partition de tables.

PHP vs Python: comprendre les différences PHP vs Python: comprendre les différences Apr 11, 2025 am 12:15 AM

PHP et Python ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1.Php convient au développement Web, avec une syntaxe simple et une efficacité d'exécution élevée. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et des bibliothèques riches.

Pourquoi utiliser MySQL? Avantages et avantages Pourquoi utiliser MySQL? Avantages et avantages Apr 12, 2025 am 12:17 AM

MySQL est choisi pour ses performances, sa fiabilité, sa facilité d'utilisation et son soutien communautaire. 1.MySQL fournit des fonctions de stockage et de récupération de données efficaces, prenant en charge plusieurs types de données et opérations de requête avancées. 2. Adoptez l'architecture client-serveur et plusieurs moteurs de stockage pour prendre en charge l'optimisation des transactions et des requêtes. 3. Facile à utiliser, prend en charge une variété de systèmes d'exploitation et de langages de programmation. 4. Avoir un solide soutien communautaire et fournir des ressources et des solutions riches.

Statut actuel de PHP: un regard sur les tendances de développement Web Statut actuel de PHP: un regard sur les tendances de développement Web Apr 13, 2025 am 12:20 AM

Le PHP reste important dans le développement Web moderne, en particulier dans la gestion de contenu et les plateformes de commerce électronique. 1) PHP a un écosystème riche et un fort soutien-cadre, tels que Laravel et Symfony. 2) L'optimisation des performances peut être obtenue via Opcache et Nginx. 3) PHP8.0 introduit le compilateur JIT pour améliorer les performances. 4) Les applications natives dans le cloud sont déployées via Docker et Kubernetes pour améliorer la flexibilité et l'évolutivité.

PHP et Python: comparaison de deux langages de programmation populaires PHP et Python: comparaison de deux langages de programmation populaires Apr 14, 2025 am 12:13 AM

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

PHP: la fondation de nombreux sites Web PHP: la fondation de nombreux sites Web Apr 13, 2025 am 12:07 AM

Les raisons pour lesquelles PHP est la pile technologique préférée pour de nombreux sites Web incluent sa facilité d'utilisation, son soutien communautaire solide et son utilisation généralisée. 1) Facile à apprendre et à utiliser, adapté aux débutants. 2) Avoir une énorme communauté de développeurs et des ressources riches. 3) Largement utilisé dans WordPress, Drupal et d'autres plateformes. 4) Intégrez étroitement aux serveurs Web pour simplifier le déploiement du développement.

Place de MySQL: bases de données et programmation Place de MySQL: bases de données et programmation Apr 13, 2025 am 12:18 AM

La position de MySQL dans les bases de données et la programmation est très importante. Il s'agit d'un système de gestion de base de données relationnel open source qui est largement utilisé dans divers scénarios d'application. 1) MySQL fournit des fonctions efficaces de stockage de données, d'organisation et de récupération, en prenant en charge les systèmes Web, mobiles et de niveau d'entreprise. 2) Il utilise une architecture client-serveur, prend en charge plusieurs moteurs de stockage et optimisation d'index. 3) Les usages de base incluent la création de tables et l'insertion de données, et les usages avancés impliquent des jointures multiples et des requêtes complexes. 4) Des questions fréquemment posées telles que les erreurs de syntaxe SQL et les problèmes de performances peuvent être déboguées via la commande Explication et le journal de requête lente. 5) Les méthodes d'optimisation des performances comprennent l'utilisation rationnelle des indices, la requête optimisée et l'utilisation des caches. Les meilleures pratiques incluent l'utilisation des transactions et des acteurs préparés

PHP: un langage clé pour le développement Web PHP: un langage clé pour le développement Web Apr 13, 2025 am 12:08 AM

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

See all articles