springbootapp的高校食堂外卖订餐系统-毕业设计源码62424

springboot app的高校食堂外卖订餐系统

摘要  随着移动互联网的迅猛发展和高校学生对外卖订餐需求的增加,高校食堂外卖订餐系统成为了大学生就餐的主要方式之一。该系统通过在线平台提供方便快捷的订餐服务,不仅解决了传统食堂排队等待时间长、选择有限的问题,还为用户提供了更多的菜品选择和个性化服务。

本研究旨在基于Spring Boot框架,开发一个高校食堂外卖订餐系统的原型应用。该系统将采用App形式进行开发,并使用MySQL数据库进行数据存储和管理。Spring Boot作为一种快速构建应用程序的框架,具有简洁、高效的特点,可以提高开发效率和系统性能。

本文深入探讨系统中不同角色(管理员、卖家、普通用户)的功能需求和实现方式,包括后台管理、订单管理、活动发布、资讯推送、支付与配送等功能。同时,我们将关注系统的安全性和用户体验,保护用户的个人信息和支付数据,并提供便捷、友好的界面和操作流程。

通过研究和开发这样一个高校食堂外卖订餐系统,旨在提供一个可行的解决方案,为高校食堂外卖订餐市场的发展提供参考和借鉴。同时,也为其他类似系统的设计和开发提供技术支持和实践经验。

关键词  JavaWeb;SpringBoot;高校食堂外卖订餐系统 ;MySQL数据库

The university cafeteria takeout ordering system for the springboot app

AbstractWith the rapid development of mobile Internet and the increasing demand for college students to order food, college canteen takeout ordering system has become one of the main ways for college students to eat. The system provides convenient and fast ordering services through online platforms, not only solving the problems of long waiting times and limited choices in traditional canteens, but also providing users with more choices of dishes and personalized services.

This study aims to develop a prototype application of a university cafeteria takeout ordering system based on the Spring Boot framework. The system will be developed in the form of an App and will use MySQL database for data storage and management. Spring Boot, as a framework for quickly building applications, has the characteristics of simplicity and efficiency, which can improve development efficiency and system performance.

This article delves into the functional requirements and implementation methods of different roles (administrators, sellers, and ordinary users) in the system, including backend management, order management, event publishing, information push, payment and delivery, and other functions. At the same time, we will focus on the security and user experience of the system, protect user personal information and payment data, and provide a convenient and friendly interface and operation process.

By researching and developing such a university cafeteria takeout ordering system, the aim is to provide a feasible solution and provide reference and inspiration for the development of the university cafeteria takeout ordering market. At the same time, it also provides technical support and practical experience for the design and development of other similar systems.

Keywords:JavaWeb; SpringBoot; University cafeteria takeout ordering system; MySQL database

目 录

1 绪论

1.1 研究背景

1.2研究意义

1.3国内外研究现状

1.4论文结构与章节安排

2 系统开发环境

2.1 Java技术

2.2 Mysql数据库

2.3 SpringBoot框架

2.4 Android开发工具

2.5 uni-app框架

3需求分析

3.1 可行性分析

3.1.1 技术可行性分析

3.1.2 经济可行性分析

3.1.3 操作可行性分析

3.2 功能需求分析

3.3 非功能性需求分析

4 高校食堂外卖订餐系统概要设计

4.1系统体系结构

4.2总体功设计

5数据库设计

5.1 数据库概念结构设计

5.2  数据库逻辑结构设计

5系统详细设计与实现

6.1用户端功能模块

6.1.1 前台首页界面

6.1.2 注册界面

6.1.3 登录界面

6.1.4 菜品信息界面

6.1.5 美食资讯界面

6.1.6 交流论坛界面

6.2管理端功能模块

6.2.1 系统用户管理界面

6.2.2 商城管理管理界面

6.2.3 订单管理界面

6.2.4 通知公告管理界面

6.2.5资讯管理界面

7系统的测试

7.1测试的目的

7.2 系统测试用例

7.3 系统测试结果

结 论

参考文献

致谢

1 绪论

1.1 研究背景

随着移动互联网的普及和高校食堂外卖订餐市场的快速发展,高校食堂外卖订餐系统成为了满足大学生就餐需求的重要方式。传统的食堂用餐模式存在排队等待时间长、选择有限、服务效率低等问题,而高校食堂外卖订餐系统通过在线平台提供了更加便捷、多样化的订餐服务。

然而,在高校食堂外卖订餐系统的设计和开发过程中,如何准确理解和满足不同角色的功能需求成为了一个关键问题。管理员需要能够对系统进行全面管理和监控,包括用户管理、订单管理、活动管理等;卖家需要能够方便地管理自己店铺的运营和销售,包括订单处理、提现管理、活动发布等;普通用户则希望能够方便地选择菜品、下单支付并查看订单状态等。

因此,本研究旨在通过对高校食堂外卖订餐系统的功能进行详细分析,深入探讨不同角色的功能需求和实现方式。同时,采用Spring Boot框架作为系统开发工具,旨在提高开发效率和系统性能,并为相关研究提供参考。通过研究不同角色的功能需求和实现方式,可以为高校食堂外卖订餐系统的设计和开发提供指导,并进一步探索系统的技术实现和用户体验优化。

1.2研究意义

通过对不同角色功能的详细分析,可以为高校食堂外卖订餐系统的设计和开发提供指导。了解管理员、卖家和普通用户的功能需求,能够更好地定义系统的核心功能和辅助功能,并合理规划系统的架构和模块。深入研究普通用户的功能需求,可以帮助设计出更加符合用户期望的界面和交互方式,提高用户的使用满意度和粘性。通过考虑用户的购物流程、订单查看和支付等功能,优化系统的用户体验,提升用户对系统的信任感和忠诚度。管理员和卖家的功能需求分析能够帮助系统设计者更好地理解运营人员的工作流程和管理需求,进而提供相应的功能支持。通过合理规划管理员后台的功能模块和权限管理,可以提高运营效率,降低人力成本。采用Spring Boot框架作为系统开发工具,旨在提高开发效率和系统性能。通过对该框架的使用和研究,可以推动相关技术的创新和应用,并为其他类似系统的开发提供经验和借鉴。高校食堂外卖订餐系统是一个典型的电子商务应用,其功能分析对于其他类型的电子商务平台也具有借鉴意义。通过研究该系统的功能需求和实现方式,可以为其他领域的电子商务系统设计和开发提供参考。

1.3国内外研究现状

在国内,高校食堂外卖订餐系统的研究和应用已经得到了广泛关注。许多研究聚焦于高校食堂外卖订餐系统的功能设计和需求分析。这些研究主要通过调查问卷、访谈和观察等方法,收集用户和管理者的反馈意见,以确定系统中各个角色的功能需求。一些研究关注系统的技术实现和开发框架。例如,有学者使用Spring Boot、JavaEE等技术开发系统,并探索其在高校食堂外卖订餐系统中的应用效果。这些研究旨在提高系统的性能和稳定性,并为系统的部署和维护提供指导。另一方面,研究人员也致力于优化用户体验和界面设计。通过用户调研和交互测试,他们提出了一些改进方案,包括简化操作流程、提供个性化推荐和增强系统的易用性等。还有一些研究关注系统的管理和运营优化。他们分析了管理员和卖家在系统中的角色和功能,并提出了相应的管理策略和业务流程,以提高运营效率和用户满意度。

在国外,高校食堂外卖订餐系统的研究和应用也引起了广泛的关注。国外研究者通过对用户行为的分析,探索用户在高校食堂外卖订餐系统中的偏好、需求和行为模式。他们使用数据挖掘和机器学习技术,从大量的用户数据中提取有价值的信息,以改进推荐算法、个性化服务和用户体验。随着移动支付技术的迅速发展,国外研究者将其应用于高校食堂外卖订餐系统中。他们研究不同的移动支付方式和技术,包括手机支付、二维码支付和近场通信等,并探索其在系统中的应用效果和安全性。一些研究关注如何利用社交媒体平台进行高校食堂外卖订餐系统的市场营销。他们研究用户在社交媒体上的参与行为和消费决策,以制定有效的营销策略和推广方案。一些国外研究者关注高校食堂外卖订餐系统的可持续发展和环境保护。他们研究如何减少包装垃圾、优化配送路线和促进本地食材的使用,以实现系统的环保目标。国外研究者也注重数据安全和隐私保护。他们研究数据加密算法、身份认证机制和安全漏洞的防范措施,以确保用户数据的安全性和隐私保护。

总体来说,国外研究者在高校食堂外卖订餐系统的研究中涉及了多个领域,包括用户行为分析、移动支付技术、社交媒体营销、可持续发展和数据安全等。他们通过技术创新和理论研究,不断推动该领域的发展,并提出了许多有价值的观点和解决方案。然而,仍有一些挑战需要解决,如如何平衡用户便利性和数据安全性、如何提高系统的可持续性和社会责任等,这些问题将继续引发更多的研究兴趣和努力。

1.4论文结构与章节安排

本次写作的论文,在结构方面主要分为七大部分,每一部分都必不可少,共同组合形成一个完好的论文结构,具体的安排列出如下。

绪论部分,该部分讲述的是高校食堂外卖订餐系统的开发背景,明确开发的意义以及系统的研究动态,并对系统的整个章节安排进行介绍。

系统分析部分,该部分首先从可行性入手进行分析,明确程序开发可行后,进而对程序的功能以及姓名需求进行分析。

系统概要设计,对系统前后台的功能分别进行设计,然后完成系统的总体功能以及各个子模块的设计。

系统数据库的设计,对系统的数据库实体以及数据库表进行设计

系统的实现部分,对系统每一角色主要实现的功能的页面来进行展示一下。

系统测试部分,介绍测试的测试目的,用例,完成对程序测试工作,让投入运行的程序减少出错的几率,力求最好。

总结部分,此刻所有的工作都已经完成了,在此进行总结,展望。

2 系统开发环境

2.1 Java技术

Java技术是一种广泛应用于软件开发的编程语言和平台,具有跨平台性、面向对象、可靠性高等特点。它包括Java SE、Java EE、Java ME和JavaFX等不同版本,适用于开发各种类型的应用程序。Java技术在企业级开发、移动应用、Web应用、大数据处理等领域具有重要地位。常用的Java开发框架如Spring和Hibernate简化了开发过程,而Apache Tomcat作为常用的Java Web服务器用于部署和运行Java Web应用程序。此外,Java在大数据处理中也发挥重要作用,如Hadoop和Spark等项目。Java技术的可移植性、安全性和丰富的生态系统使其在企业级开发和跨平台应用方面具有广阔的应用前景,并不断与新兴技术结合,为软件开发带来更多可能性。

2.2 Mysql数据库

MySQL是一个多用户、多线程的服务器,采用SQL语言的关系型数据库管理系统。它具有强大的功能、操作简单、管理方便、可靠安全、运行快速等优点。MySQL支持多种编程语言,开发人员可以编写和访问MySQL数据库的程序。作为开源软件,MySQL越来越受到开发者的青睐,并在广泛的应用范围中得到推广。特别适合用于Web站点或其他应用软件的后端数据库开发。

MySQL的优势在于其易理解的操作方式、强大的功能和高容量的数据存储能力。因此,它被广泛应用,尤其在Web站点或应用软件的数据库后端开发中。通过编写简短的代码,我们可以实现对常规数据的查询和组合。数据库是一个存储数据的仓库,与实际的储藏室不同,它将数据存储在计算机上,并以固定格式进行组织,而不是无序的。数据库管理涉及数据表的创建、数据的存储、修改和增加等工作,以确保数据库系统的正常运行并保证数据的安全性。

2.3 SpringBoot框架

Spring Boot是一个用于构建Java应用程序的开源框架。它基于Spring框架,旨在简化和加速应用程序的开发过程。Spring Boot通过提供约定大于配置、内嵌式服务器、自动配置、健康检查和监控等功能,使得开发人员可以更快速、更轻松地构建高效、可维护的应用程序。

Spring Boot采用约定大于配置的原则,通过自动配置和默认值来减少开发人员的配置工作。它提供了一个起步依赖(Starter)机制,根据应用程序的需求自动导入所需的依赖项,简化了依赖管理和构建过程。Spring Boot内置了常用的Web服务器,如Tomcat、Jetty等,使得应用程序的部署变得更加简单和便捷。开发人员不需要单独安装和配置外部服务器,只需将应用程序打包为可执行的JAR文件即可。Spring Boot还通过自动配置机制简化了应用程序的配置过程。它根据类路径中存在的库和配置文件来推断应用程序的行为,并进行相应的设置。这样,开发人员可以专注于业务逻辑的实现,而无需过多关注底层配置。

同时,Spring Boot提供了强大的健康检查和监控功能,可以轻松地监视应用程序的运行状态、性能指标和错误情况。它集成了Actuator模块,提供了丰富的管理和监控接口,方便开发人员实时监测和调试应用程序。

除此之外,Spring Boot还提供了命令行界面(CLI),使得开发人员可以通过命令行工具来创建、运行和测试Spring Boot应用程序。它还支持热部署,可以在开发过程中快速更新和重新加载应用程序,提高开发效率。

另外,Spring Boot支持将配置信息外部化,可以使用属性文件、YAML文件、环境变量等方式进行配置。这种外部化配置的方式使得应用程序更易于管理和部署,同时也提供了灵活性和可扩展性。

2.4 Android开发工具

Android是一个基于Linux内核的操作系统,最初由Google开发,并与其他手机公司共同组成了开放手机联盟进行进一步的开发。它采用软件堆层架构,主要分为三个部分。底层使用Linux内核提供基本功能和驱动程序支持,中间层包括函数库和虚拟机,最上层是各种应用软件。底层以C语言开发,中间层使用C++开发,而应用软件则由各公司使用Java编写。Android作为一个开放的操作系统,提供了丰富的开发工具和资源,使得开发者能够更便捷地创建创新的移动应用程序。通过这样的架构,Android能够提供强大的功能、灵活性和跨平台的特性,成为全球最受欢迎的移动操作系统之一。

2.5 uni-app框架

uni-app是一个基于Vue.js的跨平台开发框架,通过一套代码实现在多个平台上运行的移动应用程序。它利用Vue.js的数据绑定和组件化特性,提供了丰富的插件生态系统和优化的渲染引擎。uni-app还提供多样化的UI组件库、热更新和动态发布功能,以及跨端打包能力,使开发者能够快速构建跨平台的应用程序。这个框架不仅提高了开发效率和代码复用性,还降低了开发成本和时间。总的来说,uni-app为开发者提供了一种简单而强大的方式来构建跨平台的移动应用程序。

3需求分析

3.1 可行性分析

可行性分析是系统分析的第一步,通过可行性分析我们可以得出系统是不是值得开发,如果系统的开发是不可信的,那么就没有必要再进行下面的操作,对于本高校食堂外卖订餐系统在可行性方面进行了技术、经济以及操作的分析。

3.1.1 技术可行性分析

高校食堂外卖订餐系统在技术上采用的是JAVA语言、基于Browser/Server模式,前台使用了Vue、HTML、js、CSS等技术,后台使用了SPRINGBOOT框架结合MYSQL数据库,这些技术在校期间都已经学习过,而且用这些技术开发过一些小的系统,同时在实际开发中JAVA功能强大被普通应用,因此开发技术是没有问题的。

3.1.2 经济可行性分析

开发高校食堂外卖订餐系统并不需要投入太多,开发工具、服务器、数据库等,都可以通过网络搜索、下载、安装,只需要一台普通的计算机就可以完成操作,而且在系统功能规划上都是通过问卷调查了解用户需求,通过百度、知网库、学校图书馆查阅相关系统,了解它们对系统具体实现的功能需求,然后进行设计开发,不存在任何开销,因此系统的开发在经济方面是可行的。

3.1.3 操作可行性分析

高校食堂外卖订餐系统的在开发的时候充分了解用户群体,对于没有学习过计算机的用户也进行考虑在内,在系统的开发中首页有醒目的导航栏,使得即使没有学习过计算机课程的用户,也可以根据导航栏的提示进行操作,非常方便,因此系统在操作上是可行的。

3.2 功能需求分析

高校食堂外卖订餐系统分为两大部分:管理端和用户端。

(一)管理端:

  1. 后台首页:管理员登录后可以查看系统的整体运行情况,包括订单数量、活动信息等。
  2. 系统用户管理:管理员负责管理系统的用户,包括管理员、普通用户和卖家,具备对用户信息的增删改查和权限控制功能。
  3. 提现信息管理:管理员负责审核和管理卖家的提现申请,确保提现操作的合法性和及时性。
  4. 轮播图管理:管理员可以管理系统首页的轮播图内容,用于展示推广活动或重要通知。
  5. 通知公告管理:管理员可以发布和管理系统的通知公告,向用户传递重要信息和通知。
  6. 资讯管理:管理员可以发布和管理系统中的美食资讯,为用户提供有关饮食健康和菜品推荐等内容。
  7. 论坛管理:管理员负责管理系统中的交流论坛,监督和维护论坛的秩序和内容质量。
  8. 商城管理:管理员可以管理系统中的商城功能,包括菜品信息、订单列表和配送管理等。

(二)卖家用户端: 

  1. 取消订单管理:卖家可以查看并处理用户提交的取消订单请求,包括确认取消和退款操作。
  2. 申请退款管理:卖家可以处理用户的退款申请,并与支付系统进行交互完成退款流程。
  3. 收款信息管理:卖家可以查看和管理自己店铺的收款记录,包括对收款状态的监控和处理。
  4. 提现信息管理:卖家可以提交提现申请并查看审核进度,确保提现操作的及时性和准确性。
  5. 活动信息管理:卖家可以发布和管理自己店铺的活动信息,吸引用户参与和购买。
  6. 资讯管理:卖家可以发布和管理与自己店铺相关的美食资讯,提供有关菜品和烹饪技巧的信息。
  7. 论坛管理:卖家可以参与系统中的交流论坛,回答用户问题和提供专业建议。
  8. 商城管理:卖家可以管理自己店铺的商城功能,包括菜品信息管理、订单列表和配送管理等。

(二)普通用户端: 

  1. 首页:用户登录后可以浏览推荐的菜品信息和活动信息,以及系统发布的其他相关内容。
  2. 菜品信息:用户可以查看各个卖家的菜品信息和价格,通过筛选和搜索快速找到心仪的菜品。
  3. 活动信息:用户可以查看系统中发布的各类活动信息,获取优惠促销和限时折扣等信息。
  4. 美食资讯:用户可以阅读系统中发布的美食相关资讯,了解菜品健康知识和烹饪技巧等内容。
  5. 购物车:用户可以将感兴趣的菜品加入购物车,进行数量选择和结算操作。
  6. 交流论坛:用户可以参与系统中的交流论坛,分享和获取美食相关信息,与其他用户互动交流。
  7. 我的订单:用户可以查看自己的订单信息,包括订单状态、配送信息和付款详情等。
  8. 收藏:用户可以收藏喜欢的菜品或店铺,方便下次快速浏览和订购。

3.3 非功能性需求分析

高校食堂外卖订餐系统的性能性需求分析主要是分析本高校食堂外卖订餐系统的安全性怎么样(是否会泄露用户个人信息),可靠性怎么样(用户操作的时候是不是能够根据实际操作显示信息),性能怎么样(运行是否操作流畅),可拓展性怎么样(功能能否继续拓展)等。具体可以表示在如下2-1表格中:

2-1 高校食堂外卖订餐系统非功能需求表

安全性

主要指高校食堂外卖订餐系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指高校食堂外卖订餐系统能够按照用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响高校食堂外卖订餐系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着高校食堂外卖订餐系统的页面展示内容进行操作,就可以了。

可维护性

高校食堂外卖订餐系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

4 高校食堂外卖订餐系统概要设计

4.1系统体系结构

本高校食堂外卖订餐系统总体的体系结构图分为前端用户体系结构和后端管理员体系结构,其具体结构图如图4-1所示。

4-1 高校食堂外卖订餐系统前端用户功能结构图

4.2总体功设计

高校食堂外卖订餐系统的功能分析包括管理员、卖家和普通用户三个角色的功能需求。管理员需要进行后台首页管理、系统用户管理、取消订单管理、申请退款管理、收款信息管理、提现信息管理、活动信息管理、轮播图管理、通知公告管理、资讯管理、论坛管理和商城管理等操作。卖家需要进行后台首页管理、取消订单管理、申请退款管理、收款信息管理、提现信息管理、活动信息管理、资讯管理、论坛管理和商城管理(菜品信息、订单列表、订单配送)等操作。普通用户则需要浏览首页、查看菜品信息、活动信息、美食资讯、购物车、交流论坛、我的订单和收藏等功能。通过对这些功能的详细分析,可以更好地理解和满足高校食堂外卖订餐系统中不同角色的需求,提高系统的用户体验和运营效率。

用例图如下所示:

  

图4-2高校食堂外卖订餐系统用户用例图

  

图4-3高校食堂外卖订餐系统管理员用例图

5数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

5.1 数据库概念结构设计

下面是整个高校食堂外卖订餐系统中主要的数据库表总E-R实体关系图。

5-1 高校食堂外卖订餐系统总E-R关系图

5.2  数据库逻辑结构设计

通过上一小节中高校食堂外卖订餐系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表address (收货地址:)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

address_id

int

10

0

N

Y

收货地址:

2

name

varchar

32

0

Y

N

姓名:

3

phone

varchar

13

0

Y

N

手机:

4

postcode

varchar

8

0

Y

N

邮编:

5

address

varchar

255

0

N

N

地址:

6

user_id

mediumint

8

0

N

N

用户ID:[0,8388607]用户获取其他与用户相关的数据

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

default

bit

1

0

N

N

0

默认判断

表apply_for_a_refund (申请退款)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

apply_for_a_refund_id

int

10

0

N

Y

申请退款ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

order_number

varchar

64

0

Y

N

订单编号

5

order_date

date

10

0

Y

N

下单日期

6

purchase_quantity

varchar

64

0

Y

N

购买数量

7

order_amount

varchar

64

0

Y

N

订单金额

8

refund_date

date

10

0

Y

N

退款日期

9

refund_amount

int

10

0

Y

N

0

退款金额

10

reason_for_refund

text

65535

0

Y

N

退款原因

11

examine_state

varchar

16

0

N

N

未审核

审核状态

12

examine_reply

varchar

16

0

Y

N

审核回复

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表cancel_order (取消订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cancel_order_id

int

10

0

N

Y

取消订单ID

2

user_account

int

10

0

Y

N

0

用户账号

3

user_name

varchar

64

0

Y

N

用户姓名

4

order_date

date

10

0

Y

N

下单日期

5

order_number

varchar

64

0

Y

N

订单编号

6

purchase_quantity

int

10

0

Y

N

0

购买数量

7

order_amount

int

10

0

Y

N

0

订单金额

8

reason_for_cancellation

varchar

64

0

Y

N

取消原因

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

examine_reply

varchar

16

0

Y

N

审核回复

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表cart (购物车)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

cart_id

int

10

0

N

Y

购物车ID:

2

title

varchar

64

0

Y

N

标题:

3

img

varchar

255

0

N

N

0

图片:

4

user_id

int

10

0

N

N

0

用户ID:

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

state

int

10

0

N

N

0

状态:使用中,已失效

8

price

double

9

2

N

N

0.00

单价:

9

price_ago

double

9

2

N

N

0.00

原价:

10

price_count

double

11

2

N

N

0.00

总价:

11

num

int

10

0

N

N

1

数量:

12

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

13

type

varchar

64

0

N

N

未分类

商品分类:

14

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表dish_information (菜品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

dish_information_id

int

10

0

N

Y

菜品信息ID

2

seller_account

int

10

0

Y

N

0

卖家账号

3

seller_name

varchar

64

0

Y

N

卖家姓名

4

restaurant_name

varchar

64

0

Y

N

餐厅名称

5

restaurant_address

varchar

64

0

Y

N

餐厅地址

6

contact_number

varchar

64

0

Y

N

联系电话

7

dishes_and_ingredients

varchar

64

0

Y

N

菜品食材

8

taste_of_dishes

varchar

64

0

Y

N

菜品口味

9

delivery_scope

varchar

64

0

Y

N

配送范围

10

starting_and_sending_conditions

varchar

64

0

Y

N

起送条件

11

delivery_fees

int

10

0

Y

N

0

配送费用

12

cart_title

varchar

125

0

Y

N

标题:[0,125]用于产品html的标签中

13

cart_img

text

65535

0

Y

N

封面图:用于显示于产品列表页

14

cart_description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

15

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

16

cart_price

double

8

2

N

N

0.00

卖价:[1]

17

cart_inventory

int

10

0

N

N

0

商品库存

18

cart_type

varchar

64

0

N

N

未分类

商品分类:

19

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

20

cart_img_1

text

65535

0

Y

N

主图1:

21

cart_img_2

text

65535

0

Y

N

主图2:

22

cart_img_3

text

65535

0

Y

N

主图3:

23

cart_img_4

text

65535

0

Y

N

主图4:

24

cart_img_5

text

65535

0

Y

N

主图5:

25

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

26

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表event_information (活动信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

event_information_id

int

10

0

N

Y

活动信息ID

2

seller_account

int

10

0

Y

N

0

卖家账号

3

seller_name

varchar

64

0

Y

N

卖家姓名

4

store_name

varchar

64

0

Y

N

店铺名称

5

start_date

date

10

0

Y

N

开始日期

6

end_date

date

10

0

Y

N

结束日期

7

event_details

text

65535

0

Y

N

活动详情

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表forum (论坛)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

forum_id

mediumint

8

0

N

Y

论坛id

2

display

smallint

5

0

N

N

100

排序

3

user_id

mediumint

8

0

N

N

0

用户ID

4

nickname

varchar

16

0

Y

N

昵称:[0,16]

5

praise_len

int

10

0

Y

N

0

点赞数

6

hits

int

10

0

N

N

0

访问数

7

title

varchar

125

0

N

N

标题

8

keywords

varchar

125

0

Y

N

关键词

9

description

varchar

255

0

Y

N

描述

10

url

varchar

255

0

Y

N

来源地址

11

tag

varchar

255

0

Y

N

标签

12

img

text

65535

0

Y

N

封面图

13

content

longtext

2147483647

0

Y

N

正文

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

16

avatar

varchar

255

0

Y

N

发帖人头像:

17

type

varchar

64

0

N

N

0

论坛分类:[0,1000]用来搜索指定类型的论坛帖

表forum_type (论坛分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

name

varchar

16

0

N

N

分类名称:[2,16]

3

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

4

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

5

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

6

icon

varchar

255

0

Y

N

分类图标:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表goods (商品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

goods_id

mediumint

8

0

N

Y

产品id:[0,8388607]

2

title

varchar

125

0

Y

N

标题:[0,125]用于产品和html的<title>标签中

3

img

text

65535

0

Y

N

封面图:用于显示于产品列表页

4

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

5

price_ago

double

8

2

N

N

0.00

原价:[1]

6

price

double

8

2

N

N

0.00

卖价:[1]

7

sales

int

10

0

N

N

0

销量:[0,1000000000]

8

inventory

int

10

0

N

N

0

商品库存

9

type

varchar

64

0

N

N

商品分类:

10

hits

int

10

0

N

N

0

点击量:[0,1000000000]访问这篇产品的人次

11

content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

img_1

text

65535

0

Y

N

主图1:

13

img_2

text

65535

0

Y

N

主图2:

14

img_3

text

65535

0

Y

N

主图3:

15

img_4

text

65535

0

Y

N

主图4:

16

img_5

text

65535

0

Y

N

主图5:

17

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

18

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

19

customize_field

text

65535

0

Y

N

自定义字段

20

source_table

varchar

255

0

Y

N

来源表:

21

source_field

varchar

255

0

Y

N

来源字段:

22

source_id

int

10

0

N

N

0

来源ID:

23

user_id

int

10

0

Y

N

0

添加人

表goods_type (商品类型)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

int

10

0

N

Y

商品分类ID:

2

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

3

name

varchar

255

0

Y

N

商品名称:

4

desc

varchar

255

0

Y

N

描述:

5

icon

varchar

255

0

Y

N

图标:

6

source_table

varchar

255

0

Y

N

来源表:

7

source_field

varchar

255

0

Y

N

来源字段:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表logistics_delivery (物流配送)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

logistics_delivery_id

int

10

0

N

Y

物流配送ID

2

order_number

varchar

64

0

Y

N

订单号

3

product_name

varchar

64

0

Y

N

商品名称

4

purchase_quantity

varchar

64

0

Y

N

购买数量

5

total_transaction_amount

double

11

2

Y

N

0.00

交易总额

6

the_date_of_issuance

date

10

0

Y

N

发货日期

7

delivery_number

varchar

30

0

Y

N

配送订单

8

ordinary_users

int

10

0

Y

N

0

普通用户

9

shipping_address

varchar

64

0

Y

N

收货地址

10

delivery_status

varchar

64

0

Y

N

配送状态

11

signing_status

varchar

64

0

Y

N

签收状态

12

recommend

int

10

0

N

N

0

智能推荐

13

contact_name

varchar

255

0

Y

N

联系人名字

14

merchant_id

int

10

0

Y

N

商家id

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表order (订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

order_id

int

10

0

N

Y

订单ID:

2

order_number

varchar

64

0

Y

N

订单号:

3

goods_id

mediumint

8

0

N

N

商品id:[0,8388607]

4

title

varchar

32

0

Y

N

商品标题:

5

img

varchar

255

0

Y

N

商品图片:

6

price

double

10

2

N

N

0.00

价格:

7

price_ago

double

10

2

N

N

0.00

原价:

8

num

int

10

0

N

N

1

数量:

9

price_count

double

8

2

N

N

0.00

总价:

10

norms

varchar

255

0

Y

N

规格:

11

type

varchar

64

0

N

N

未分类

商品分类:

12

contact_name

varchar

32

0

Y

N

联系人姓名:

13

contact_email

varchar

125

0

Y

N

联系人邮箱:

14

contact_phone

varchar

11

0

Y

N

联系人手机:

15

contact_address

varchar

255

0

Y

N

收件地址:

16

postal_code

varchar

9

0

Y

N

邮政编码:

17

user_id

int

10

0

N

N

0

买家ID:

18

merchant_id

mediumint

8

0

N

N

0

商家ID:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

21

description

varchar

255

0

Y

N

描述:[0,255]用于产品规格描述

22

state

varchar

16

0

N

N

待付款

订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成

23

remark

text

65535

0

Y

N

订单备注

24

delivery_state

varchar

16

0

Y

N

未配送

发货状态:未配送,已配送

25

vip_discount

double

11

2

Y

N

0.00

折扣

表ordinary_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

ordinary_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

examine_state

varchar

16

0

N

N

已通过

审核状态

4

user_id

int

10

0

N

N

0

用户ID

5

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表payment_information (收款信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

payment_information_id

int

10

0

N

Y

收款信息ID

2

seller_account

int

10

0

Y

N

0

卖家账号

3

seller_name

varchar

64

0

Y

N

卖家姓名

4

dish_name

varchar

64

0

Y

N

菜品名称

5

order_number

varchar

64

0

Y

N

订单编号

6

order_amount

varchar

64

0

Y

N

订单金额

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表seller (卖家)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

seller_id

int

10

0

N

Y

卖家ID

2

seller_name

varchar

64

0

Y

N

卖家姓名

3

restaurant_name

varchar

64

0

Y

N

餐厅名称

4

restaurant_address

varchar

64

0

Y

N

餐厅地址

5

contact_number

varchar

64

0

Y

N

联系电话

6

id_number

varchar

64

0

Y

N

身份证号

7

identification

varchar

255

0

Y

N

身份证明

8

business_documents

varchar

255

0

Y

N

经营证件

9

examine_state

varchar

16

0

N

N

未审核

审核状态

10

user_id

int

10

0

N

N

0

用户ID

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表sensitive_vocabulary (敏感词汇)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sensitive_vocabulary_id

int

10

0

N

Y

敏感词汇ID

2

sensitive_vocabulary

varchar

64

0

Y

N

敏感词汇

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表withdrawal_information (提现信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

withdrawal_information_id

int

10

0

N

Y

提现信息ID

2

seller_account

int

10

0

Y

N

0

卖家账号

3

seller_name

varchar

64

0

Y

N

卖家姓名

4

existing_amount

int

10

0

Y

N

0

现有金额

5

withdrawal_date

date

10

0

Y

N

提现日期

6

withdrawal_amount

int

10

0

Y

N

0

提现金额

7

remaining_amount

varchar

64

0

Y

N

剩余金额

8

examine_state

varchar

16

0

N

N

未审核

审核状态

9

examine_reply

varchar

16

0

Y

N

审核回复

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

5系统详细设计与实现

6.1用户端功能模块

6.1.1 前台首页界面

当进入高校食堂外卖订餐系统的时候,首先映入眼帘的是系统的导航栏,导航栏下面是首页、菜品信息、活动信息、美食资讯、购物车、交流论坛、美食资讯、我的订单、收藏等内容,其主界面展示如下图所示。

图6-1 前台首页界面图

6.1.2 注册界面

不是高校食堂外卖订餐系统中正式会员的是可以在线进行注册的,当用户点击“注册”按钮,填写上自己的账号+密码+确认密码+昵称等,再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可会员注册成功。其用注册流程图如图6-2所示,注册界面展示如下图6-3所示。

6-2注册流程图

图6-3 前台注册界面图

注册代码如下:

/**

     * 注册

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

    }

    public void insert(Map<String,Object> body){

        E entity = JSON.parseObject(JSON.toJSONString(body),eClass);

        baseMapper.insert(entity);

        log.info("[{}] - 插入操作:{}",entity);

}

6.1.3 登录界面

高校食堂外卖订餐系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当会员输入完整的自己的账户名和密码信息并通过滑动验证通过后,点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到高校食堂外卖订餐系统的首页中;否则将会提示相应错误信息,用户登录流程如图6-4所示,登录界面如下图6-6所示。

6-4 登录流程图

图6-6用户登录界面图

登陆代码如下:

/**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

    public String select(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

            sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return sql.toString();

}

    public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

6.1.4 菜品信息界面

菜品信息:用户可以查看各个卖家的菜品信息和价格,通过筛选和搜索快速找到心仪的菜品。界面如下图6-6所示。

图6-6菜品信息界面图

6.1.5 美食资讯界面

美食资讯:用户可以阅读系统中发布的美食相关资讯,了解菜品健康知识和烹饪技巧等内容。如下图所示。

图6-7美食资讯页面图

6.1.6 交流论坛界面

交流论坛:用户可以参与系统中的交流论坛,分享和获取美食相关信息,与其他用户互动交流。界面如下图6-8所示。

图6-8 交流论坛界面图

6.2管理端功能模块

6.2.1 系统用户管理界面

系统用户管理:管理员负责管理系统的用户,包括管理员、普通用户和卖家,具备对用户信息的增删改查和权限控制功能。界面如下图6-9所示。

图6-9系统用户管理界面图

6.2.2 商城管理管理界面

商城管理:管理员和卖家可以管理系统中的商城功能,包括菜品信息、订单列表和配送管理等。界面如下图6-10所示。

图6-10商城管理界面图

图6-11菜品信息添加界面图

6.2.3 订单管理界面

(1)取消订单管理:卖家可以查看并处理用户提交的取消订单请求,包括确认取消和退款操作。

(2)申请退款管理:卖家可以处理用户的退款申请,并与支付系统进行交互完成退款流程。

(3)提现信息管理:管理员负责审核和管理卖家的提现申请,确保提现操作的合法性和及时性。界面如下图6-12所示。

图6-12提现申请界面图

6.2.4 通知公告管理界面

通知公告管理:管理员可以发布和管理系统的通知公告,向用户传递重要信息和通知。界面如下图6-13所示。

图6-13通知公告发布界面图

6.2.5资讯管理界面

资讯管理:管理员可以发布和管理系统中的美食资讯,为用户提供有关饮食健康和菜品推荐等内容。界面如下图6-14所示。

图6-14 资讯管理界面图

7系统的测试

7.1测试的目的

系统的前台、后台、数据库完成以后,这个系统才算是完成了一半,我们在这之后要对系统进行最后的一个阶段,那就是测试了,测试对一个系统来说是非常重要的,有的时候开发完一个系统,如果测试不合格的话,这个系统是没有办法进行投入使用的,所有我们要用测试对系统的功能进行检验,把不完善的功能尽量完善,把出现的bug解决掉,然后给用户呈现出一个完美的系统。通过对系统最后一步的测试,使得开发人员对自己的系统更加有信心,更加积极的为后期的系统版本的更新提供支持。

7.2 系统测试用例

用户登录功能测试:

表7-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

交流论坛查看功能测试:

表7-2 交流论坛查看功能测试表

用例名称

交流论坛查看

目的

测试交流论坛查看功能

前提

用户登录

测试流程

点击交流论坛列表

预期结果

可以查看到所有交流论坛信息

实际结果

实际结果与预期结果一致

管理员添加菜品信息界面测试:

表7-3 管理员添加菜品信息界面测试表

用例名称

菜品信息发布测试用例

目的

测试菜品信息发布功能

前提

管理员用户正常登录情况下

测试流程

1)管理员点击菜品信息,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的菜品信息

实际结果

实际结果与预期结果一致

美食资讯搜索功能测试:

表7-4 美食资讯搜索功能测试表

用例名称

美食资讯品搜索测试

目的

测试美食资讯搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字

实际结果

实际结果与预期结果一致

密码修改搜索功能测试:

表7-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

7.3 系统测试结果

通过编写高校食堂外卖订餐系统的测试用例,已经检测完毕以上功能模块的测试,通过各模块为高校食堂外卖订餐系统的后期推广运营提供了强力的技术支撑。

结 论

通过本研究高校食堂外卖订餐系统的开发和功能分析,我们可以发现高校食堂外卖订餐系统是满足大学生就餐需求的重要方式之一。通过在线平台提供方便快捷的订餐服务,解决了传统食堂排队等待时间长、选择有限的问题。在开发技术方面,Spring Boot框架具有简洁、高效的特点,适用于快速构建高校食堂外卖订餐系统。它提高了开发效率,同时保证了系统的性能和稳定性。

高校食堂外卖订餐系统可以满足不同角色(管理员、卖家、普通用户)的功能需求。管理员负责后台管理、订单管理、活动发布等;卖家需要处理订单、发布活动、管理商城等;普通用户需要浏览菜品信息、下单支付、查看订单状态等。

系统的安全性和用户体验是关键因素。保护用户的个人信息和支付数据,采取合理的安全措施和加密算法,确保数据的安全性和隐私保护。提供友好的界面和操作流程,优化用户体验,提高用户满意度。

通过这些结论,我们可以得出,在开发高校食堂外卖订餐系统时,应注重功能的完善和用户体验的优化,合理运用Spring Boot框架和MySQL数据库,确保系统的稳定性和性能。同时,需要注意数据安全和隐私保护的问题,为用户提供安全可靠的服务。这将对高校食堂外卖订餐系统的设计、开发和应用提供指导和参考。

参考文献

[1]屈晓,周挺,吴楷,林声广.一种SpringBoot基于嵌入式设备的辅助医疗App的设计与实现[J].电脑知识与技术,2023,19(29):55-58+66.

[2]周超,陈梦婷,汪崇博,吴世涛.基于心流理论的外卖APP体验设计优化策略研究[J].设计,2023,36(16):135-137.

[3]刘鑫.基于用户体验的外卖平台适老化设计研究[D].山东大学,2023.

[4]Yu Yang.Design and Implementation of Student Information Management System Based on Springboot[J].Advances in Computer, Signals and Systems,2022,6(6):

[5]黄笑倩,刘莉莎,卢书缘,陈雪燕.校园“掌上食堂”APP的分析与设计[J].科技与创新,2022,(18):104-109.

[6]朱志慧,蔡洁.基于SpringBoot+Vue+Uni-app框架的校园失物招领系统[J].电子技术与软件工程,2022,(17):62-65.

[7]李佩轩.O2O模式下校园外卖的发展现状和优化方案[J].质量与市场,2022,(11):196-198.

[8]李章恒.校园外卖系统设计与实现[D].山东大学,2022.

[9]李英玲,牛美雅,兰宏富.基于uni-app+SpringBoot的移动智能办公系统设计与实现[J].西南民族大学学报(自然科学版),2022,48(03):313-321.

[10]Wu Hejing.Commerce Middle Office Management System Based on Springboot[J].International Journal of Advanced Network, Monitoring and Controls,2022,7(2):32-45.

[11]徐伟峰,黄诗雯,陈旭辉.基于O2O模式的校园外卖订餐APP的设计研究[J].电子元器件与信息技术,2021,5(09):171-172+175.

[12]Fuyuan Cheng.Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J].Advances in Educational Technology and Psychology,2021,5(2):

[13]覃志宏.移动订餐APP系统的设计与实现[D].广西大学,2021.

[14]Guanhong Chen,Jiangming Xu.Design and implementation of efficient Learning platform based on SpringBoot Framework[J].Journal of Electronics and Information Science,2020,6(1):

[15]Jian Chen,Chen Jian,Pan Hailan.Design of Man Hour Management Information System on SpringBoot Framework[J].Journal of Physics: Conference Series,2020,1646(1):012136-.

致谢

通过这样设计与开发这样一个系统,首先向我们老师、同学和朋友表达真诚的感谢。没有指导老师的指导和平日子的教导,我也不能够学到如此多的专业知识。另外,也佩服老师兢兢业业的工作态度,给我们做好了表率。系统开发技术要学习的东西很多,前台框架、后台框架、业务流程、数据结构、操作系统等各种知识非常的丰富,都需要慢慢的专研。在这里,首先感谢老师细心的教导,我只想说一句:“老师,谢谢您,您辛苦了!有您在,大学生活才更加的充实。”另外,我要感谢我的室友,由于知识掌握得不够产生各种问题,正因为有了你们的帮忙,给我提出很多很好的建议,才能更好的解决系统开发问题。同时,我也应该感谢那些计算机专业的先哲们,正是由于有这么一群人,才能把这样的专业研究得如此透彻,才能助力新世界的诞生。你们的理论,是我们一生学习的内容,你们的成就,是我们一生追求的目标。

最后,也希望自己在未来的道路上能够走得更远,不辜负在大学的学习,以及老师们的细致的教导。

请关注点赞+私信博主,免费领取项目源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值