springboot校园互助送餐系统小程序-计算机毕业设计源码40830

校园互助送餐系统的设计与实现

摘 要

随着科技的进步和互联网的普及,校园生活也在逐步数字化和智能化。特别是在高校环境中,学生对于便捷、高效和个性化的服务需求日益增强。校园内的餐饮服务作为日常生活的重要组成部分,其服务质量和效率直接影响到学生的满意度和校园生活的便利性。

传统的校园餐饮服务模式通常依赖于食堂或第三方餐饮供应商,虽然能够满足基本的饮食需求,但在某些特定场景下,如用餐高峰期、特殊饮食需求或临时用餐需求等,学生可能会面临排队等待、选择有限或无法满足个性化需求等问题。因此,开发一种新型的、基于互助模式的校园送餐系统显得尤为必要。

校园互助送餐系统正是为了解决上述问题而设计的。该系统利用SpringBoot框架的灵活性和高效性,结合现代Web技术和移动应用开发技术,构建一个连接学生、食堂和餐饮供应商的平台。在这个平台上,学生可以发布自己的用餐需求,食堂和餐饮供应商可以提供相应的餐饮服务,同时鼓励学生之间通过互助模式共享餐食,从而减少等待时间、提高用餐效率,并满足学生的个性化需求。

该系统还注重用户体验和信息安全。通过友好的界面设计、简洁的操作流程和严格的数据保护措施,我们旨在为用户提供一个安全、便捷、高效的校园送餐体验。

校园互助送餐系统的设计与实现旨在通过技术手段解决校园餐饮服务的痛点,为学生带来更加便捷、高效和个性化的用餐体验。我们期待这一系统能够成为校园生活的一部分,为广大学生带来实实在在的便利。

关键词:校园互助送餐系统;Web技术;Spring Boot框架

Design and Implementation of Campus Mutual Aid Meal Delivery System

Abstract

With the progress of science and technology and the popularity of the Internet, campus life is also gradually becoming digital and intelligent. Especially in the university environment, students have an increasing demand for convenient, efficient, and personalized services. As an important component of daily life, the quality and efficiency of campus catering services directly affect the satisfaction of students and the convenience of campus life.

The traditional campus catering service model usually relies on canteens or third-party catering suppliers. Although it can meet basic dietary needs, in certain specific scenarios, such as peak dining periods, special dietary needs, or temporary dining needs, students may face problems such as queuing, limited choices, or inability to meet personalized needs. Therefore, it is particularly necessary to develop a new type of campus meal delivery system based on mutual assistance mode.

The campus mutual aid meal delivery system is designed to address the aforementioned issues. This system utilizes the flexibility and efficiency of the SpringBoot framework, combined with modern web technology and mobile application development technology, to build a platform that connects students, cafeterias, and catering suppliers. On this platform, students can post their dining needs, and cafeterias and catering suppliers can provide corresponding catering services. At the same time, students are encouraged to share meals through mutual assistance mode, thereby reducing waiting time, improving dining efficiency, and meeting personalized needs of students.

In addition, the system also focuses on user experience and information security. Through a user-friendly interface design, concise operating procedures, and strict data protection measures, we aim to provide users with a safe, convenient, and efficient campus meal delivery experience.

In summary, the design and implementation of the campus mutual aid meal delivery system aims to solve the pain points of campus catering services through technological means, and bring students a more convenient, efficient, and personalized dining experience. We look forward to this system becoming a part of campus life and bringing tangible convenience to students.

Key words:Campus mutual aid meal delivery system; Web technology; Spring Boot framework

目  录

第1章 绪论

1.1 研究背景

1.2 国内外研究现状

1.3 研究目的和意义

第2章 系统分析

2.1 可行性分析

2.1.1 技术可行性

2.1.2 经济可行性

2.1.3 操作可行性

2.2 功能需求分析

2.3 系统用例分析

2.4 系统流程分析

第3章 系统设计

3.1 系统架构设计

3.2 系统功能结构

3.3 数据库设计

3.3.1 数据库E-R图设计

3.3.2 逻辑结构设计

第4章 系统实现

4.1 前端页面的设计实现

4.1.1 前台首页界面

4.1.2 用户注册界面

4.1.3 用户登录界面

4.1.4 活动信息界面

4.1.5 餐品信息界面

4.1.6我的购物车界面

4.1.7我的订单界面

4.1.8收货地址界面

4.2 后端页面的设计实现

4.2.1 管理员登录界面

4.2.2 管理员功能界面

4.2.3 系统用户管理界面

4.2.4订单列表界面

4.2.5配送订单管理界面

4.2.6配送打分管理界面

4.2.7活动信息管理界面

4.2.8 轮播图管理界面

4.2.9 通知公告管理界面

第5章 系统测试

5.1 系统测试的目的

5.2 系统测试方法

5.3 功能测试

第6章 总结与展望

参考文献

致谢

  1. 绪论
    1. 研究背景

随着高校规模的不断扩大和学生需求的日益多样化,传统的校园餐饮服务模式已经难以满足现代大学生的期望。特别是在用餐高峰期,学生往往面临长时间的排队等待,这不仅影响了他们的学习效率,也降低了校园生活的质量。此外,对于一些有特殊饮食需求或对食物过敏的学生来说,找到合适的食物变得更加困难。

与此同时,校园内存在大量的餐饮资源,包括食堂、小吃街、校外餐饮店等,但学生往往难以获取这些资源的实时信息,导致选择有限或错过用餐时机。此外,由于学生之间的用餐需求存在时间和空间上的不平衡,有时某些地方的食物供应过剩,而另一些地方则供不应求。

因此,开发一个校园互助送餐系统显得尤为重要。该系统旨在通过技术手段,整合校园内的餐饮资源,实现信息的实时共享和有效匹配。通过该系统,学生可以更加方便地获取用餐信息,提前预订或选择送餐服务,从而减少等待时间,提高用餐效率。同时,该系统还可以鼓励学生之间通过互助模式共享餐食,减少食物浪费,促进校园内的环保和可持续发展。

校园互助送餐系统的设计与实现是基于现代高校环境和学生需求的综合考虑,旨在通过技术手段解决校园餐饮服务的痛点,为学生带来更加便捷、高效和个性化的用餐体验。这一系统的实现将有助于提高校园生活的质量,促进学生的身心健康和全面发展。

    1. 国内外研究现状

国内研究现状

在国内,随着高校规模的不断扩大和学生需求的多样化,校园互助送餐系统的研究与应用逐渐受到关注。近年来,一些高校和研究机构开始探索基于互联网和移动应用的校园送餐服务模式。例如,有些学校已经推出了自己的校园送餐APP或小程序,通过在线预订、支付和配送等功能,为学生提供更加便捷的用餐体验。同时,一些创业团队也看到了校园送餐市场的潜力,纷纷进入这一领域,推出了各具特色的产品和服务。

然而,目前国内的校园互助送餐系统还处于发展阶段,仍存在一些问题和挑战。例如,系统的稳定性和安全性需要进一步加强,用户体验和服务质量需要不断优化,同时还需要解决食品安全、配送效率等问题。

国外研究现状

在国外,尤其是在一些发达国家,校园互助送餐系统的研究与应用已经相对成熟。许多高校和研究机构已经建立了完善的校园餐饮服务体系,通过先进的技术和管理手段,为学生提供多样化、个性化的用餐选择。例如,一些国外的高校采用了智能餐盘系统,学生可以通过自助选餐、自动结算等方式,快速完成用餐过程。同时,一些国外的创业团队也推出了具有创新性的校园送餐服务,如无人机配送、自动驾驶车辆送餐等,进一步提高了送餐效率和服务质量。

总结

从国内外研究现状来看,校园互助送餐系统的发展前景广阔,但仍需要解决一些技术和管理上的挑战。未来,我们可以借鉴国内外的成功经验和技术手段,结合实际情况,设计和实现更加完善、高效、安全的校园互助送餐系统,为学生带来更加便捷、舒适、健康的用餐体验。

    1. 研究目的和意义

校园互助送餐系统的设计与实现旨在解决当前校园餐饮服务中存在的问题,满足学生对便捷、高效、个性化用餐的需求。该系统通过整合校园内的餐饮资源,利用现代互联网技术,构建一个连接学生、食堂和餐饮供应商的平台,实现信息的实时共享和有效匹配。

该系统的研究目的不仅在于提供一个技术解决方案,更在于推动校园餐饮服务的升级和转型。通过引入互助模式,鼓励学生之间共享餐食,减少食物浪费,促进环保和可持续发展。同时,该系统还可以为食堂和餐饮供应商提供更多的市场机会和服务渠道,促进校园餐饮市场的繁荣和发展。

校园互助送餐系统不仅具有显著的现实意义,而且在多个方面都能为校园生活带来积极的影响。这一系统能有效缓解用餐高峰时学生排队等候的困扰,显著提升用餐效率,从而为学生节省宝贵的时间和精力。此外,它还能灵活满足学生的个性化需求,无论是特殊饮食要求还是临时用餐需求,都能得到更加周到和个性化的服务。更重要的是,借助互联网技术和移动应用,该系统能够推动校园餐饮服务的智能化和数字化进程,进一步促进校园生活的现代化和便捷化。

校园互助送餐系统的设计与实现具有重要的研究目的和意义。它不仅可以解决当前校园餐饮服务中存在的问题,满足学生的多样化需求,还可以推动校园餐饮服务的升级和转型,促进校园生活的现代化和便捷化。这一系统的实现将为广大学生带来实实在在的便利,同时也为校园餐饮市场的繁荣和发展做出贡献。

  1. 系统分析
    1. 可行性分析

在软件开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。校园互助送餐系统的可行性分析如下所示:

      1. 技术可行性

校园互助送餐系统采用的是Java编程语言并于freemarker的模式,数据库部分采用的是当前流行的MySQL数据库,校园互助送餐系统中的所有数据资源都存储在MySQL数据库中,本系统多处采用了Ajax的异步操作,Ajax技术可以对用户指定部分的数据进行局部刷新,不仅减少了服务器对页面的解析而且极大增加了用户的体验度。本系统的环境配置也较为简单,因为用的是Myeclipse编辑器,而Myeclipse里面有自带的Tomcat服务器和JDK环境,因此不需要我们在重新配置。

      1. 经济可行性

校园互助送餐系统是在Java和MySQL的环境中运行的,而系统的成本也只是主要分布在软件的开发和维护上。但如果系统上线投入使用之后,不仅可以方便人们,还节省了用户的时间和精力,而且还极大限度的方便了运营者,减少了运营者的工作强度。校园互助送餐系统其实也不太复杂,在开发的时候经济支出也不大,在开发系统时时间用的也不多,从时间的优势和对经济利益方面产生的好处远超过维护和管理的成本,所以开发此系统是可行合适的。

      1. 操作可行性

本系统是基于浏览器和服务器的校园互助送餐系统,系统开发完成之后用户只需要在浏览器中输入正确的URL地址即可进行访问。本系统的前台页面简单明了,在没有操作指导的情况下也可以进行操作,无论是系统管理员还是用户在页面中所有的操作都是在浏览器中完成的,因此只要电脑在有网络的情况下,打开浏览器都能操作。而且在使用之前也不用进行相关的环境配置,因此本系统方便、简单、易于使用,所以该系统是容易并且可操作的。

    1. 功能需求分析

校园互助送餐系统的设计与实现分为四大部分:管理员、学生用户、配送用户、店家用户。

  • 管理员管理功能需求如下:

登录:管理员需要能够通过管理员账号和密码登录系统,以便进行管理和监控。

后台首页:管理员需要一个后台首页,用于显示系统运行的整体情况,包括订单数量、活动数量、用户数量等重要信息。

系统用户管理:管理员需要进行系统用户的管理,包括添加新用户、重置密码、禁用用户等操作。

配送订单管理:管理员需要能够查看所有的配送订单,包括订单的状态、配送员信息、配送时间等,并能够进行订单的分配、调度和管理。

配送打分管理:管理员需要能够查看配送员的评分情况,对配送员的表现进行监控和管理。

活动信息管理:管理员需要能够发布和管理各种活动信息,包括活动的名称、时间、地点、内容等。

活动分类管理:管理员需要对活动信息进行分类管理,方便用户查找相关的活动信息。

系统管理:管理员需要可以管理系统首页的轮播图,包括上传、编辑、删除轮播图等操作。

通知公告管理:管理员需要能够发布网站的通知公告,包括系统更新、重要通知等内容。

商城管理:管理员需要管理系统中的商城功能,包括商品管理、库存管理、价格设置等。管理员应可以添加新商品、编辑商品信息、下架过期商品等。

权限管理:管理员需要能够管理系统中各个用户的权限,包括设置不同用户的操作权限和访问权限。

(二)学生用户功能需求如下:

注册登录:学生用户需要能够注册账号并通过账号密码登录系统,以便进行个人信息管理和下单操作。

首页:学生用户登录后能够浏览到系统的首页,显示最新的活动信息、热门餐品、以及通知公告等内容。

购物车:学生用户可以将想要购买的餐品加入购物车,方便统一管理和下单。

活动信息:学生用户能够查看系统发布的各类活动信息,包括送餐优惠、满减活动等。

餐品信息:学生用户可以浏览系统中的餐品信息,包括菜单、价格、口味等,并进行选择和下单。

通知公告:学生用户可以查看系统发布的通知公告,包括系统更新、重要通知等内容。

我的:学生用户可以查看和管理个人信息,包括基本信息、收货地址、收藏的餐品、订单历史、购物车状态、配送订单状态以及进行配送员的打分等操作。

配送订单:学生用户可以查看自己的配送订单,包括订单状态、配送员信息、配送时间等,并能够对配送员的服务进行评分。

(三)店家用户功能需求如下:

注册登录:店家用户需要能够通过注册账号并登录系统,以便管理自己的店铺信息和订单。

后台首页:店家用户登录后能够查看店铺的整体运营情况,包括订单数量、销售情况、配送情况等重要信息。

配送订单管理:店家用户需要能够查看自己店铺的配送订单,包括订单状态、配送员信息、配送时间等,并能够更新订单状态和配送信息。

配送打分管理:店家用户需要能够查看用户对配送员的评分情况,以便了解配送服务质量。

商城管理:店家用户需要能够管理自己店铺的商城功能,包括菜品管理、库存管理、价格设置、菜单更新等。店家用户应可以添加新的菜品、编辑菜品信息、下架过期菜品等操作。

(四)配送用户功能需求如下:

注册登录:配送用户需要能够通过注册账号并登录系统,以便接受配送订单和管理个人信息。

后台首页:配送用户登录后能够查看个人的配送订单情况,包括待配送订单、已完成订单、配送评分等重要信息。

配送订单管理:配送用户需要能够查看自己需要配送的订单,包括订单详情、配送地址、联系方式等,并能够更新订单状态和配送信息。

配送打分管理:配送用户需要能够查看用户对自己的配送服务的评分情况,以便了解自己的服务质量。

    1. 系统用例分析

通过2.2功能的分析,得出了系统的用例图:

学生用户角色用例如图2-1所示。

图2-1学生用户用例图

配送用户角色用例如图2-2所示。

图2-2配送用户用例图

管理员角色用例如图2-3所示。

图2-3管理员用例图

店家用户角色用例如图2-4所示。

图2-4店家用户用例图

    1. 系统流程分析

1)增加数据流程

系统中的所有用户(管理员、学生用户、配送用户和店家用户)都可以实现增加数据功能,图2-5显示的就是在增加数据时的流程。

图2-5增加数据流程图

2)修改数据流程

人无完人,每个人都有出错的时候,在录入系统信息的时候如果信息有错,可以对系统中的数据进行编辑。图2-6显示的就是修改数据的流程。

图2-6修改数据流程图

3)删除数据流程

在系统中经常会出现一些过期的数据,比如订单信息等,那就可以直接删除这些数据,图2-7就是删除数据时的流程图。

图2-7删除数据流程图

  1. 系统设计
    1. 系统架构设计

由于本系统在逻辑事务处理方面对数据库的操作比较频繁所以系统在底层连接数据库时并没有使用原生的JDBC,而是把JDBC进行了封装,封装之后相当于一个连接数据库的工具DB UTIL,这样使用起来会更加方便而且这样进行封装还可以降低系统中代码的冗余,当我们需要连接和使用数据库时只需要调用这个工具里面的一个方法就可以了。而且通过封装可以把对数据库的操作独立起来,当需要连接不同种类的数据库时只需要加以修改就可以达到目的。

DAO层本来并无这个类,它只是java中MVC构造里的一个model概念,主要就是里面的一些方法,而这些方法就是用来访问数据库的方法。我们在软件开发时DAO层我们一般都放接口和接口的实现类,用于来规范实现类的我们叫它接口,实现类重点用于对数据库的操纵。

MVC是一种系统研发的关键模型,M是Model模型,它是系统内部关键程序运行的核心,主要进行对数据库的各种操作。视图View是V也叫做视图,主要的作用是对一些数据进行显示。控制器Controller 是C执行从View的视图层来读取数据,然后控制用户的输入。

系统架构如下图所示。

图3-1系统架构图

    1. 系统功能结构

进入系统后首先要进行登录,验证你的身份,赋予你不同的权限。当你成功登录后,页面会有多个板块,分别是后台首页、系统用户、配送订单管理、配送打分管理、活动信息管理、活动分类管理、系统管理、通知公告管理、商城管理、权限管理。里面界面简单易懂,根据标示可以直接进行方便快捷的操作。

系统功能结构图如下所示。

图3-2系统功能结构图

    1. 数据库设计

一个好的系统它的后台数据库一定要考虑的全面,这和我们建造房子一个概念,房子不是随心所欲建起来的,一切都是在合理设计的基础是实现的,地基打牢固了房子才能建的更高。数据库如果设计的很合理,而且每个方面都能考虑到了那么这个系统才能不会出现大的问题。

一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计。

      1. 数据库E-R图设计

本校园互助送餐系统采用的是mysql数据库,数据存储快,因为校园互助送餐系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确,

系统的主要实体间关系E-R图如下图所示。

图3-3系统E-R图

      1. 逻辑结构设计

此环节把概念转变成数据。由于整个数据库所处理的信息过多,就只展示以下几个表。

表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

用户编号:

表activity_classification (活动分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

activity_classification_id

int

10

0

N

Y

活动分类ID

2

activity_classification

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

更新时间

表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

默认判断

表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

更新时间:

表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:

表delivery_order (配送订单)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

delivery_order_id

int

10

0

N

Y

配送订单ID

2

order_number

varchar

64

0

Y

N

订单编号

3

store_name

varchar

64

0

Y

N

店铺名称

4

store_user

int

10

0

Y

N

0

店家用户

5

delivery_name

varchar

64

0

Y

N

外卖名称

6

order_quantity

varchar

64

0

Y

N

下单数量

7

student_users

int

10

0

Y

N

0

学生用户

8

student_phone_number

varchar

64

0

Y

N

学生电话

9

delivery_address

varchar

64

0

Y

N

配送地址

10

delivery_users

int

10

0

Y

N

0

配送用户

11

delivery_phone_number

varchar

64

0

Y

N

配送电话

12

delivery_status

varchar

64

0

Y

N

配送状态

13

delivery_content

text

65535

0

Y

N

配送内容

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表delivery_scoring (配送打分)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

delivery_scoring_id

int

10

0

N

Y

配送打分ID

2

order_number

varchar

64

0

Y

N

订单编号

3

store_name

varchar

64

0

Y

N

店铺名称

4

store_user

int

10

0

Y

N

0

店家用户

5

delivery_name

varchar

64

0

Y

N

外卖名称

6

student_users

int

10

0

Y

N

0

学生用户

7

delivery_users

int

10

0

Y

N

0

配送用户

8

student_scoring

int

10

0

Y

N

0

学生打分

9

scoring_remarks

varchar

64

0

Y

N

打分备注

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表delivery_users (配送用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

delivery_users_id

int

10

0

N

Y

配送用户ID

2

user_name

varchar

64

0

Y

N

用户姓名

3

user_gender

varchar

64

0

Y

N

用户性别

4

contact_phone_number

varchar

16

0

Y

N

联系电话

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表event_information (活动信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

event_information_id

int

10

0

N

Y

活动信息ID

2

activity_name

varchar

64

0

Y

N

活动名称

3

activity_classification

varchar

64

0

Y

N

活动分类

4

event_date

date

10

0

Y

N

活动日期

5

activity_duration

varchar

64

0

Y

N

活动期限

6

cover_photo

varchar

255

0

Y

N

封面图片

7

content_details

longtext

2147483647

0

Y

N

内容详情

8

hits

int

10

0

N

N

0

点击数

9

praise_len

int

10

0

N

N

0

点赞数

10

recommend

int

10

0

N

N

0

智能推荐

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表food_information (餐品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

food_information_id

int

10

0

N

Y

餐品信息ID

2

store_name

varchar

64

0

Y

N

店铺名称

3

store_user

int

10

0

Y

N

0

店家用户

4

cart_title

varchar

125

0

Y

N

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

5

cart_img

text

65535

0

Y

N

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

6

cart_description

varchar

255

0

Y

N

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

7

cart_price_ago

double

8

2

N

N

0.00

原价:[1]

8

cart_price

double

8

2

N

N

0.00

卖价:[1]

9

cart_inventory

int

10

0

N

N

0

商品库存

10

cart_type

varchar

64

0

N

N

未分类

商品分类:

11

cart_content

longtext

2147483647

0

Y

N

正文:产品的主体内容

12

cart_img_1

text

65535

0

Y

N

主图1:

13

cart_img_2

text

65535

0

Y

N

主图2:

14

cart_img_3

text

65535

0

Y

N

主图3:

15

cart_img_4

text

65535

0

Y

N

主图4:

16

cart_img_5

text

65535

0

Y

N

主图5:

17

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

18

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

折扣

表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已取消

表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

更新时间:

表store_user (店家用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

store_user_id

int

10

0

N

Y

店家用户ID

2

store_name

varchar

64

0

Y

N

店铺名称

3

user_name

varchar

64

0

Y

N

用户姓名

4

user_gender

varchar

64

0

Y

N

用户性别

5

contact_phone_number

varchar

16

0

Y

N

联系电话

6

examine_state

varchar

16

0

N

N

已通过

审核状态

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表student_users (学生用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

student_users_id

int

10

0

N

Y

学生用户ID

2

student_name

varchar

64

0

Y

N

学生姓名

3

student_gender

varchar

64

0

Y

N

学生性别

4

student_phone_number

varchar

16

0

Y

N

学生电话

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

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

更新时间:

  1. 系统实现
    1. 前端页面的设计实现

4.1.1 前台首页界面

进入系统首页,系统以上中下的布局进行展示,首先映入眼帘的是系统的导航栏,下面是活动信息、餐品信息,其主界面展示如下图所示。

图4-1 前台首页界面图

4.1.2 用户注册界面

用户注册:当会员用户想要进入系统中对信息进行查看的时候,就必须要登录到系统当中,要是新的用户没有系统的账号的话,点击“注册”按钮,就会进入到新用户注册这个界面上,用户输入对应的账号(必须填写)+密码(必须填写)+确认密码(必须填写,而且要与密码一直)+昵称+邮箱+联系电话+选择用户身份等等,然后点击“注册”,系统在用户这一数据库中会查询账号是不是存在,两次密码是不是一样,都填写正确就会注册成功,然后再进行登录,如果是之前已经注册过的用户很长时间没有使用,忘记密码,也可以点击“忘记密码”进行找回。用户注册界面如下图所示。

图4-2 用户注册界面图

注册代码如下:

public String encryption(String plainText) {

        String re_md5 = new String();

        try {

            MessageDigest md = MessageDigest.getInstance("MD5");

            md.update(plainText.getBytes());

            byte b[] = md.digest();

            int i;

            StringBuffer buf = new StringBuffer("");

            for (int offset = 0; offset < b.length; offset++) {

                i = b[offset];

                if (i < 0)

                    i += 256;

                if (i < 16)

                    buf.append("0");

                buf.append(Integer.toHexString(i));

            }

            re_md5 = buf.toString();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return re_md5;

}

4.1.3 用户登录界面

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

图4-3注册用户登录界面图

登录代码如下:

/**

     * 登录

     * @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;

        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());

            Duration duration = Duration.ofSeconds(7200L);

            redisTemplate.opsForValue().set(accessToken.getToken(), accessToken,duration);

            // 返回用户信息

            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, "账号或密码不正确");

        }

    }

4.1.4 活动信息界面

当用户点击“活动信息”这一菜单按钮,会显示管理员在后台发布的所有的活动信息,支持通过关键词对活动信息进行搜索,选择需要的活动信息点击可以进入到活动信息详细的介绍界面,同时可以进行点赞、评论等操作,活动信息界面如下图所示。

图4-4活动信息界面图

4.1.5 餐品信息界面

当用户点击“餐品信息”这一菜单按钮,会显示管理员在后台发布的所有的餐品信息列表,支持通过关键词对餐品信息进行搜索,选择需要的餐品信息点击可以进入到餐品信息详细的介绍界面,同时可以进行下单购买的操作,餐品信息界面如下图所示。

图4-5餐品信息界面图

4.1.6我的购物车界面

当用户浏览到心仪的商品时,可以将商品添加至购物车内,查看购物车列表,修改或者删除购物车。我的购物车界面如下图所示。

图4-6我的购物车界面图

4.1.7我的订单界面

用户可以查看订单的详细信息,包括订单编号、下单时间、订单备注等,可以对订单进行支付。我的订单界面如下图所示。

图4-7我的订单界面图

4.1.8收货地址界面

用户输入收货人、手机号及详细地址可以对收货地址进行添加。收货地址界面如下图所示。

图4-8收货地址界面图

    1. 后端页面的设计实现 

4.2.1 管理员登录界面

管理员进入到系统登录界面,需要填写正确的登录名、密码、选择权限等信息输入准确无误后登录进入到系统操作界面。管理员的账号是在数据表表中直接设置生成的,不需要进行注册;修改密码:管理员可以随时修改自己进入系统的登录密码,以保证系统的安全性。管理员登录界面如下图所示。

图4-9管理员登录界面图

4.2.2 管理员功能界面

管理员可以查看后台首页、系统用户、配送订单管理、配送打分管理、活动信息管理、活动分类管理、系统管理、通知公告管理、商城管理、权限管理等,并且可以根据需要进行相应的操作,在功能界面还可以查看商品销售金额统计和商品销售数量统计。管理员功能界面如下图所示。

图4-10管理员功能界面图

4.2.3 系统用户管理界面

管理员可以对系统中所有的用户角色进行管控,包含了管理员、学生用户、店家用户、配送用户这四种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户。系统用户管理界面如下图所示。

4-8系统用户管理界面图

4.2.4订单列表界面

店家用户点击“订单列表”这个菜单,可以查看所有的订单列表信息,包括商品名称、订单号、商品图片、价格、原价、购买数量、总价、联系人名称、联系人地址、

订单状态等信息,还可以进行查询、重置和删除等操作。订单列表界面如下图所示。

图4-9订单列表管理界面图

4.2.5配送订单管理界面

配送用户点击“配送订单管理”这个菜单,可以查看所有的配送订单信息,包括订单编号、店铺名称、店家用户、外卖名称、下单数量、学生用户、学生电话等信息,还可以进行查询和重置等操作。配送订单界面如下图所示。

图4-10配送订单管理界面图

4.2.6配送打分管理界面

配送用户点击“配送打分管理”这个菜单,可以查看所有的配送打分信息,包括订单编号、店铺名称、店家用户、外卖名称、学生用户、配送用户、学生打分等信息,还可以进行查询和重置等操作。配送打分管理界面如下图所示。

图4-11配送打分管理界面图

4.2.7活动信息管理界面

管理员点击“活动信息管理”这个菜单,可以查看活动信息列表和活动信息添加这两个子菜单,查看所有的活动信息,包括活动名称、活动分类、活动日期、活动期限、封面图片、创建时间、更新时间等信息。还可以添加新的活动信息。活动信息列表和活动信息添加如下图所示。

图4-12活动信息列表界面图

图4-13活动信息添加界面图

4.2.8 轮播图管理界面

管理员可以对系统前台展示的轮播图进行增删改查,方便用户进行查看。轮播图管理界面如下图所示。

图4-14轮播图管理界面图

轮播图添加代码:

@PostMapping("/add")

    @Transactional

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

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

public Map<String, Object> addMap(Map<String,Object> map){

    service.insert(map);

     return success(1);

 }

4.2.9 通知公告管理界面

管理员可以对系统前台展示的通知公告进行增删改查,方便用户进行查看。通知公告管理界面如下图所示。

图4-12通知公告管理界面图

  1. 系统测试
    1. 系统测试的目的

程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。

软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。

校园互助送餐系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在校园互助送餐系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。

    1. 系统测试方法

在对校园互助送餐系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让校园互助送餐系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个校园互助送餐系统开发所牵扯的该问题都必须一一解决,提高校园互助送餐系统的安全性、稳定性。

白盒测试与黑盒测试是测试中比较常用的两种方法。

①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。

②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。

    1. 功能测试

用户登录测试:

模块名称

测试用例

预期结果

实际结果

是否通过

登录模块

用户名:admin   密码:123  

弹出错误提示,提示密码错误

弹出错误提示,提示密码错误

通过

登录模块

用户名:123   

密码:admin   

弹出错误提示,提示用户名错误

弹出错误提示,提示用户名错误

通过

登录模块

用户名:admin   

密码:admin   

管理员登录成功

管理员登录成功

通过

删除分类测试:

模块名称

测试用例

预期结果

实际结果

是否通过

删除分类模块

分类名:最新通知  

删除成功、页面自动跳转

删除成功、页面自动跳转

通过

修改密码测试:

模块名称

测试用例

预期结果

实际结果

是否通过

修改密码模块

原密码:666

新密码:123

确认密码:123  

弹出错误提示,提示原密码错误

弹出错误提示,提示原密码错误

通过

修改密码模块

原密码:admin   新密码:123

确认密码:333  

弹出错误提示,提示确认密码不一致

弹出错误提示,提示确认密码不一致

通过

修改密码模块

原密码:admin   新密码:123

确认密码:123  

密码修改成功

密码修改成功

通过

通过对功能的测试,校园互助送餐系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。

  1. 总结与展望

校园互助送餐系统的整体功能模块的实现,主要是对自己在大学这几年时间所学内容的一个测试,对于系统,主要是通过现在智能化的校园互助送餐系统进行开始系统的实现,并且可以根据需求进行数据信息的增加修改删除等操作,完美的解决了当下校园互助送餐系统所遇到的问题。

经过一个学期的毕业设计的实现完成已接近尾声,到目前为止,当我回想起整个学期的系统开发日,收获颇丰。毕业设计的主要任务是建立一个智能化的校园互助送餐系统的信息系统,主要使用springboot+vue框架和Mysql数据库的开发工具,对系统的每个功能模块进行相对应的操作,最后,系统调试结果表明系统基本可以满足功能要求。

校园互助送餐系统的开发对我大学学习的改进有很大帮助。它使我能够学习计算机知识的相关技术方面问题及与人交往的沟通交流方面,让我意识到无论我们做什么,我们都需要坚持不懈,努力工作,只有这样尝试了并且坚持去做了,我们才可以成功,才可以获得成功的喜悦,如果没有尝试,只是想,那连成功的机会都没有,实际操作进行做了,才会越来越近的靠近成功,随着道路一路向前,未来的路是美好的。

校园互助送餐系统的实现,是自己第一次完成的设计一个送餐系统。在项目的设计过程中,我克服了各种困难,并且在面对这些困难,我积极的面对,想办法解决问题,并且更好的掌握了理论知识和动手操作实践能力,从系统的开发到设计完成,我完成了一个更全面、更完善、更安全的平台管理系统,这也让我取得了很大的成就感,也使我对未来的生活更有信心。

参考文献

[1]Kartini A G ,Gumilar I ,Abidin Z H , et al.3D model of Pawon Cave: The first prehistoric dwelling discovery in West Java, Indonesia[J].Digital Applications in Archaeology and Cultural Heritage,2024,32e00311-.

[2]苏婉怡,揣小龙,刘美瑜等.基于Java技术的实验室管理系统设计与实现[J].无线互联科技,2023,20(23):58-60.

[3]杜朋轩,陈芳,曹梦川.基于Java Web的智慧农业信息采集系统的设计与实现[J].科技资讯,2023,21(23):162-165.DOI:10.16661/j.cnki.1672-3791.2307-5042-8177.

[4]Perdinan ,A F R ,P D S , et al.Tidal Flood Hazard Assessment in Pekalongan City, Central Java[J].IOP Conference Series: Earth and Environmental Science,2023,1266(1):

[5]J Z ,H E ,Taryono .Abundance and Composition of Solid Waste in the Citarum River, West Java Province[J].IOP Conference Series: Earth and Environmental Science,2023,1266(1):

[6]Perdinan ,Cahyaning S J ,Akhmad F , et al.The Contribution of Climate Factors on the Availability of Hydropower Energy in West Java[J].IOP Conference Series: Earth and Environmental Science,2023,1266(1):

[7]Putrinadia V A ,Budihastuti R U ,Melinawati E , et al.#330 : Factors Affect Infertile Woman to Access Infertility Services in Central Java, Indonesia[J].Fertility  Reproduction,2023,05(04):

[8]田玉昆.基于Java Web技术的手机销售网站的设计与实现[J].电脑知识与技术,2023,19(32):47-49.DOI:10.14004/j.cnki.ckt.2023.1766.

[9]苏兵.基于微服务的校园点餐系统后台的设计与实现[J].电脑与电信,2023,(11):23-28.DOI:10.15966/j.cnki.dnydx.2023.11.008.

[10]陈海燕,常莹,张燕宁.基于Android系统的校园点餐系统中不同数据存储方式的教学研究[J].电脑编程技巧与维护,2023,(09):57-60.DOI:10.16184/j.cnki.comprg.2023.09.012.

[11]孙杰,张涛鹏,杨洁等.基于Android的高校食堂订餐系统“掌上校园帮”设计与开发[J].计算机时代,2023,(01):78-81.DOI:10.16644/j.cnki.cn33-1094/tp.2023.01.019.

[12]张巧岭.“求捎带”校园订餐系统前端设计[J].现代信息科技,2022,6(03):14-17.DOI:10.19850/j.cnki.2096-4706.2022.03.004.

[13]许量为,李建勇.校园智能送餐机器人的设计与实现[J].中国新技术新产品,2021,(22):15-17.DOI:10.13612/j.cnki.cntp.2021.22.005.

[14]张巧岭.校园订餐系统设计[J].电子世界,2021,(20):162-163.DOI:10.19353/j.cnki.dzsj.2021.20.065.

[15]陈江辉,於立杰,李强.智慧校园食堂订餐系统信息化平台的设计[J].网络安全技术与应用,2021,(03):43-44.

[16]刘彩霞,顾帅,杨正涛.校园送餐机器人控制系统的设计[J].制造业自动化,2021,43(01):93-95+108.

[17]孙瑜霞,王泽元,刘硕洲等.关于高职“校园一点通”微信点餐系统的构建研究[J].数码世界,2020,(09):33-34.

[18]古入次仁,陈浩,索南尖措.基于SSM和Java的校园点餐系统[J].中国高新科技,2020,(14):122-123.DOI:10.13535/j.cnki.10-1507/n.2020.14.51.

[19]李新锦,鲁志萍,刘苑如.基于微信小程序的校园点餐系统的设计[J].电脑知识与技术,2020,16(07):50-51+56.DOI:10.14004/j.cnki.ckt.2020.0756.

[20]黄朝富,姬小波,吕明等.基于微信平台的校园点餐系统的设计与实现[J].工业控制计算机,2020,33(01):112-113+127.

致谢

经过几个月时间的努力终于完成了这篇文章,在文章的写作与研究的过程中遇到了很多困难,都在同学和老师的帮助下解决了。尤其非常感谢我最敬爱的老师,他对我进行了无私的指导和帮助,不厌其烦的帮助进行文章的修改。老师严谨的治学态度、渊博的学术知识、诲人不倦的敬业精神以及宽容的待人风范使我获益颇丰。此外,在校图书馆查找资料的时候,图书馆的老师也给我提供了很多方面的支持与帮助。在此,向帮助和指导过我的老师表示最衷心的感谢!感谢这篇文章所涉及到的各位学者。本文引用了数位学者的文献,如果没有各位学者的研究成果的帮助和启发,我将很难完成本篇文章的写作。感谢我的同学和朋友,在我写文章的过程中给与了我很多素材和帮助,还在文章的撰写和排版过程中提供热情的帮助。同时,感谢我的室友对我的热心指导和帮助,经常有不懂之处都是大家在帮助我,才使得我比较顺利的完成了这篇文章。由于我水平有限,所写文章难免有不足之处,恳请各位老师和学友批评和指正!

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值