🌟 毕业设计护航专家 🌟
同学们好!作为深耕计算机毕业设计领域多年的技术顾问,我已成功帮助2000+学子完美通关毕业设计。从选题指导到最终答辩,提供一站式专业服务。
💡 技术实力: 精通Java全栈(SSM/SpringBoot)、Python数据分析、微信小程序/安卓APP开发等主流技术,提供一站式毕设解决方案。
📂 资源保障: 拥有上千套成熟项目案例(含完整源码+数据库+论文),支持个性化定制开发,并提供远程部署调试服务。
🛠 服务特色:
- 从选题指导到论文降重的全流程支持
- 拒绝学术造假,合规辅导
📩 需要帮助? 欢迎添加文末联系方式
✨ 让专业的人做专业的事,为你的毕业设计保驾护航!
摘 要
本课题旨在研发基于微信小程序的校园外卖接单系统,解决当前校园内外卖服务存在的诸多问题,如配送效率低、覆盖范围有限等。通过开发一个高效便捷的外卖接单平台,能够提升大学生的点餐体验,满足他们对快捷生活服务的需求。
系统采用了Spring、SpringMVC、Vue框架、Uni-App、MySQL数据库、MyBatis-Plus等技术框架进行构建。前端使用Uni-App和Vue框架进行开发,确保系统在不同平台的兼容性和响应速度。后端则基于Spring和SpringMVC进行功能实现,并结合MySQL和MyBatis-Plus管理数据库,保证数据的安全和稳定。系统功能模块包括外卖员管理、系统管理、菜品信息管理、营销活动管理等,能够实现订单管理、餐品管理、用户管理、配送管理等核心功能,满足校园外卖服务的全流程需求。
通过本课题的研究与系统的实现,提供了一个高效、便捷的校园外卖接单平台,优化了用户的点餐体验和商家的管理效率。基于微信小程序的开发模式,不仅降低了用户的使用门槛,还为未来的功能扩展和系统优化奠定了基础。
关键词:校园外卖接单系统;Spring;Spring Boot框架;Vue框架;MySQL数据库
ABSTRACT
The aim of this project is to develop a campus food delivery order receiving system based on WeChat mini programs, which can solve many problems in current campus and outdoor sales services, such as low delivery efficiency and limited coverage. By developing an efficient and convenient food delivery order platform, it can enhance the ordering experience of college students and meet their demand for fast life services.
The system is built using technical frameworks such as Spring, SpringMVC, Vue framework, Uni App, MySQL database, MyBatis Plus, etc. The front-end is developed using Uni App and Vue frameworks to ensure compatibility and response speed of the system on different platforms. The backend is based on Spring and SpringMVC for functional implementation, combined with MySQL and MyBatis Plus for database management, ensuring data security and stability. The system functional modules include delivery person management, system management, dish information management, marketing activity management, etc., which can achieve core functions such as order management, meal management, user management, and delivery management, meeting the full process requirements of campus delivery services.
Through the research and implementation of this project, an efficient and convenient campus takeaway order platform has been provided, optimizing the ordering experience for users and the management efficiency for merchants. The development model based on WeChat mini programs not only reduces the user's threshold for use, but also lays the foundation for future functional expansion and system optimization.
Key words: Campus takeaway order receiving system; Spring; Spring Boot framework; Vue framework; MySQL database
目 录
1 绪论
1.1 研究背景
随着信息技术的不断发展和移动互联网的普及,基于微信小程序的应用越来越广泛。微信小程序因其无需下载安装、即用即走、体验流畅等特性,逐渐成为应用开发者和用户的首选。近年来,随着生活节奏的加快和人们对便捷服务需求的增加,外卖服务市场迅速扩展,尤其在大学校园环境中,外卖服务的需求更加突出。在这种背景下,基于微信小程序的校园外卖接单系统的研发与实现,具有重要的现实意义和广阔的应用前景。
首先,校园外卖服务市场需求巨大。大学生是外卖服务的重要消费群体之一,他们的学习和生活节奏紧凑,尤其是在考试季和项目集中期,时间变得尤为宝贵。传统的外卖服务需要通过多个App进行操作,不仅繁琐而且效率低下。而微信作为大学生日常交流的主要工具,基于微信小程序开发的外卖接单系统可以充分利用这一社交平台的优势,为学生提供便捷、高效的服务。
其次,传统的校园外卖服务存在诸多问题。传统外卖平台虽然功能完善,但对于校园环境而言,存在配送范围受限、配送时间过长、服务价格偏高等问题,难以充分满足大学生的需求。尤其在一些偏远的校园区域,外卖平台的覆盖率较低,学生只能依赖校内有限的餐饮资源。因此,开发一个专门针对校园环境的外卖接单系统,可以有效解决这些问题,提高资源利用效率,增强用户体验。
微信小程序的技术优势为校园外卖接单系统提供了有力支持。微信小程序有着便捷的开发环境和丰富的开发资源,能够实现多样化的功能,满足复杂的业务需求。同时在技术实现方面,基于微信小程序的校园外卖接单系统需要综合运用前端开发技术、后端服务技术和数据库管理技术。前端开发主要涉及小程序界面的设计与实现,通过简洁、直观的界面设计,提高用户的使用体验。后端服务则需要实现订单管理、用户管理、餐品管理等功能,确保系统的稳定运行。数据库管理技术则用于存储和管理大量的订单数据、用户数据和餐品数据,保证数据的安全性和可靠性。
综合来看,基于微信小程序的校园外卖接单系统的研发与实现,不仅可以满足大学生对便捷外卖服务的需求,还能解决传统外卖服务在校园环境中的诸多问题。通过充分利用微信小程序的技术优势,该系统能够提供更加高效、便捷的服务,提升用户体验。
1.2 研究目的和意义
大学校园作为一个相对封闭的生活和学习环境,其独特的用户需求和服务模式为微信小程序的应用提供了广阔的空间。基于微信小程序的校园外卖接单系统的研发,正是为了应对大学生群体日益增长的外卖需求。
校园外卖市场需求的急剧增长是本课题研究的背景之一。现代大学生由于学习和生活节奏较快,经常没有足够的时间去食堂或校外就餐,外卖服务因此成为他们日常生活中必不可少的部分。然而,传统的外卖平台在校园环境中存在诸多不便之处,例如配送范围受限、配送时间不确定、服务价格较高等问题,难以完全满足校园内的外卖需求。为了更好地服务于这一特定群体,专门针对校园环境的外卖接单系统具有重要的开发意义。通过针对校园场景优化外卖服务流程,可以减少配送延迟,提高服务质量,进而提升用户体验。
从商家和配送员的角度来看,校园外卖接单系统的研发也具有显著的实用价值。当前,许多校园内的餐饮店铺缺乏有效的管理工具来处理大量的外卖订单,导致运营效率低下。而微信小程序的优势在于其轻量化和快速响应的特性,能够帮助商家方便地接收和管理订单。同时,配送员也可以通过该系统实现订单的高效管理和配送路线的优化,从而缩短配送时间,提升服务效率。
在技术实现方面,本课题的研发基于Spring、SpringMVC、Vue、Uni-App、MySQL、MyBatis-Plus等主流技术框架,充分利用了这些技术的优势。Spring和SpringMVC作为后端开发的核心框架,具有较强的可扩展性和稳定性,能够保证系统在处理大规模用户请求时的稳定运行。前端则采用Uni-app和Vue开发,以确保在多平台的兼容性,同时提升了系统的用户交互体验。MySQL作为数据库管理系统,与MyBatis-Plus的结合使用,使得数据的增删查改操作更加简便高效。通过合理的技术选型和架构设计,整个系统不仅实现了订单管理、配送员管理、菜品信息管理等功能模块。
综上所述,基于微信小程序的校园外卖接单系统的研发与实现,既是对当前外卖服务市场的一种优化创新,也是对校园用户需求的一种精准回应。通过将微信小程序与外卖服务结合,该系统可以为大学生群体提供更加高效、便捷的餐饮服务,同时帮助校内餐饮商家提升管理效率、优化流程。
1.3 国内外研究现状
1.3.1 国内研究现状
在国内,基于微信小程序的校园外卖接单系统的研究和应用已经初具规模。多个高校和创业团队已经开发并部署了一些类似的系统,这些系统主要集中在解决校园内外卖服务的高效管理和配送问题。例如,某些高校开发的校园外卖小程序结合了LBS技术,实现了精确的位置信息获取和智能配送。此外,一些系统还采用了微服务架构,通过Spring Boot和Spring Cloud等技术实现了系统的高可扩展性和高可用性。在数据库选择上,MySQL和MongoDB成为主流,前端技术则多采用Vue.js和Uni-App,以确保跨平台兼容性。然而,这些先行研究和应用也存在一定的不足之处。例如,部分系统在高并发情况下的稳定性和性能优化不足,无法满足大量用户同时下单的需求;另外,用户体验设计不够友好,操作流程繁琐,影响用户的使用体验。此外,一些系统在数据安全和隐私保护方面的措施不够完善,存在潜在的风险。因此,尽管国内在此领域已有一些成功的应用,但仍需在性能优化、用户体验和安全性等方面进行进一步的研究和改进,以满足更高标准的需求。
1.3.2 国外研究现状
在国外,虽然微信小程序并未像在中国那样广泛普及,但类似的校园外卖接单系统也有不少研究和应用。这些系统多基于其他流行的移动平台,如iOS和Android进行开发。例如,美国的一些大学校园内已经部署了基于移动应用的外卖服务系统,如Tapingo(现被Grubhub收购)和Postmates等。这些系统通常采用现代化的技术栈,包括React Native或Flutter进行跨平台开发,以确保在不同操作系统上的一致用户体验。后端技术多采用Node.js、Django或Ruby on Rails,以实现高效的API服务和数据处理。在数据库方面,PostgreSQL和Firebase被广泛使用,以确保数据的高可靠性和快速读写性能。这些系统的优势在于其高效的订单处理能力和良好的用户界面设计,能够提供即时的订单跟踪和精准的配送服务。然而,国外这些系统也存在一些不足之处,如系统的地域性限制较强,主要服务于特定区域的校园,无法实现广泛的推广和应用。尽管如此,国外的研究和应用在技术实现和用户体验方面依然提供了宝贵的参考和借鉴价值,为国内类似系统的研发提供了有益的经验。
1.4 研究内容
基于微信小程序的的校园外卖接单系统分用户、管理员和外卖员三个角色,主要功能如下。
(1)注册登录:用户输入注册相关信息进行注册,通过注册的账号进行登录。
(2)菜单浏览:用户浏览店铺发布的菜品信息,同时用户可以输入菜品信息进行精准搜索。
(3)在线下单:用户选择菜品以及数量,进行虚拟支付下单。
(4)订单管理:用户可查看订单状态,包括已下单、配送中、已完成等。
(5)菜品评价:用户可对菜品和外卖员配送服务进行评价。
二、管理员功能
(1)登录:管理员通过身份验证登录系统。
(2)用户管理:管理员可以查看和管理用户的注册信息。。
(3)外卖员管理:管理员管理外卖员的基本信息。
(4)系统管理:管理系统轮播图信息。
(5)订单管理:管理员查看所有店铺的订单信息。
(6)菜品信息管理:管理员查看所有店铺的菜品信息。
(7)营销活动管理:管理员管理店铺发布的营销活动。
三、外卖员功能
(1)注册登录:用户进行外卖员注册,登录接单系统。
(2)浏览订单:可以查看未接单的订单信息。
(3)订单管理:对自己接的订单信息进行查看。
2.1 Spring
Spring是一款广泛使用的开源企业级Java应用开发框架,旨在简化Java开发的复杂性。其核心是基于依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)的轻量级容器框架。Spring提供了丰富的功能模块,包括Spring MVC、Spring Boot、Spring Security等。Spring通过解耦组件和模块,简化了开发流程,同时提供事务管理、持久化多种高级功能。Spring框架的优点在于其高度的灵活性和扩展性,适合开发复杂的、分布式的企业应用系统。
2.2 Spring Boot框架
Spring Boo框架通过提供一系列开箱即用的功能和默认配置,极大地降低了构建和部署Spring应用的复杂度。Spring Boot使开发者无需进行繁琐的配置工作,只需添加相关依赖和注解即可快速启动项目。该框架支持自动配置,根据项目的依赖和环境自动调整设置,减少了手动配置的错误风险。内嵌的Web服务器,如Tomcat和Jetty,使得应用无需复杂的部署过程,直接运行即可。Spring Boot还集成了监控、健康检查等运维功能,提升了应用的可管理性和可靠性。
2.3 MySQL数据库
MySQL数据库以其高性能、稳定性和易于使用而受到广泛欢迎。MySQL支持结构化查询语言于数据管理和操作,并提供了多种存储引擎,以满足不同的应用需求,它适用于从小型网站到大型企业系统的各种应用。MySQL具有良好的可扩展性,并支持数据备份、恢复和安全管理功能。其强大的社区支持和广泛的文档资源使得开发和维护变得更加便捷。MySQL的跨平台特性允许在不同操作系统上运行,它常被用作Web开发的数据库解决方案,尤其是在LAMP堆栈中。
2.4 Vue框架
Vue框架的核心理念是“渐进式框架”,意味着开发者可以根据需求逐步引入功能,而不必一次性学习所有内容。Vue.js提供了响应式的数据绑定和组件化开发,使得开发者能够更高效地构建复杂的单页面应用。与其他前端框架相比,Vue相对更易上手,提供了清晰的文档和广泛的社区支持,它还支持虚拟DOM,优化了性能,使得界面更新更加高效。Vue在灵活性和易用性方面获得了广泛的赞誉,适合从小型项目到大型应用的开发需求。
2.5 Uni-App
Uni-app通过支持Vue语法和组件,提供了熟悉的开发体验,并且通过统一的API接口实现跨平台兼容。Uni-app利用了自研的编译工具和插件体系,使得项目可以在不同平台上保持一致的表现和功能,其内置的丰富组件库和插件市场,方便了开发者快速构建和扩展应用功能。Uni-app还支持云开发,结合DCloud的云服务,开发者可以轻松实现服务器端的功能。由于其强大的跨平台能力和便捷的开发体验,Uni-app在移动端和多平台开发中被广泛使用,适合从简单应用到复杂项目的构建。它还提供了高效的调试和发布工具,进一步加速了开发流程。
2.6 MyBatis-Plus
MyBatis-Plus是MyBatis的增强工具,旨在简化MyBatis的开发,提高代码效率和可维护性。作为MyBatis的增强版,MyBatis-Plus保留了MyBatis原有的优点,如灵活的SQL编写和强大的映射功能,并在此基础上进行了多项改进和增强。MyBatis-Plus支持逻辑删除、多租户、性能分析等高级功能。逻辑删除功能则通过配置实现软删除,避免了数据的物理删除;多租户支持满足了多租户架构下的数据隔离需求;性能分析插件则帮助开发者监控和优化SQL执行性能。MyBatis-Plus的可扩展性也非常强,允许开发者根据实际需求进行自定义扩展。总的来说,MyBatis-Plus通过简化配置和增强功能,提高了开发效率,降低了学习和使用成本,是企业级应用开发中的一款高效工具。
2.7 CSS
CSS是一种用于控制网页样式和布局的样式表语言,它允许开发者定义HTML元素的视觉表现,如颜色、字体、边距、间距和位置等,从而实现网页的美观和一致性。CSS的层叠特性使得样式可以从多个来源继承和覆盖,提供了灵活的样式管理方式。随着CSS3的推出,新增了许多强大的功能,如响应式设计、动画效果和变形功能,进一步增强了网页的交互性和视觉效果。CSS的应用能够显著提升用户体验,并支持跨设备和浏览器的兼容性。
3.1 可行性分析
3.1.1 技术可行性
基于微信小程序的校园外卖接单系统在经济可行性方面具有明显优势。首先,所采用的技术框架如Spring、SpringMVC、Vue、Uni-App、MySQL、MyBatisPlus和CSS都是开源且免费的,这大大降低了开发成本。开发环境如Navicat、Visual Studio Code、IntelliJ IDEA、HBuilder X和微信开发者工具也提供免费的社区版本,足以满足项目开发需求。
3.1.2 经济可行性
在技术可行性方面,该系统采用了成熟且广泛使用的技术框架和工具,具备较高的技术可靠性。Spring和SpringMVC作为后端开发的核心框架,提供了强大的依赖注入和面向切面编程功能,确保系统的高扩展性和可维护性。前端技术如Vue和Uni-App则保证了在多平台上的兼容性和高效的用户交互体验。MySQL和MyBatisPlus的结合使得数据库操作更加简便和高效。
3.1.3 操作可行性
操作可行性方面,该系统设计简洁,用户操作友好,适合校园环境下的使用需求。微信小程序的“即用即走”特性使得用户无需安装额外的应用,降低了使用门槛。商家和配送员通过系统可以方便地管理订单和配送任务,提高了工作效率。系统的多功能模块设计,如订单管理、配送员管理和营销活动管理,使得操作流程更加简便和高效。
3.2 系统性能分析
性能分析主要涉及以下几个方面:
1. 稳定性:通过采用Spring和SpringMVC等成熟的后端框架,系统能有效管理资源和处理请求,确保在高并发环境下也能稳定运行。MySQL数据库与MyBatisPlus的结合进一步增强了数据操作的稳定性,减少了数据丢失和操作失败的概率。
2. 界面需求:系统界面设计需简洁直观,用户操作便捷。采用Vue和Uni-App进行前端开发,可以实现高效的界面渲染和响应,确保用户流畅的操作体验。界面元素的布局应合理,确保用户在下单、支付、查看订单状态等操作时能够快速找到所需功能。通过微信小程序的优势,用户无需下载额外应用,即可享受便捷的服务,这也提高了用户的接受度和使用频率。
3. 数据加载:系统需要处理大量实时数据,包括订单信息、用户信息和配送状态等。采用MySQL数据库并结合MyBatisPlus,可以实现高效的数据查询、插入和更新操作。为提高数据加载速度,减少数据库的直接访问次数。
4. 响应时间:系统的响应时间直接影响用户体验,需确保用户操作后的反馈迅速。采用Spring和SpringMVC框架,可以实现高效的请求处理和快速的响应。前端通过Vue和Uni-App进行优化,减少不必要的页面重绘和重排,提高界面响应速度。
5. 并发处理能力:校园环境下,系统需应对高峰时段的高并发请求,例如午餐和晚餐时间段。Spring框架自带的多线程处理和异步调用功能,可以有效提升系统的并发处理能力。
3.3 系统功能分析
3.3.1 用户功能分析
用户的主要功能模块包括菜单浏览、订单管理、在线下单、菜品评价等。用户用例图如图3-1所示。

图3-1 用户用例图
3.3.2 管理员功能分析
管理员的主要功能模块包括系统管理、用户管理、菜品信息管理、外卖员管理、订单管理、营销活动管理等。管理员用例图如图3-2所示。

图3-2 管理员用例图
3.3.3 外卖员功能分析
外卖员的主要功能模块包括订单管理以及浏览订单。外卖员用例图如图3-3所示。

图3-3 外卖员用例图
4 系统设计
4.1 系统功能设计
校园外卖接单系统旨在为校园内师生提供便捷的外卖服务,系统功能设计需要满足用户、管理员和外卖员三类角色的需求。通过清晰的功能结构设计,确保系统高效、稳定地运行,为各类用户提供顺畅的使用体验。
系统总体结构功能图如图4-1所示。

图4-1 系统总体结构功能图
4.2 数据库设计
4.2.1 概念结构设计
E/R图是一种用于描述数据模型的图形化工具,通过实体、属性和关系来表示数据之间的逻辑结构和相互关系,以下为本系统部分E/R图。
(1)订单评价E/R图如图4-2所示。

图4-2 订单评价E/R图
(2)在线留言E/R图如图4-3所示。

图4-3 在线留言E/R图
(3)订单配送E/R图如图4-4所示。

图4-4 配置文件E/R图
(4)系统总体E-R图如图4-5所示。

图4-5 系统总体E-R图
4.2.2 物理结构设计
根据E-R图和逻辑结构设计,开始设计数据库物理结构,来对数据进行存储。参见下表4-1至4-11所示。
caipinfenlei 菜品分类表主要用于菜品分类信息,菜品分类表如表4-1所示。
表4-1 caipinfenlei 菜品分类
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 | |
| 1 | id | bigint | 主键 | ||||
| 2 | addtime | timestamp | current_timestamp() | 创建时间 | |||
| 3 | caipinfenlei | varchar | (200) | 菜品分类 |
caipinxinxi 菜品信息表主要用于菜品信息,菜品信息表如表4-2所示。
表4-2 caipinxinxi 菜品信息
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | addtime | timestamp | current_timestamp() | 创建时间 | ||
| 3 | caipinmingcheng | varchar | (200) | 菜品名称 | ||
| 4 | caipinfenlei | varchar | (200) | 菜品分类 | ||
| 5 | caipintupian | varchar | (200) | √ | NULL | 菜品图片 |
| 6 | caipinkouwei | varchar | (200) | √ | NULL | 菜品口味 |
| 7 | caipintese | varchar | (200) | √ | NULL | 菜品特色 |
| 8 | caipinjiage | int | 菜品价格 | |||
| 9 | caipinxiangqing | longtext | √ | NULL | 菜品详情 | |
| 10 | cantingbianhao | varchar | (200) | √ | NULL | 餐厅编号 |
| 11 | cantingmingcheng | varchar | (200) | √ | NULL | 餐厅名称 |
| 12 | lianxidianhua | varchar | (200) | √ | NULL | 联系电话 |
| 13 | cantingdizhi | varchar | (200) | √ | NULL | 餐厅地址 |
| 14 | clicktime | datetime | √ | NULL | 最近点击时间 | |
| 15 | userid | bigint | √ | NULL | 用户id |
chat 投诉反馈表主要用于投诉反馈信息,投诉反馈表如表4-3所示。
表4-3 chat 投诉反馈
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | addtime | timestamp | current_timestamp() | 创建时间 | ||
| 3 | userid | bigint | 用户id | |||
| 4 | adminid | bigint | √ | NULL | 管理员id | |
| 5 | ask | longtext | √ | NULL | 提问 | |
| 6 | reply | longtext | √ | NULL | 回复 | |
| 7 | isreply | int | √ | NULL | 是否回复 |
config 配置文件表主要用于配置文件信息,配置文件表如表4-4所示。
表4-4 config 配置文件
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | name | varchar | (100) | 配置参数名称 | ||
| 3 | value | varchar | (100) | √ | NULL | 配置参数值 |
dingdanpeisong 订单配送表主要用于订单配送信息,订单配送表如表4-5所示。
表4-5 dingdanpeisong 订单配送
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | addtime | timestamp | current_timestamp() | 创建时间 | ||
| 3 | dingdanbianhao | varchar | (200) | √ | NULL | 订单编号 |
| 4 | caipinmingcheng | varchar | (200) | √ | NULL | 菜品名称 |
| 5 | caipintupian | varchar | (200) | √ | NULL | 菜品图片 |
| 6 | cantingbianhao | varchar | (200) | √ | NULL | 餐厅编号 |
| 7 | peisongjindu | varchar | (200) | √ | NULL | 配送进度 |
| 8 | dingdanpingjia | varchar | (200) | √ | NULL | 订单评价 |
| 9 | peisongfeiyong | int | √ | NULL | 配送费用 | |
| 10 | yonghuming | varchar | (200) | √ | NULL | 用户名 |
| 11 | shouhuodizhi | varchar | (200) | √ | NULL | 收货地址 |
| 12 | peisongshijian | datetime | √ | NULL | 配送时间 | |
| 13 | peisonggonghao | varchar | (200) | √ | NULL | 配送工号 |
| 14 | dianhua | varchar | (200) | √ | NULL | 电话 |
| 15 | ispay | varchar | (200) | √ | '已支付' | 是否支付 |
dingdanpingjia 订单评价表主要用于订单评价信息,订单评价表如表4-6所示。
表4-6 dingdanpingjia 订单评价
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | addtime | timestamp | current_timestamp() | 创建时间 | ||
| 3 | caipinmingcheng | varchar | (200) | √ | NULL | 菜品名称 |
| 4 | caipintupian | varchar | (200) | √ | NULL | 菜品图片 |
| 5 | cantingbianhao | varchar | (200) | √ | NULL | 餐厅编号 |
| 6 | caipinpingfen | varchar | (200) | 菜品评分 | ||
| 7 | peisongpingfen | varchar | (200) | √ | NULL | 配送评分 |
| 8 | peisonggonghao | varchar | (200) | √ | NULL | 配送工号 |
| 9 | neirongfankui | longtext | 内容反馈 | |||
| 10 | pingjiariqi | date | √ | NULL | 评价日期 | |
| 11 | yonghuming | varchar | (200) | √ | NULL | 用户名 |
| 12 | sfsh | varchar | (200) | √ | '是' | 是否审核 |
| 13 | shhf | longtext | √ | NULL | 审核回复 |
messages 在线留言表主要用于在线留言信息,在线留言表如表4-7所示。
表4-7 messages 在线留言
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | addtime | timestamp | current_timestamp() | 创建时间 | ||
| 3 | userid | bigint | 留言人id | |||
| 4 | username | varchar | (200) | √ | NULL | 用户名 |
| 5 | content | longtext | 留言内容 | |||
| 6 | cpicture | varchar | (200) | √ | NULL | 留言图片 |
| 7 | reply | longtext | √ | NULL | 回复内容 | |
| 8 | rpicture | varchar | (200) | √ | NULL | 回复图片 |
news 公告信息表主要用于公告信息信息,公告信息表如表4-8所示。
表4-8 news 公告信息
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | addtime | timestamp | current_timestamp() | 创建时间 | ||
| 3 | title | varchar | (200) | 标题 | ||
| 4 | introduction | longtext | √ | NULL | 简介 | |
| 5 | picture | varchar | (200) | 图片 | ||
| 6 | content | longtext | 内容 |
storeup 收藏表主要用于收藏信息,收藏表如表4-9所示。
表4-9 storeup 收藏表
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | addtime | timestamp | current_timestamp() | 创建时间 | ||
| 3 | userid | bigint | 用户id | |||
| 4 | refid | bigint | √ | NULL | 收藏id | |
| 5 | tablename | varchar | (200) | √ | NULL | 表名 |
| 6 | name | varchar | (200) | 收藏名称 | ||
| 7 | picture | varchar | (200) | 收藏图片 | ||
| 8 | type | varchar | (200) | √ | '1' | 类型(1 收藏,21 赞,22 踩) |
| 9 | inteltype | varchar | (200) | √ | NULL | 推荐类型 |
token表主要用于token信息,token表如表4-10所示。
表4-10 token token表
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | userid | bigint | 用户id | |||
| 3 | username | varchar | (100) | 用户名 | ||
| 4 | tablename | varchar | (100) | √ | NULL | 表名 |
| 5 | role | varchar | (100) | √ | NULL | 角色 |
| 6 | token | varchar | (200) | 密码 | ||
| 7 | addtime | timestamp | current_timestamp() | 新增时间 | ||
| 8 | expiratedtime | timestamp | current_timestamp() | 过期时间 |
users 用户表主要用于用户信息,用户表如表4-11所示。
表4-11 users 用户表
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | username | varchar | (100) | 用户名 | ||
| 3 | password | varchar | (100) | 密码 | ||
| 4 | role | varchar | (100) | √ | '管理员' | 角色 |
| 5 | addtime | timestamp | current_timestamp() | 新增时间 |
waimaidingdan 外卖订单表主要用于外卖订单信息,外卖订单表如表4-12所示。
表4-12 waimaidingdan 外卖订单
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | addtime | timestamp | current_timestamp() | 创建时间 | ||
| 3 | dingdanbianhao | varchar | (200) | √ | NULL | 订单编号 |
| 4 | caipinmingcheng | varchar | (200) | √ | NULL | 菜品名称 |
| 5 | caipinfenlei | varchar | (200) | √ | NULL | 菜品分类 |
| 6 | caipintupian | varchar | (200) | √ | NULL | 菜品图片 |
| 7 | peisongzhuangtai | varchar | (200) | √ | NULL | 配送状态 |
| 8 | caipinjiage | int | √ | NULL | 菜品价格 | |
| 9 | dingcanshuliang | int | 订餐数量 | |||
| 10 | dingdanjine | int | √ | NULL | 订单金额 | |
| 11 | xiadanshijian | datetime | √ | NULL | 下单时间 | |
| 12 | cantingbianhao | varchar | (200) | √ | NULL | 餐厅编号 |
| 13 | dingdanbeizhu | varchar | (200) | √ | NULL | 订单备注 |
| 14 | yonghuming | varchar | (200) | √ | NULL | 用户名 |
| 15 | shouji | varchar | (200) | √ | NULL | 手机 |
| 16 | shouhuodizhi | varchar | (200) | √ | NULL | 收货地址 |
| 17 | sfsh | varchar | (200) | √ | '否' | 是否审核 |
| 18 | shhf | longtext | √ | NULL | 审核回复 | |
| 19 | ispay | varchar | (200) | √ | '已支付' | 是否支付 |
waimaiyuan 外卖员表主要用于外卖员信息,外卖员表如表4-13所示。
表4-13 waimaiyuan 外卖员
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | addtime | timestamp | current_timestamp() | 创建时间 | ||
| 3 | peisonggonghao | varchar | (200) | 配送工号 | ||
| 4 | mima | varchar | (200) | √ | NULL | 密码 |
| 5 | peisongxingming | varchar | (200) | 配送姓名 | ||
| 6 | xingbie | varchar | (200) | √ | NULL | 性别 |
| 7 | zhaopian | varchar | (200) | √ | NULL | 照片 |
| 8 | dianhua | varchar | (200) | √ | NULL | 电话 |
yonghu 用户表主要用于用户信息,用户表如表4-14所示。
表4-14 yonghu 用户
| 序号 | 列名 | 数据类型 | 长度 | 允许空 | 默认值 | 列说明 |
| 1 | id | bigint | 主键 | |||
| 2 | addtime | timestamp | current_timestamp() | 创建时间 | ||
| 3 | yonghuming | varchar | (200) | 用户名 | ||
| 4 | mima | varchar | (200) | 密码 | ||
| 5 | xingming | varchar | (200) | 姓名 | ||
| 6 | xingbie | varchar | (200) | √ | NULL | 性别 |
| 7 | touxiang | varchar | (200) | √ | NULL | 头像 |
| 8 | shouji | varchar | (200) | √ | NULL | 手机 |
| 9 | shouhuodizhi | varchar | (200) | 收货地址 |
5 系统实现
5.1 用户端
5.1.1 登录界面
打开小程序即可进入小程序的登录页面,登录小程序需要填写账号、密码、选择用户类型等,也可注册用户和外卖员。如图5-1所示。

图5-1 登录界面图
5.1.2 营销活动
进入小程序可以查看系统发布的优惠信息,也可通过搜索标题进行查询等。如图5-2所示。

图5-2 营销活动面图
5.1.3 菜品信息
在该页面可通过搜索菜品信息进行查看,也可对菜品进行分类。如图5-3所示。

图5-3 菜品信息界面图
5.2 外卖员端
5.2.1 外卖员登录
外卖员在此页面可进行登录,输入账号、密码、选择用户类型即可进行登录。也可注册外卖员信息和用户信息,如图5-4所示。

图5-4 外卖员登录界面图
5.2.2 首页
此页面外卖员可通过搜索菜品名称进行查询,也可查看菜品信息推荐等,如图5-5所示。

图5-5 首页界面图
5.3 后台管理端
5.3.1 登录界面
管理员在此页面需要输入用户名和密码,再经过系统验证无误后即可登录成功。登录界面如图5-6所示。登录流程图如图5-6所示。

图5-6登录界面图

图5-7 登录流程图
5.3.2 外卖员管理界面
管理员可以对通过输入配送工号进行外卖员信息的查询,也可对外卖员信息进行修改和删除等操作。外卖员管理界面如图5-8所示。外卖员管理流程图如图5-9所示。

图5-8 外卖员管理界面图

图5-9 外卖员管理流程图
6 系统测试
6.1 测试目的
基于微信小程序的校园外卖接单系统的功能测试目标是确保管理员、用户和外卖员三种角色在系统中的各自功能能够正常运作。首先,验证管理员的功能模块,确保其可以顺利管理商家、用户、订单和系统设置,能够有效处理系统数据并对异常情况进行维护。其次,测试用户模块,确保用户能够注册、登录、浏览商品、下单并完成支付,订单状态能实时更新。对于外卖员角色,测试目标是确保其能够接收订单、更新配送状态并完成订单交付,同时具备查看配送记录的功能。系统还需确保各角色的权限控制功能无误,避免角色之间的权限越界。
6.2 测试方法
基于微信小程序的校园外卖接单系统的测试方法主要包括黑盒测试和白盒测试。黑盒测试从用户的角度出发,确保系统功能的正确性和用户体验的完整性。具体应用方面,如对用户注册和登录功能,测试不同的输入组合,确保系统能够正确处理并给出相应的提示信息。对于订单管理功能,测试正常下单、支付成功、订单取消等各种操作,验证系统能否正确处理这些业务流程。
白盒测试确保代码的正确性和效率。其意义在于从开发者的角度出发,深入分析代码的执行路径,找到潜在的逻辑错误和性能瓶颈。白盒测试的优势在于能够深入代码细节,找到隐藏的逻辑错误和性能问题,确保系统的稳定性和高效运行。通过结合黑盒和白盒测试方法,能够全面保障系统的功能和性能,满足用户和开发需求。
6.3 测试过程
本次分别从后台管理端和小程序端选择了部分重要模块进行了测试,测试用例如表6-1至表6-5所示。
(1)小程序端测试用例
表6-1 登录测试
| 测试项 | 测试数据 | 预期结果 | 实际结果 |
| 正常登录 | 正确密码 | 成功进入 | 成功进入 |
| 错误账号登录 | 3333 | 提示用户名不存在 | 提示用户名不存在 |
| 错误密码登录 | 2222 | 提示密码错误 | 提示密码错误 |
表6-2 购买菜品测试
| 测试项 | 测试步骤 | 预期结果 | 实际结果 |
| 菜品浏览测试 | 1.打开菜品列表页面 2.点击菜品链接 3.查看菜品详情 | 显示菜品详情,包括菜品名称、价格、颜色、尺寸等信息。 | 通过 |
| 订单生成测试 | 1. 打开订单页面 2.填写订单信息 3. 点击提交订单按钮 | 1. 订单生成成功,显示订单信息;2. 订单生成失败,提示错误信息。 | 通过 |
| 订单支付测试 | 1.进入订单支付页面 2.选择支付方式 3.点击确认支付按钮 | 1. 支付成功,提示支付成功信息;2. 支付失败,提示支付失败信息。 | 通过 |
| 外卖员接单查询测试 | 1. 打开接单页面 2. 查看未接单订单 3. 点击接单按钮 | 显示接单结果,包括外卖信息。 | 通过 |
表6-3 退出登录测试
| 测试项 | 测试数据 | 预期结果 | 实际结果 |
| 退出登录 | 退出功能 | 点击退出跳转到登录界面 | 达到预期 |
(2)服务管理端测试用例
表6-4 登录测试
| 测试项 | 测试数据 | 预期结果 | 实际结果 |
| 正常登录测试 | 正确密码 | 成功进入 | 成功进入 |
| 错误账号登录 | 3333 | 提示用户名不存在 | 提示用户名不存在 |
| 错误密码登录 | 2222 | 提示密码错误 | 提示密码错误 |
表6-5 用户管理测试
| 测试项 | 测试步骤 | 预期结果 | 实际结果 |
| 用户注册测试 | 1.进入注册页面 2.输入注册信息 3.点击注册按钮 | 1. 注册成功,跳转到登录页面。 2. 注册失败,提示错误信息。 | 通过 |
| 用户登录测试 | 1.进入登录页面 2.输入登录信息 3.点击登录按钮 | 1. 登录成功,跳转到首页。 2. 登录失败,提示错误信息。 | 通过 |
| 用户信息查询测试 | 1.点击用户信息查询按钮 2.输入查询条件 3.点击查询按钮。 | 1.查询成功,显示查询结果。 2.查询失败,则提示相应信息。 | 通过 |
| 用户信息修改测试 | 1.点击修改按钮 2.修改用户信息 3.点击保存按钮 | 1. 修改成功,提示相应信息。 2. 修改失败,提示错误信息。 | 通过 |
| 1.点击删除按钮 2.选择要删除的用户 3.点击确认删除按钮 | 1. 删除成功,提示相应信息。 2. 删除失败,提示错误信息。 | 通过 | |
| 用户退出测试 | 1.登录系统 2.点击退出按钮 | 退出成功,跳转到登录页面。 | 通过 |
6.4 测试结论
经过对系统部分重要功能测试后可以得出,系统功能都能正常使用且系统界面具有良好的用户体验性,能够满足用户的基本需求。
31

被折叠的 条评论
为什么被折叠?



