springboot高校食堂外包管理系统-毕业设计源码64943

目  录

摘要

1 绪论

1.1 研究背景

1.2 研究意义

1.3论文结构与章节安排

2 系统分析

2.1 可行性分析

2.2 系统流程分析

2.2.1 用户登录流程

2.2.2 数据删除流程

2.3 系统功能分析

2.3.1 功能性分析

2.3.2 非功能性分析

2.4 系统用例分析

2.5本章小结

3 系统总体设计

3.1 系统架构设计

3.2 系统功能模块设计

3.3 数据库设计

3.3.1 数据库概念结构设计

3.3.2 数据库逻辑结构设计

表access_token (登陆访问时长)

表auth (用户权限管理)

表bid_records (投标记录)

表contracting_classification (承包分类)

表contractor_information (承包商信息)

表contractor_users (承包商用户)

表contract_information (承包信息)

表hits (用户点击)

表notification_announcement (通知公告)

表sensitive_vocabulary (敏感词汇)

表upload (文件上传)

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

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

表working_personnel (工作人员)

3.4本章小结

4 系统详细设计与实现

4.1管理员功能模块

4.1.1 系统用户界面

4.1.2 通知公告管理界面

4.1.3 承包商信息管理界面

4.1.4承包分类管理界面

4.1.5 投标记录管理界面

4.1.6 修改密码界面

4.2工作人员功能模块

4.2.1 通知公告管理界面

4.2.2 承包商信息管理界面

4.2.3承包信息管理界面

4.2.4投标记录管理界面

4.3承包商用户功能模块

4.3.1 通知公告管理界面

4.3.2 承包商信息管理界面

4.3.3承包信息管理界面

4.3.4投标记录管理界面

5系统测试

5.1  测试目的

5.2  测试方法

5.3  功能测试

5.4  测试结论

6 结论

参考文献

致  谢

摘要

在中国的高校校园里,食堂不仅仅是为学生提供可口佳肴的地方,它还是学生们进行学术交流、互动沟通以及精神放松的重要场所。大学食堂的作用不可或缺,它不仅关乎学生的身体健康,更是构建和谐校园氛围的关键因素。伴随着我国社会的持续进步和科技的飞速发展,大学食堂的管理也在不断地创新和完善。其中,外包作为一种高效且专业的运营策略,已逐步融入到大学食堂的管理之中。文提出并实现了一个高校食堂外包管理系统。本系统是采用基于Java语言、MySQL数据库和Spring Boot框架为基础设计开发。Spring Boot是一种新兴的Java开发框架,它提供了快速搭建应用程序的能力,并且具有很好的灵活性和可扩展性。

本文首先阐述了系统的研究背景和意义;然后对系统进行了可行性、功能性等分析;接着详细介绍了系统的设计原理和实现细节,包括数据库设计、系统架构、主要功能模块等;最后对系统进行了部署和测试。通过本系统的的成功实施,不仅为高校食堂运营管理提供了有力支持,也为其他类似系统的设计和实现提供了有益的参考。

关键词:高校食堂;外包;Spring Boot 

Abstract

In Chinese university campuses, canteens are not only places to provide students with delicious food, but also important places for academic exchange, interactive communication, and spiritual relaxation. The role of a university cafeteria is indispensable. It not only concerns the physical health of students, but also is a key factor in building a harmonious campus atmosphere. With the continuous progress of our society and the rapid development of technology, the management of university canteens is also constantly innovating and improving. Among them, outsourcing, as an efficient and professional operational strategy, has gradually been integrated into the management of university canteens. The article proposes and implements a university cafeteria outsourcing management system. This system is designed and developed based on Java language, MySQL database, and Spring Boot framework. Spring Boot is an emerging Java development framework that provides the ability to quickly build applications and has good flexibility and scalability.

This article first elaborates on the research background and significance of the system; Then, feasibility and functionality analyses were conducted on the system; Then, the design principles and implementation details of the system were introduced in detail, including database design, system architecture, main functional modules, etc; Finally, the system was deployed and tested. The successful implementation of this system not only provides strong support for the operation and management of university canteens, but also provides useful references for the design and implementation of other similar systems.

Keywords:College cafeteria; Outsourcing; Spring Boot

1 绪论

1.1 研究背景

在中国的大学校园里,食堂不仅是为学生提供食物的地方,更是他们学习、交流和放松的场所。高校食堂的重要性不言而喻,它直接影响到学生的身体健康和校园的和谐氛围。随着社会的发展和科技的进步,高校食堂的管理模式也在不断演变。而外包作为一种高效、专业的经营方式,逐渐被引入到高校食堂管理中。高校食堂外包管理系统正是为了满足这一需求而诞生的。Spring Boot是一个开源的Java应用程序框架,它简化了新Spring应用的初始搭建以及开发过程。因此,使用Spring Boot开发的高校食堂外包管理系统具有良好的可维护性和可扩展性,可以更好地满足高校食堂管理的需求。通过对高校食堂外包管理系统研究,可以推动高校后勤服务的社会化、专业化和市场化发展,提高后勤服务的效率和质量。

1.2 研究意义

高校食堂作为高校后勤服务的重要组成部分,关乎广大师生的饮食安全和生活质量。开发设计一个高校食堂外包管理系统具有重要的意义。

首先,可以提高食堂管理水平和服务质量。通过对高校食堂外包管理系统的研究,可以揭示食堂外包管理的关键环节和问题所在,为高校提供科学、有效的管理策略和方法,提高食堂和服务质量。

其次,可以促进高校后勤社会化发展。高校食堂外包是后勤社会化改革的重要内容。通过对管理系统的研究,可以推动高校后勤服务的社会化、专业化和市场化发展,提高后勤服务的效率和质量。

最后,可以丰富高校管理理论和实践。高校食堂外包管理的研究,可以为我国高校管理理论研究提供新的实证材料,丰富高校管理实践,推动高校管理的创新发展。

1.3论文结构与章节安排

论文将分层次进行编排,除去论文摘要致谢文献参考部分,论文主要架构如下:

第一章:绪论。主要介绍了课题研究的背景,研究意义和论文结构与章节安排。

第二章:系统分析。主要从系统的用户、功能等方面进行需求分析。

第三章:系统总体设计。主要对系统框架、系统功能模块、数据库进行功能设计。

第四章:系统详细设计与实现。主要介绍了系统框架搭建、系统界面的实现。

第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试。

第六章:总结。主要对系统的设计工作进行总结。

2 系统分析

系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。

2.1 可行性分析

(1)技术可行性

Java是一种跨平台的编程语言,具有丰富的类库和良好的兼容性,广泛应用于各种场景。Java语言具有较高的性能和稳定性,可以满足系统高并发、大数据处理的需求。此外,Spring Boot是一个非常流行的Java开发框架,Spring Boot不仅能够帮助开发者快速搭建应用的基本框架,还提供了丰富的扩展点,使得开发者可以灵活地定制和优化应用程序,满足不同场景下的需求。因此,从技术层面来说是可行的。

(2)经济可行性

Spring Boot的自动配置功能可以根据应用程序的依赖和环境来进行自动配置,减少了大量的手动配置工作,可以降低开发成本;另外,Spring Boot的代码质量和可维护性较高,可以降低后期维护成本。因此,从经济角度分析是可行的。

  1. 组织可行性

Spring Boot框架具有易于集成和模块化的特点,使得基于该框架构建的高校食堂外包管理系统能够灵活适应高校的组织结构和业务流程。同时,该框架提供了丰富的插件和工具,方便开发者根据高校的具体需求进行定制化开发。此外,Spring Boot易于学习和使用,降低了系统的培训和推广成本。

2.2 系统流程分析

系统流程是用一些特定的符合和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,业务流程可以帮助开发人员更好的理解业务,发现错误,完善系统。

2.2.1 用户登录流程

用户通过登录才能访问系统及权限以内的功能,对此将实现各种应用及管理等功能,用户登录流程图如下图2-1所示。

图2-1  用户登录流程图

2.2.2 数据删除流程

如果系统里面存在一些没有用的数据,相关的管理人员还可以对这些数据进行删除,数据删除时流程图如下图2-2所示

图2-2  数据删除流程图

2.3 系统功能分析

2.3.1 功能性分析

按照高校食堂外包管理系统的角色,主要包括管理员、工作人员和承包商用户这三大功能模块,各模块功能内容如下:

  1. 管理员功能:
  1. 后台首页:管理员可以查看后台首页展示的承包商信息统计图。
  2. 系统用户:管理员可以对系统用户(管理员、工作人员、承包商用户)信息进行查询、重置、添加和删除管理。点击“系统用户”下方的“工作人员”进入页面后点击列表中某一用户后面的“详情”可以查看该用户的详细信息。点击列表上方的“添加”进入页面填写用户账号、密码、昵称等信息后点击“提交”即可完成用户账号的添加。工作人员、承包商用户由管理员添加。
  3. 通知公告管理:管理员点击“通知公告管理”下方的“通知公告列表”进入页面点击某一公告后面的“详情”可以查看该公告的详细信息,可以对通知公告列表进行查询、重置和删除操作。点击“通知公告管理”下方的“车辆信息添加”进入页面填写公告编号、公告标题、公告日期等信息后点击“提交”即可完成对通知公告的添加。
  4. 承包商信息管理:管理员点击“承包商信息管理”下方的“承包商信息列表”进入页面点击某一承包商后面的“详情”可以查看承包商的详细信息,可以对承包商信息列表进行查询、重置和删除操作。点击“承包商信息管理”下方的“承包商信息添加”进入页面填写公告编号、公告标题、公告日期等信息后点击“提交”即可完成对承包商信息的添加。
  5. 承包信息管理:用户点击“承包信息管理”下方的“承包信息列表”进入页面点击某一食堂后面的“详情”可以查看该食堂的详细信息,可以对承包信息列表进行查询、重置和删除操作。
  6. 承包分类管理:管理员点击“承包分类管理”下方的“承包分类列表”进入页面点击某一承包分类后面的“详情”可以查看承包商的详细信息,可以对承包分类列表进行查询、重置和删除操作。点击“承包商信息管理”下方的“承包分类添加”进入页面填写类型名称后点击“提交”即可完成对承包分类信息的添加。
  7. 投标记录管理:用户点击“投标记录管理”下方的“投标记录列表”进入页面点击某一食堂后面的“详情”可以查看该投标的详细信息;可以对承包信息列表进行查询和重置操作。
  8. 我的:管理员点击我的头像的下拉按钮“个人信息”进入页面可以修改个人信息,点击“修改密码”进入页面可以修改密码,修改后可以用新密码登录系统。

2. 工作人员功能:

  1. 后台首页:用户可以查看后台首页展示的相关信息。
  2. 通知公告管理:用户点击“通知公告管理”下方的“通知公告列表”进入页面点击某一公告后面的“详情”可以查看该公告的详细信息,可以对通知公告列表信息进行查询和重置操作。
  3. 承包商信息管理:用户点击“承包商信息管理”下方的“承包商信息列表”进入页面点击某一承包商后面的“详情”可以查看该承包商的详细信息,可以对承包商列表信息进行查询和重置操作。
  4. 承包信息管理:用户点击“承包信息管理”下方的“承包信息列表”进入页面点击某一食堂后面的“详情”可以查看该食堂的详细信息,可以对承包信息列表进行查询、重置和删除操作。用户点击“承包信息管理”下方的“承包信息添加”进入页面填写食堂名称、承包分类等信息后点击“提交”即可完成承包信息的添加。
  5. 投标记录管理:用户点击“投标记录管理”下方的“投标记录列表”进入页面点击某一食堂后面的“详情”可以查看该投标的详细信息并进行审核和回复;可以对承包信息列表进行查询和重置操作。
  6. 我的:用户点击我的头像的下拉按钮“个人信息”进入页面可以修改个人信息,点击“修改密码”进入页面可以修改密码,修改后可以用新密码登录系统。

3. 承包商用户功能:

  1. 后台首页:用户可以查看后台首页展示的相关信息。
  2. 通知公告管理:通知公告管理:用户点击“通知公告管理”下方的“通知公告列表”进入页面点击某一公告后面的“详情”可以查看该公告的详细信息,可以对通知公告列表信息进行查询和重置操作。
  3. 承包商信息管理:用户点击“承包商信息管理”下方的“承包商信息列表”进入页面点击某一承包商后面的“详情”可以查看该承包商的详细信息,可以对承包商列表信息进行查询、重置和删除操作。点击“承包商信息管理”下方的“承包商信息添加”进入页面填写承包商名称、用户信息等信息后点击“提交”即可完成承包商信息的添加。
  4. 承包信息管理:用户点击“承包信息管理”下方的“承包信息列表”进入页面点击某一食堂后面的“详情”可以查看该食堂的详细信息,点击“投标”进入页面填写投标内容、选择投标状态后点击“提交”即可完成该食堂的投标。可以对承包信息列表进行查询和重置操作。
  5. 投标记录管理:用户点击“投标记录管理”下方的“投标记录列表”进入页面点击某一食堂后面的“详情”可以查看该投标的详细信息;可以对承包信息列表进行查询和重置操作。
  6. 我的:用户点击我的头像的下拉按钮“个人信息”进入页面可以修改个人信息,点击“修改密码”进入页面可以修改密码,修改后可以用新密码登录系统。

2.3.2 非功能性分析

高校食堂外包管理系统的非功能性需求比如高校食堂外包管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下2-1表格中:

2-1高校食堂外包管理系统非功能需求表

安全性

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

可靠性

可靠性是指高校食堂外包管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

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

可扩展性

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

易用性

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

可维护性

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

2.4 系统用例分析

通过2.3功能的分析,得出了本高校食堂外包管理系统的用例图:

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

图2-3 管理员用例图

工作人员用例图如下图2-4所示。

图2-4 工作人员用例图

承包商用户用例图如下图2-5所示。

图2-5承包商用户用例图

2.5本章小结

本章主要通过对高校食堂外包管理系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个高校食堂外包管理系统要实现的功能。同时也为高校食堂外包管理系统的代码实现和测试提供了标准。

3 系统总体设计

本章主要讨论的内容包括高校食堂外包管理系统的系统架构设计、功能模块设计、数据库系统设计。

3.1 系统架构设计

本高校食堂外包管理系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-1系统架构设计图

表现层(UI):又称UI层,主要完成本高校食堂外包管理系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本高校食堂外包管理系统时的舒适度。UI的界面设计也要适应不同版本的高校食堂外包管理系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

业务逻辑层(BLL):主要完成本高校食堂外包管理系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):由于本高校食堂外包管理系统的数据是放在服务端的MySQL数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本高校食堂外包管理系统的数据存储和管理功能。

3.2 系统功能模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本高校食堂外包管理系统中的用例。那么接下来就要开始对本高校食堂外包管理系统的主要功能和数据库开始进行设计。高校食堂外包管理系统根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。

图3-2 系统功能模块图

3.3 数据库设计

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

3.3.1 数据库概念结构设计

在数据库概念模型设计的时候,一般都采用E-R实体图进行展示,在实体图中可以展示出数据库表中的所有字段名称,本高校食堂外包管理系统中的主要的数据库E-R模型图如下图3-3、3-4、3-5所示。

图3-3 工作人员信息E-R图

图3-4 承包商用户信息E-R图

图3-5 通承信息E-R图

3.3.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

用户编号:

表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

更新时间:

表bid_records (投标记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

bid_records_id

int

10

0

N

Y

投标记录ID

2

canteen_name

varchar

64

0

Y

N

食堂名称

3

contracting_classification

varchar

64

0

Y

N

承包分类

4

contract_price

varchar

64

0

Y

N

承包价格

5

contract_period

varchar

64

0

Y

N

承包期限

6

staff

int

10

0

Y

N

0

工作人员

7

contractor_users

int

10

0

Y

N

0

承包商用户

8

contractor_name

varchar

64

0

Y

N

承包商名称

9

contact_phone_number

varchar

64

0

Y

N

联系电话

10

bid_content

text

65535

0

Y

N

投标内容

11

bidding_status

varchar

64

0

Y

N

投标状态

12

bid_response

text

65535

0

Y

N

投标回复

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表contracting_classification (承包分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

contracting_classification_id

int

10

0

N

Y

承包分类ID

2

contracting_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

更新时间

表contractor_information (承包商信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

contractor_information_id

int

10

0

N

Y

承包商信息ID

2

contractor_users

int

10

0

Y

N

0

承包商用户

3

contractor_name

varchar

64

0

Y

N

承包商名称

4

user_name

varchar

64

0

Y

N

用户姓名

5

contact_phone_number

varchar

64

0

Y

N

联系电话

6

document_attachments

varchar

255

0

Y

N

证件附件

7

contractor_description

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

更新时间

表contractor_users (承包商用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

contractor_users_id

int

10

0

N

Y

承包商用户ID

2

contractor_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

更新时间

表contract_information (承包信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

contract_information_id

int

10

0

N

Y

承包信息ID

2

canteen_name

varchar

64

0

Y

N

食堂名称

3

contracting_classification

varchar

64

0

Y

N

承包分类

4

contract_price

int

10

0

Y

N

0

承包价格

5

contract_period

varchar

64

0

Y

N

承包期限

6

staff

int

10

0

Y

N

0

工作人员

7

cover_photo

varchar

255

0

Y

N

封面图片

8

content_details

text

65535

0

Y

N

内容详情

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

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:

表notification_announcement (通知公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notification_announcement_id

int

10

0

N

Y

通知公告ID

2

announcement_number

varchar

64

0

Y

N

公告编号

3

announcement_title

varchar

64

0

Y

N

公告标题

4

announcement_date

date

10

0

Y

N

公告日期

5

announcement_image

varchar

255

0

Y

N

公告图片

6

announcement_content

text

65535

0

Y

N

公告内容

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

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

更新时间

表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

更新时间:

表working_personnel (工作人员)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

working_personnel_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

更新时间

3.4本章小结

整个高校食堂外包管理系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4 系统详细设计与实现

高校食堂外包管理系统的详细设计与实现主要是根据前面的高校食堂外包管理系统的需求分析和高校食堂外包管理系统的总体设计来设计页面并实现业务逻辑。主要从高校食堂外包管理系统界面实现、业务逻辑实现这两部分进行介绍。

4.1管理员功能模块

4.1.1 系统用户界面

管理员可以对系统用户(管理员、工作人员、承包商用户)信息进行查询、重置、添加和删除管理。点击“系统用户”下方的“工作人员”进入页面后点击列表中某一用户后面的“详情”可以查看该用户的详细信息。点击列表上方的“添加”进入页面填写用户账号、密码、昵称等信息后点击“提交”即可完成用户账号的添加。工作人员、承包商用户由管理员添加。其主界面展示如下图4-1所示。

图4-1 系统用户界面图

4.1.2 通知公告管理界面

管理员点击“通知公告管理”下方的“通知公告列表”进入页面点击某一公告后面的“详情”可以查看该公告的详细信息,可以对通知公告列表进行查询、重置和删除操作。点击“通知公告管理”下方的“车辆信息添加”进入页面填写公告编号、公告标题、公告日期等信息后点击“提交”即可完成对通知公告的添加。其界面展示如下图4-2所示。

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

图片上传的代码如下:

@PostMapping("/upload")

    public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {

        log.info("进入方法");

        if (file.isEmpty()) {

            return error(30000, "没有选择文件");

        }

        try {

            String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";

            File targetDir = new File(filePath);

            if (!targetDir.exists() && !targetDir.isDirectory()) {

                if (targetDir.mkdirs()) {

                    log.info("创建目录成功");

                } else {

                    log.error("创建目录失败");

                }

            }

            String fileName = file.getOriginalFilename();

            File dest = new File(filePath + fileName);

            log.info("文件路径:{}", dest.getPath());

            log.info("文件名:{}", dest.getName());

            file.transferTo(dest);

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("url", "/api/upload/" + fileName);

            return success(jsonObject);

        } catch (IOException e) {

            log.info("上传失败:{}", e.getMessage());

        }

        return error(30000, "上传失败");

    }

4.1.3 承包商信息管理界面

管理员点击“承包商信息管理”下方的“承包商信息列表”进入页面点击某一承包商后面的“详情”可以查看承包商的详细信息,可以对承包商信息列表进行查询、重置和删除操作。点击“承包商信息管理”下方的“承包商信息添加”进入页面填写公告编号、公告标题、公告日期等信息后点击“提交”即可完成对承包商信息的添加。其界面如下图4-3所示。

图4-3承包商信息管理界面图

4.1.4承包分类管理界面

管理员点击“承包分类管理”下方的“承包分类列表”进入页面点击某一承包分类后面的“详情”可以查看承包商的详细信息,可以对承包分类列表进行查询、重置和删除操作。点击“承包商信息管理”下方的“承包分类添加”进入页面填写类型名称后点击“提交”即可完成对承包分类信息的添加。其界面如下图4-4所示。

图4-4承包分类管理界面图

4.1.5 投标记录管理界面

管理员点击“投标记录管理”下方的“投标记录列表”进入页面点击某一投标记录后面的“详情”可以查看投标记录的详细信息,可以对投标记录列表进行查询、重置和删除操作。其界面如下图4-5所示

图4-5投标记录管理界面图

4.1.6 修改密码界面

管理员点击我的头像的下拉按钮“修改密码”进入页面填写原密码、新密码、确认新密码信息后点击“提交”即可完成密码的修改,修改后可以用新密码登录系统。其界面如图4-6所示。

图4-6 修改密码界面图

修改的密码代码如下:

    @PostMapping("change_password")

    public Map<String, Object> change_password(@RequestBody Map<String, String> data, HttpServletRequest request){

        String token = request.getHeader("x-auth-token");

        Integer userId = tokenGetUserId(token);

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

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

        query.put("user_id" ,String.valueOf(userId));

        query.put("password" ,service.encryption(o_password));

        int count = service.selectBaseCount(service.count(query, service.readConfig(request)));

        if(count > 0){

            Map<String,Object> form = new HashMap<>();

            form.put("password",service.encryption(data.get("password")));

            service.update(query,service.readConfig(request),form);

            return success(1);

        }

        return error(10000,"密码修改失败!");

    }

4.2工作人员功能模块

4.2.1 通知公告管理界面

用户点击“通知公告管理”下方的“通知公告列表”进入页面点击某一公告后面的“详情”可以查看该公告的详细信息,可以对通知公告列表信息进行查询和重置操作。其界面如下图4-7所示:

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

4.2.2 承包商信息管理界面

用户点击“承包商信息管理”下方的“承包商信息列表”进入页面点击某一承包商后面的“详情”可以查看该承包商的详细信息,可以对承包商列表信息进行查询和重置操作。其界面如下图4-8所示。

图4-8承包商信息管理界面图

4.2.3承包信息管理界面

用户点击“承包信息管理”下方的“承包信息列表”进入页面点击某一食堂后面的“详情”可以查看该食堂的详细信息,可以对承包信息列表进行查询、重置和删除操作。用户点击“承包信息管理”下方的“承包信息添加”进入页面填写食堂名称、承包分类等信息后点击“提交”即可完成承包信息的添加。其界面如下图4-9所示。

图4-9承包信息管理界面图

添加的代码如下:

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

 }

删除的代码如下:

    @RequestMapping(value = "/del")

    @Transactional

    public Map<String, Object> del(HttpServletRequest request) {

        service.delete(service.readQuery(request), service.readConfig(request));

        return success(1);

    }

    public void delete(Map<String,String> query,Map<String,String> config){

        QueryWrapper wrapper = new QueryWrapper<E>();

        toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

        baseMapper.delete(wrapper);

        log.info("[{}] - 删除操作:{}",wrapper.getSqlSelect());

    }

4.2.4投标记录管理界面

用户点击“投标记录管理”下方的“投标记录列表”进入页面点击某一食堂后面的“详情”可以查看该投标的详细信息并进行审核和回复;可以对承包信息列表进行查询和重置操作。其界面如下图4-10所示。

图4-10投标记录管理界面图

4.3承包商用户功能模块

4.3.1 通知公告管理界面

用户点击“通知公告管理”下方的“通知公告列表”进入页面点击某一公告后面的“详情”可以查看该公告的详细信息,可以对通知公告列表信息进行查询和重置操作。其界面如下图4-11所示。

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

4.3.2 承包商信息管理界面

用户点击“承包商信息管理”下方的“承包商信息列表”进入页面点击某一承包商后面的“详情”可以查看该承包商的详细信息,可以对承包商列表信息进行查询、重置和删除操作。点击“承包商信息管理”下方的“承包商信息添加”进入页面填写承包商名称、用户信息等信息后点击“提交”即可完成承包商信息的添加。其界面如下图4-12所示。

图4-12承包商信息管理界面图

4.3.3承包信息管理界面

用户点击“承包信息管理”下方的“承包信息列表”进入页面点击某一食堂后面的“详情”可以查看该食堂的详细信息,点击“投标”进入页面填写投标内容、选择投标状态后点击“提交”即可完成该食堂的投标。可以对承包信息列表进行查询和重置操作。其界面如下图4-13所示。

图4-13承包信息管理界面图

4.3.4投标记录管理界面

用户点击“投标记录管理”下方的“投标记录列表”进入页面点击某一食堂后面的“详情”可以查看该投标的详细信息;可以对承包信息列表进行查询和重置操作。其界面如下图4-14所示。

图4-14投标记录管理界面图

5系统测试

5.1  测试目的

随着互联网不断的发展,目前各大领域都利用互联网进行了信息的管理,因此产品能否存货,质量问题是很重要的标准,也决定着是否有更多的人使用。所以软件的质量我们必须要把关,必须要把软件做好,做到位,少出不必要的问题,这样才能有更多的用户使用,并且得到更多的推广。所以,我们在开发完系统后,需要进行大量的测试,以确保系统的稳定性和可使用性,并要确定系统的质量能否做到满足不同人的需求。这是系统在开发设计中非常重要的环节,测试的结果直接关系到系统的好坏。

5.2  测试方法

在对系统进行测试的时候我们主要应用到两种测试的方法,通过测试我们就能找出可能存在的问题保证系统成功运行。

从软件的内部构造和具体实施是否有关系的观点来看:黑盒测试和白盒测试。

1)黑盒测试:测试系统功能,当用户进行相应的操作时,系统是否能够及时且准确的反馈数据,并执行相应功能。需要对功能以及使用方法进行详细的测试,保证所有的操作信息都能够完整的输出输入。

2)白盒测试:主要是对系统的结构进行测试,了解系统在运行过程中是否可以正常的工作。

高校食堂外包管理系统的测试也会从下面几方面进行:

(1)窗体测试:例如用户登录界面,在用户名和密码输入时,需要界面窗口弹出,给予用户反馈,我对窗口的设计进行了测试,确保每一个窗口在用户进行相应操作后,能够及时的弹出。

(2)数据跟踪:进行数据跟踪,我们就能知道系统功能是否在顺利的执行当中。将数据库中的相关的信息进行调动,弹出我们需要的相对应的数据信息。同时,在追踪过程中,我们也更容易的发现系统的问题所在,便于解决问题和维护系统。

(3)综合测试:完成上述测试后,需要对系统进行由内而外的重新检测,来宏观的发现系统中存在的问题,并且及时的进行解决,系统的设计要结合实际的使用情况有针对性的进行开发,可以满足不同人的需求。

5.3  功能测试

高校食堂外包管理系统基本达到我理想的开发状态,在各个功能的运行方面,表现较为良好,基本满足用户的使用需求,及时矫正了较多的错误信息。总体说来,软件通过了相应的测试。

表5-1:用户登录测试表

模块名称

测试用例

预期结果

实际结果

是否通过

登录模块

用户名:admin   密码:123  

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

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

通过

登录模块

用户名:123   

密码:admin   

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

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

通过

登录模块

用户名:admin   

密码:admin   

管理员登录成功

管理员登录成功

通过

表5-2:修改密码测试表

模块名称

测试用例

预期结果

实际结果

是否通过

修改密码模块

原密码:666

新密码:123

确认密码:123  

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

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

通过

修改密码模块

原密码:admin   新密码:123

确认密码:333  

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

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

通过

修改密码模块

原密码:admin   新密码:123

确认密码:123  

密码修改成功

密码修改成功

通过

5.4  测试结论

测试的过程要按照指定好的计划一步一步的实行,测试时候一定不要着急,并且将测试的结果进行详细的记录,我们在进行测试的时候做好选择自动化的测试,这样更加的准确也更快捷,如果采用人工测试的方法就不会这么的方便,很可能会出现一些问题,而且极其测试不会疲劳也不会出现问题。在测试的时候一定要非常专注,时刻关注着测试的结果,一旦发现异常及时进行修改,;最后,测试完之后的文档应该保存下来,方便以后测试时用到。

通过测试,我们也可以直观的感受到,在我们最开始进行系统设计的时候,先把思路理清楚,才能有机会把代码写好。有好的逻辑性的代码在后期的测试中才能避免出现问题,也可以给我们节省很多的时间和不必要的操作。

6 结论

在高校食堂外包管理系统开发之前,需要先对用户的具体需求进行分析。包括系统的可行性分析、功能需求分析以及其他需求等。在可行性分析过程中,对系统实现的技术性、经济性等方面进行了分析。总体上证明了系统实施的可行性。

本文总结了高校食堂外包管理系统开发背景与意义,然后阐述了系统的具体业务需求,并根据系统需求对系统结构以及功能模块等进行了详细地设计,将整个系统划分为多个不同的功能模块。在分析系统功能需求时,对整个系统的总体架构以及功能模块等进行了分析,并选择合适的系统开发技术完成了对各个模块的开发工作。系统开发完成之后进行了部署,同时进行了系统的测试过程,通过测试证明了系统在功能以及性能等方面都达到了预期的要求,具有较高的稳定性与可靠性。

参考文献

[1]吴伶琳.基于SpringBoot的客户关系管理系统设计与实现[J].无线互联科技,2023,20(24):60-62.

[2]王立军,陈玉保.高校食堂食品安全问题及对策[J].食品安全导刊,2023,(31):4-6.

[3]唐伟尧,康步仑.高校服务外包型食堂精细化管理探索与实践——以甘肃政法大学为例[J].高校后勤研究,2023,(09):13-14+19.

[4]刘云.高校食堂服务外包下的风险点探讨[J].就业与保障,2022,(12):14-16.

[5]陈晓玲.高校食堂食品安全管理存在的问题及应对措施[J].现代食品,2022,28(07):131-133.

[6]杨一舟,李晨曦.高校食堂外包中的风险及其内部控制[J].大众投资指南,2022,(04):188-190.

[7]韦惺魁.广西高校食堂经营管理模式分析[J].行政事业资产与财务,2021,(14):40-41.

[8]杨舒影.N高校食堂管理社会化改革研究[D].西北农林科技大学,2021.DOI:10.27409/d.cnki.gxbnu.2021.001185.

[9]麦哲铭,黄昕仪,陈晓宇等.O2O模式下高校智能食堂研究设计——以华南师范大学为例[J].现代信息科技,2021,5(03):105-109+113.

[10]邱祥国,钟潭宁.食品安全背景下的高校食堂管理措施分析[J].食品安全导刊,2020,(36):34.

[11]王森,张月,孙立新.基于消费者体验的高校食堂管理APP创新探究[J].中国市场,2020,(29):190+193.

[12]盛娟.论高校食堂管理的难题、原因及改革路径[J].财富时代,2020,(08):59-60.

[13]邱丹萍.应用SpringBoot的食堂订餐管理系统设计[J].福建电脑,2020,36(06):115-117.

[14]陈芳芳,朱卢玺,岂建军等.浅析高校食堂餐饮服务科学管理的策略[J].高校后勤研究,2020,(06):19-21.

[15]杨涛,彭芳,孙汇军.基于4P理论的高校食堂服务模式创新路径研究[J].科学咨询(科技·管理),2020,(05):71-72.

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

[17]Yang Y .Design and Implementation of Online Food Ordering System Based on Springcloud[J].Information Systems and Economics,2022,3(4):

[18]Liang C .School Vehicle Management System Based on JAVA Language[J].Academic Journal of Computing  Information Science,2023,6(9):

[19]任浩然,刘丹,景永强.JAVA在计算机软件开发中的应用研究[J].信息记录材料,2022,23(11):83-85.

[20]熊群毓.大数据时代MySQL数据库的应用分析[J].信息与电脑(理论版),2023,35(14):209-212.

致  谢

首先,我要感谢我的论文指导老师。在论文完成的整个过程中,指导老师始终给予我无微不至的关爱与指导。在论文写作的过程中,导师那耐心细致的指导,以及提出的具有建设性的意见,都给予了我极大的帮助,让我受益匪浅。导师严谨的治学态度、敬业精神以及高水平的教学能力,都给我树立了追求卓越的典范,这对我以后的人生道路和学业成就都产生了极大的积极影响。

此外,我还要感谢我班的同学们,他们既是我的同窗好友,又是我的良师益友。正是由于你们的支持和关怀,使得我在大学期间的学习和生活都变得异常充实。感谢那些在大学期间给予我帮助的所有老师和同学们,是你们给予了我在学业道路上的前进动力。

当然,我也不能忘记我的父母,是他们用无私的爱抚养我成人。你们的养育之恩我将永生难忘,将来我一定会用我的成绩回报你们。在成长的道路上,我会不断努力,不负众望,用实际行动来回报你们对我的期望。

总之,在这篇论文中,我要感谢所有给予我帮助的人,包括指导老师、同学们、家人和朋友们。是你们的支持与关爱,让我在学术和个人生活中取得了优异的成绩。我会珍惜这份感恩之情,将这份力量用于学习和未来的生活中,不断追求卓越,成为一个更加优秀的人。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值