基于Spring Boot的汽车修理管理系统--62834(免费领源码)原创的定制程序,java、PHP、python、C#小程序、文案全套、毕设成品等等.

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以关注一下,希望帮助更多的人顺利毕业~

汽车修理管理系统

摘  要:随着汽车保有量的持续增长,汽车修理行业的管理需求日益凸显。本研究旨在通过开发一套汽车修理管理系统来提升维修企业的运营效率和服务质量。

系统实现了针对普通用户、维修人员和管理员的多种功能模块。普通用户可以进行汽车登记、预约服务和维修订单查询等操作;维修人员能够处理预约请求、审核维修任务以及管理零件库存;管理员则负责系统的全面管理,包括用户权限设置、数据统计分析等。技术上采用了Spring Boot框架以简化开发流程,并利用MySQL数据库保证了数据的安全性和稳定性。整个系统界面友好、操作简便,支持高并发访问。

本研究的价值在于提供了一种有效的解决方案,帮助汽车修理企业实现信息化管理,从而降低运营成本、提高工作效率和服务满意度。此外,系统的灵活性和扩展性也使得其能够根据企业发展的不同阶段进行相应的调整和优化,具有广泛的应用前景和推广价值。

关键词 汽车修理管理系统;Spring Boot;MySQL;Java

Automotive repair management system

Abstract:With the continuous growth of car ownership, the management needs of the automobile repair industry are becoming increasingly prominent. The purpose of this study is to improve the operational efficiency and service quality of maintenance enterprises by developing an automobile repair management system.

The system realizes a variety of functional modules for ordinary users, maintenance personnel and administrators. Ordinary users can carry out operations such as car registration, appointment service and maintenance order inquiry; Maintenance personnel are able to handle appointment requests, review repair tasks, and manage parts inventory; The administrator is responsible for the overall management of the system, including user permission settings, data statistical analysis, etc. Technically, the Spring Boot framework is used to simplify the development process, and the MySQL database is used to ensure the security and stability of the data. The whole system has a friendly interface and easy operation, and supports high-concurrency access.

The value of this study is that it provides an effective solution to help auto repair enterprises realize information management, so as to reduce operating costs, improve work efficiency and service satisfaction. In addition, the flexibility and scalability of the system also enable it to be adjusted and optimized accordingly according to the different stages of enterprise development, and has a wide range of application prospects and promotion value.

KeywordsAutomotive Repair Management System; Spring Boot; MySQL; Java


目    录

年   月

第1章 绪  论

1.1 研究背景

1.2 研究目的和意义

1.3 国内外研究现状

1.4 论文结构与章节安排

第2章 关键技术介绍

2.1 Java语言

2.2 Spring Boot框架

2.3 MySQL数据库

2.4 B/S体系结构

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 系统功能需求分析

3.3 系统用例分析

3.3.1 普通用户用例分析

3.3.2 维修人员用例分析

3.3.3 管理员用例分析

3.4 非功能需求分析

3.5 系统流程分析

3.5.1 程序操作流程

3.5.2 登录流程

3.5.3 注册流程

第4章 系统设计

4.1 系统架构设计

4.2 功能模块设计

4.3 数据库设计

4.3.1 概念设计

4.3.2 逻辑设计

第5章 系统实现

5.1 普通用户模块的实现

5.1.1 用户注册界面

5.1.2 用户登录界面

5.1.3 汽车登记管理界面

5.1.4 维修订单管理界面

5.2 维修人员功能模块的实现

5.2.1 维修任务管理界面

5.2.2 零件信息管理界面

5.2.3 发放工资管理界面

5.3 管理员模块的实现

5.3.1 管理员后台首页界面

5.3.2 系统用户界面

5.3.3 汽车登记管理界面

5.3.4 预约信息管理界面

5.3.5 零件信息管理界面

5.3.6 零件入库管理界面

5.3.7 员工信息管理界面

第6章 系统测试

6.1 测试目的

6.2 测试用例

6.3 测试结果

结  论

参考文献

致  谢

附 录

第1章  

1.1研究背景

随着全球经济的发展和人民生活水平的提高,汽车已经成为许多家庭不可或缺的交通工具,导致汽车保有量逐年递增。随之而来的是汽车修理行业规模的不断扩大以及业务复杂度的显著增加。然而,目前多数汽车修理企业仍在使用传统的管理方式,如纸质记录、手工报表等,这些方法不仅效率低下,而且容易出错,难以满足现代企业管理的需求。此外,不同角色之间信息共享不畅,进一步加剧了管理上的混乱,使得服务质量难以得到有效保障。

在此背景下,本研究旨在通过信息化手段改善汽车修理企业的管理现状。现有的管理模式已无法适应快速发展的市场需求,急需一种能够整合预约登记、维修任务分配、订单管理和零件库存等功能于一体的管理系统来提升工作效率和服务质量。因此,开发一套基于Spring Boot、Java和MySQL技术栈的汽车修理管理系统显得尤为必要,以期解决上述问题并推动行业的数字化转型。

1.2研究目的和意义

本研究的目的在于设计并实现一个高效、可靠的汽车修理管理系统,通过集成现代化的信息技术手段如Spring Boot、Java和MySQL,解决当前汽车修理行业普遍存在的管理不善、信息共享困难及工作效率低下等问题。该系统旨在为不同用户提供定制化的功能模块,包括汽车登记管理、预约信息处理、维修任务分配与跟踪以及零件库存管理等,从而实现对汽车修理业务全流程的数字化管理。

本研究的意义在于推动汽车修理行业的信息化转型,不仅能够帮助企业提升内部管理效率和服务质量,还能增强客户满意度和企业竞争力。通过建立这样一个系统,可以显著减少人工操作带来的错误和成本,促进信息流通和资源共享,进而支持企业做出更加精准的业务决策。此外,系统的灵活性和扩展性也为未来进一步的功能拓展和技术升级提供了可能,对于行业的长远发展具有重要参考价值。

1.3国内外研究现状

在国内,随着汽车保有量的快速增长以及信息技术的发展,汽车修理管理系统的研发逐渐受到重视。早期的研究多集中在如何将传统的手工管理模式转变为电子化记录,如利用简单的数据库系统进行客户信息和维修记录的管理。近年来,随着互联网技术的进步,尤其是云计算、大数据及移动互联网的应用,越来越多的企业开始采用集成度更高的管理系统,实现在线预约、远程诊断等功能。然而,整体而言,国内的汽车修理管理系统在智能化、自动化方面仍有较大提升空间,特别是在用户体验、系统集成度和数据安全性上还有待加强。

在国外,特别是欧美发达国家,汽车修理管理系统的发展起步较早,且技术相对成熟。自上世纪末以来,随着计算机技术的普及,国外企业就开始探索使用计算机辅助管理系统来优化内部流程。进入21世纪后,随着物联网、人工智能等新兴技术的兴起,国外的汽车修理管理系统逐步向智能化方向发展,实现了从车辆故障自动诊断到智能调度的一体化服务。如今,国外的一些领先系统不仅能够支持高效的维修任务分配和零件库存管理,还能通过数据分析预测潜在的维修需求,极大地提升了工作效率和服务质量。同时,这些系统普遍注重用户隐私保护和数据安全,为全球同行树立了标杆。

1.4论文结构与章节安排

本文的结构按逻辑顺序分为以下几个章节:

第1章绪论,本章节介绍研究背景和目的意义,回顾当前研究现状,并阐明本文主要组织结构。

第2章系统关键技术,本章节将对汽车修理管理系统的实现关键技术进行简要介绍。

第3章系统分析,本章节基于市场调研,分析汽车修理管理系统的可行性、功能、角色、性能等需求,明确各模块的业务需求。

第4章系统设计,本章节详细阐述系统的整体架构设计,包括前后端结构、数据库设计及功能模块的设计思路。

第5章系统实现,本章节介绍系统各主要模块的具体实现,包括代码示例、业务逻辑及界面设计等。

第6章系统测试,本章节描述系统的测试方法及结果,分析系统的性能、稳定性及用户反馈。

第7章结论,本章节对主要对研究成果进行总结。

第2章
关键技术介绍

2.1Java语言 

Java作为一种广泛使用的面向对象编程语言[1],为本系统提供了强大的开发基础。它具备跨平台特性、丰富的类库和稳定的安全性能,能够确保系统的高效运行和良好的扩展性。在汽车修理管理系统中,Java[2]用于编写后端业务逻辑,处理包括用户管理、信息管理在内的各种复杂操作,同时支持高并发访问,保证了系统的响应速度和稳定性。

2.2Spring Boot框架

Spring Boot是基于Spring框架的快速开发平台[3],极大地简化了基于Java的应用程序构建过程。它通过自动配置和约定优于配置的原则,减少了繁琐的设置工作,使开发者可以更专注于业务逻辑的实现。在本系统中,Spring Boot[4]不仅用于搭建RESTful API服务,提供前后端数据交互的接口,还集成了安全认证、事务管理和缓存等功能,以提升系统的整体性能和安全性,确保汽车修理管理系统的稳定性和可维护性。

2.3MySQL数据库

作为一款流行的开源关系型数据库管理系统,MySQL[5]以其高性能、可靠性和易于使用的特点成为本系统的数据存储解决方案。它支持复杂的查询和事务处理,适用于存储和管理大量的功能模块信息、用户数据以及交互记录。通过优化表结构设计和索引策略,MySQL能够快速响应系统的读写请求,保障数据的一致性和完整性,同时为数据分析和报表生成提供了坚实的基础[6]。

2.4B/S体系结构

B/S体系,即Browser/Server体系[7],是一种常见的网络应用程序架构。其工作原理基于客户端与服务器之间的请求-响应模型。用户通过浏览器向服务器发送请求,服务器接收到请求后进行处理,并生成相应的响应结果,最终将响应返回给客户端。浏览器接收到服务器返回的响应后,解析其中的标记语言(如HTML[8]),并根据CSS样式表和JavaScript脚本来渲染页面,呈现给用户。用户可以与页面进行交互,例如点击链接、填写表单等操作,这些操作会触发新的请求,循环执行上述过程。

第3章
系统分析

3.1可行性分析

3.1.1技术可行性

系统基于SpringBoot框架开发,采用Java语言实现业务逻辑,搭配MySQL数据库进行数据存储与管理,技术方案成熟稳定。通过集成Redis缓存优化数据访问性能,提升开发与维护效率。由于本系统专注于后端服务,提供标准化的RESTful API接口,支持与其他前端应用或第三方系统无缝对接,具备良好的扩展性与兼容性,完全满足开发需求。

3.1.2经济可行性

系统开发成本可控,主要涉及开发人员薪资、服务器部署及软硬件投入,费用相对较低。借助开源技术和云计算资源,可显著降低初期投入与后续运维成本。系统投入使用后,通过提升管理效率和服务质量,能够为企业创造可观的经济效益,具备良好的投资回报潜力。

3.1.3操作可行性

系统设计注重用户友好性,提供直观的操作界面和清晰的功能模块划分,便于不同角色快速上手。同时,多角色权限管理和流程化任务分配机制,简化了日常操作步骤。完善的帮助文档和培训支持,进一步降低了使用门槛,确保系统在实际应用中的高效运行。

3.2系统功能需求分析

本汽车修理管理系统旨在为普通用户、维修人员和管理员提供全面的在线服务与管理功能。系统需支持汽车登记、预约信息管理、维修任务分配与跟踪、维修订单处理以及零件库存管理等核心业务流程,同时确保数据的安全性和操作的便捷性,以提高整体工作效率和服务质量。具体功能描述如下:

(1)普通用户模块:

后台首页:展示用户的基本信息和最新通知,提供快捷入口访问其他功能模块。

汽车登记管理:允许用户添加车辆的基本信息进行登记,以便后续的服务预约。

预约信息管理:用户可以查看并管理自己的预约记录,包括取消或修改预约时间。

维修任务管理:用户能够跟踪已提交维修任务的状态更新,了解维修进度。

维修订单管理:查看所有相关维修订单的详细信息,包括费用明细和状态更新。

(2)维修人员模块:

后台首页:显示维修订单和零件使用情况的统计数据,帮助快速掌握工作重点。

汽车登记管理:与普通用户类似,但具有更多权限,如编辑汽车登记。

预约信息管理:审核和处理用户的预约请求,根据实际情况调整预约安排。

维修任务管理:负责审核维修任务,并实时更新维修订单的状态和详情。

维修订单管理:详细管理和监控每个维修订单的进展,确保按时完成。

零件信息管理:监控和维护零件库存信息,保证维修工作的顺利进行。

员工信息管理:查看和管理员工的基本信息,便于内部管理和调度。

发放工资管理:查看自己的发放工资信息。

(3)管理员模块:

后台首页:提供详细的维修订单和零件库存统计,辅助决策制定。

系统用户管理:创建、删除和管理系统的各类用户账户及其权限。

汽车登记管理:不仅可添加新车辆登记信息,还能审核其准确性。

预约信息管理:审核所有预约请求,并合理分配维修任务给合适的维修人员。

维修任务管理:全面监督维修任务的执行情况,确保每项任务按计划进行。

维修订单管理:直接在系统中创建新的维修订单,记录必要的维修细节。

零件信息管理:新增零件信息到数据库,确保库存信息准确无误。

零件入库管理:处理新进货的零件入库流程,更新库存数量。

员工信息管理:增加新员工的信息资料,完善企业人力资源库。

发放工资管理:准备和添加工资发放的相关记录,确保薪资支付流程顺畅。

3.3系统用例分析

3.3.1普通用户用例分析

普通用户主要通过系统进行汽车的在线登记,以便于后续服务。他们能够轻松管理自己的预约信息,包括查看、修改和取消预约。此外,用户可以跟踪维修任务的状态,了解维修进度,并查看所有相关的维修订单详情。普通用户角色用例图如下所示。

图3-1 普通用户用例图

3.3.2维修人员用例分析

维修人员利用系统高效地处理日常工作任务。他们首先审核并处理来自用户的预约请求,然后根据实际情况安排维修任务。维修过程中,维修人员实时更新维修订单状态,并管理零件库存以保证维修工作的顺利进行。此外,还涉及员工信息管理和工资发放等内部事务。维修人员角色用例图如下所示。

图3-2 维修人员用例图

3.3.3管理员用例分析

作为系统的最高权限持有者,管理员负责全面管理系统的各个方面。这包括对用户账户及其权限的管理、汽车登记信息的审核、预约信息的分配与管理、监督维修任务执行情况以及维护零件库存信息。同时,管理员还需处理员工信息录入及工资发放事宜。管理员角色用例图如下所示。

图3-3 管理员用例图

3.4非功能需求分析

系统非功能需求指的是性能需求,对一个系统的性能需求进行分析和定义的过程。在进行性能需求分析时,因此汽车修理管理系统的设计与实现主要需要考虑以下几个方面的性能需求:

响应时间:响应时间是指系统在接收到请求后,作出响应的时间。根据具体的业务需求和用户体验要求,可以确定系统在不同场景下的响应时间要求。

吞吐量:吞吐量是指系统在一定时间内处理的事务或请求的数量。根据业务需求和用户量的估计,可以确定系统需要支持的最大吞吐量。

并发用户数:并发用户数是指系统在同时使用的用户数量。根据预期的用户量和并发访问需求,可以确定系统需要支持的最大并发用户数。

可扩展性:可扩展性是指系统在面对用户量增加或并发访问需求增加时,能否通过增加硬件资源或调整系统架构来满足需求。根据预期的用户增长和扩展计划,可以确定系统需要具备的可扩展性要求。

故障处理能力:系统对故障的处理能力是指在出现错误或故障时,系统能够快速、准确地识别、定位并处理故障的能力。根据业务的重要性和对故障处理的要求,可以确定系统需要具备的故障处理能力。

安全性:系统在性能需求分析中,也需考虑安全方面的需求,如数据的保密性、完整性和可用性等。根据具体的安全需求和合规要求,可以确定系统需要满足的安全性需求。

通过对这些性能需求进行详细分析和定义,可以为汽车修理管理系统的设计和开发提供指导,确保系统在满足预期的性能需求的同时,具备良好的性能和可靠性。

3.5系统流程分析

3.5.1程序操作流程

用户访问平台网站,可以选择进行注册或登录操作。注册成功后,用户可以使用注册的账号登录平台。登录后的用户可以进入系统功能界面,使用自己权限内的功能操作。程序操作流程图如下图所示。

图3-5 程序操作流程图

3.5.2登录流程

用户访问平台的网站,进入登录页面页面,输入其用户名和密码,后端服务接收登录请求,验证用户提供的用户名和密码是否匹配数据库中存储的信息,验证通过即可登录成功。登录流程图如下图所示。

图3-6 登录流程图

3.5.3注册流程

未有账号的用户可进入注册界面进行注册操作,填写注册表格,包括用户名、密码、电子邮件等必要信息。后台系统验证并保存用户提交的信息。分配唯一用户标识符。注册成功后,用户可以使用账号密码进行登录。用户注册流程图如下图所示。

图3-7 注册流程图

第4章系统设计

4.1系统架构设计

从技术角度来看,汽车修理管理系统的架构设计至关重要。我们将采用MVC架构,包括表现层、业务逻辑层和数据访问层。表现层负责用户界面展示,业务逻辑层处理核心功能逻辑,数据访问层负责数据库交互。通过三层架构模式,确保系统的可靠性和可扩展性。

系统架构图如图4-1所示。

图4-1 系统架构图

4.2功能模块设计

通过整体功能模块设计,我们将根据需求分析的结果,将系统的功能划分为不同的模块。每个模块负责实现特定的功能,并与其他模块进行协作。我们将详细定义每个模块的输入、输出、处理逻辑和相互依赖关系。系统总体功能模块图如下图所示。

图4-2 系统功能模块图

4.3数据库设计

4.3.1概念设计

借助先进的系统,E-R图使其他用户可以快速轻松地了解系统的功能以及他们之间的关系。根据汽车修理管理系统分析结果,本汽车修理管理系统总体E-R图如下图所示。

图4-3 系统总体E-R图

4.3.2逻辑设计

所有系统的应用数据相互区分。一旦在相应的系统中实现,它们将与自己相应的网络和服务器通信。所以这个系统可以连接这些数据。当我们选择桥梁截面时,以下将简要介绍如何建立系统。在单击上一个按键的时候,就会自动在对话框中弹出数据源的名字,之后再单击下一个按键时,就在填写相对应的身份验证和登录信息。按照系统功能设计的特点与职能模块的分类,汽车修理管理系统的总体设计和实施过程一共涉及到了几个资料表格。

以下就介绍了一些根据各类别主要数据库表的设计结构以及基本功能建立数据库表:

表 4-1-access_token(登陆访问时长)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

token_id

int

临时访问牌ID

2

token

varchar

64

临时访问牌

3

info

text

65535

信息

4

maxage

int

最大寿命:默认2小时

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

user_id

int

用户编号

表 4-2-auth(用户权限管理)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

auth_id

int

授权ID

2

user_group

varchar

64

用户组

3

mod_name

varchar

64

模块名

4

table_name

varchar

64

表名

5

page_title

varchar

255

页面标题

6

path

varchar

255

路由路径

7

parent

varchar

64

父级菜单

8

parent_sort

int

父级菜单排序

9

position

varchar

32

位置

10

mode

varchar

32

跳转方式

11

add

tinyint

是否可增加

12

del

tinyint

是否可删除

13

set

tinyint

是否可修改

14

get

tinyint

是否可查看

15

field_add

text

65535

添加字段

16

field_set

text

65535

修改字段

17

field_get

text

65535

查询字段

18

table_nav_name

varchar

500

跨表导航名称

19

table_nav

varchar

500

跨表导航

20

option

text

65535

配置

21

create_time

timestamp

创建时间

22

update_time

timestamp

更新时间

表 4-3-car_registration(汽车登记)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

car_registration_id

int

汽车登记ID

2

license_plate_number

varchar

64

车牌号

3

vehicle_cover

varchar

255

车辆封面

4

vehicle_name

varchar

64

车辆名称

5

vehicle_specifications

varchar

64

车辆规格

6

vehicle_model

varchar

64

车辆型号

7

owner_user

int

车主用户

8

user_name

varchar

64

用户姓名

9

phone_number

varchar

16

手机号码

10

examine_state

varchar

16

审核状态

11

examine_reply

varchar

16

审核回复

12

reservation_information_limit_times

int

维修预约限制次数

13

create_time

datetime

创建时间

14

update_time

timestamp

更新时间

表 4-4-code_token(验证码)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

code_token_id

int

验证码ID

2

token

varchar

255

令牌

3

code

varchar

255

验证码

4

expire_time

timestamp

失效时间

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

表 4-5-employee_information(员工信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

employee_information_id

int

员工信息ID

2

employee_user

int

员工用户

3

employee_id

varchar

64

员工工号

4

employee_name

varchar

64

员工姓名

5

basic_salary

double

基本工资

6

hourly_wage

double

小时工资

7

payment_of_wages_limit_times

int

发放工资限制次数

8

create_time

datetime

创建时间

9

update_time

timestamp

更新时间

表 4-6-employee_user(员工用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

employee_user_id

int

员工用户ID

2

employee_id

varchar

64

员工工号

3

employee_name

varchar

64

员工姓名

4

examine_state

varchar

16

审核状态

5

user_id

int

用户ID

6

create_time

datetime

创建时间

7

update_time

timestamp

更新时间

表 4-7-hits(用户点击)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

hits_id

int

点赞ID

2

user_id

int

点赞人

3

create_time

timestamp

创建时间

4

update_time

timestamp

更新时间

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

表 4-8-maintenance_task(维修任务)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

maintenance_task_id

int

维修任务ID

2

order_number

varchar

64

订单编号

3

license_plate_number

varchar

64

车牌号

4

vehicle_cover

varchar

255

车辆封面

5

vehicle_name

varchar

64

车辆名称

6

vehicle_specifications

varchar

64

车辆规格

7

vehicle_model

varchar

64

车辆型号

8

owner_user

int

车主用户

9

user_name

varchar

64

用户姓名

10

phone_number

varchar

16

手机号码

11

assignment_date

date

分配日期

12

car_problems

text

65535

汽车问题

13

repairman

int

维修员

14

examine_state

varchar

16

审核状态

15

examine_reply

varchar

16

审核回复

16

repair_order_limit_times

int

维修项目限制次数

17

create_time

datetime

创建时间

18

update_time

timestamp

更新时间

19

source_table

varchar

255

来源表

20

source_id

int

来源ID

21

source_user_id

int

来源用户

表 4-9-ordinary_user(普通用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

ordinary_user_id

int

普通用户ID

2

user_name

varchar

64

用户姓名

3

phone_number

varchar

16

手机号码

4

examine_state

varchar

16

审核状态

5

user_id

int

用户ID

6

create_time

datetime

创建时间

7

update_time

timestamp

更新时间

表 4-10-parts_in_stock(零件入库)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

parts_in_stock_id

int

零件入库ID

2

receipt_no

varchar

64

入库编号

3

part_name

varchar

64

零件名称

4

part_specifications

varchar

64

零件规格

5

purchase_unit_price

double

采购单价

6

purchase_quantity

double

采购数量

7

receipt_date

date

入库日期

8

total_amount_of_procurement

double

采购总额

9

create_time

datetime

创建时间

10

update_time

timestamp

更新时间

表 4-11-part_information(零件信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

part_information_id

int

零件信息ID

2

part_name

varchar

64

零件名称

3

part_specifications

varchar

64

零件规格

4

unit_price_of_parts

double

零件单价

5

parts_inventory

double

零件库存

6

applicable_vehicles

text

65535

适用车辆

7

create_time

datetime

创建时间

8

update_time

timestamp

更新时间

表 4-12-payment_of_wages(发放工资)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

payment_of_wages_id

int

发放工资ID

2

salary_no

varchar

64

工资编号

3

employee_user

int

员工用户

4

employee_id

varchar

64

员工工号

5

employee_name

varchar

64

员工姓名

6

basic_salary

double

基本工资

7

hourly_wage

double

小时工资

8

working_hours

double

工作时长

9

deduction_amount

double

扣除金额

10

reward_amount

double

奖励金额

11

actual_issuance

double

实际发放

12

release_date

date

发放日期

13

remarks

text

65535

备注

14

create_time

datetime

创建时间

15

update_time

timestamp

更新时间

16

source_table

varchar

255

来源表

17

source_id

int

来源ID

18

source_user_id

int

来源用户

表 4-13-repair_order(维修订单)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

repair_order_id

int

维修订单ID

2

order_number

varchar

64

订单编号

3

license_plate_number

varchar

64

车牌号

4

vehicle_cover

varchar

255

车辆封面

5

vehicle_name

varchar

64

车辆名称

6

vehicle_specifications

varchar

64

车辆规格

7

vehicle_model

varchar

64

车辆型号

8

owner_user

int

车主用户

9

user_name

varchar

64

用户姓名

10

phone_number

varchar

16

手机号码

11

repairman

int

维修员

12

maintenance_date

date

维修日期

13

part_name

varchar

64

零件名称

14

part_specifications

varchar

64

零件规格

15

unit_price_of_parts

varchar

64

零件单价

16

quantity_used

double

使用数量

17

total_payments

double

支付总额

18

pay_state

varchar

16

支付状态

19

pay_type

varchar

16

支付类型: 微信、支付宝、网银

20

create_time

datetime

创建时间

21

update_time

timestamp

更新时间

22

source_table

varchar

255

来源表

23

source_id

int

来源ID

24

source_user_id

int

来源用户

表 4-14-reservation_information(预约信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

reservation_information_id

int

预约信息ID

2

order_number

varchar

64

订单编号

3

license_plate_number

varchar

64

车牌号

4

vehicle_cover

varchar

255

车辆封面

5

vehicle_name

varchar

64

车辆名称

6

vehicle_specifications

varchar

64

车辆规格

7

vehicle_model

varchar

64

车辆型号

8

owner_user

int

车主用户

9

user_name

varchar

64

用户姓名

10

phone_number

varchar

16

手机号码

11

appointment_date

date

预约日期

12

car_problems

text

65535

汽车问题

13

examine_state

varchar

16

审核状态

14

examine_reply

varchar

16

审核回复

15

maintenance_task_limit_times

int

分配任务限制次数

16

create_time

datetime

创建时间

17

update_time

timestamp

更新时间

18

source_table

varchar

255

来源表

19

source_id

int

来源ID

20

source_user_id

int

来源用户

表 4-15-schedule(日程管理)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

schedule_id

smallint

日程ID

2

content

varchar

255

日程内容

3

scheduled_time

datetime

计划时间

4

user_id

int

用户ID

5

create_time

datetime

创建时间

6

update_time

datetime

更新时间

表 4-16-score(评分)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

score_id

int

评分ID

2

user_id

int

评分人

3

nickname

varchar

64

昵称

4

score_num

double

评分

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

7

source_table

varchar

255

来源表

8

source_field

varchar

255

来源字段

9

source_id

int

来源ID

表 4-17-upload(文件上传)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

upload_id

int

上传ID

2

name

varchar

64

文件名

3

path

varchar

255

访问路径

4

file

varchar

255

文件路径

5

display

varchar

255

显示顺序

6

father_id

int

父级ID

7

dir

varchar

255

文件夹

8

type

varchar

32

文件类型

表 4-18-user(用户账户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

user_id

int

用户ID

2

state

smallint

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

3

user_group

varchar

32

所在用户组

4

login_time

timestamp

上次登录时间

5

phone

varchar

11

手机号码

6

phone_state

smallint

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

7

username

varchar

16

用户名

8

nickname

varchar

16

昵称

9

password

varchar

64

密码

10

email

varchar

64

邮箱

11

email_state

smallint

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

12

avatar

varchar

255

头像地址

13

open_id

varchar

255

针对获取用户信息字段

14

create_time

timestamp

创建时间

表 4-19-user_group(用户组)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

group_id

mediumint

用户组ID

2

display

smallint

显示顺序

3

name

varchar

16

名称

4

description

varchar

255

描述

5

source_table

varchar

255

来源表

6

source_field

varchar

255

来源字段

7

source_id

int

来源ID

8

register

smallint

注册位置

9

create_time

timestamp

创建时间

10

update_time

timestamp

更新时间

第5章
系统实现

5.1普通用户模块的实现

5.1.1用户注册界面

用户注册模块为新用户提供便捷的账户创建流程,用户需要填写必要的个人信息并选择合适的用户名和密码。通过简洁的表单设计,收集用户的必要信息,如用户名、密码、邮箱或手机号等,并进行输入验证以确保数据准确性。用户注册界面如下图所示。

图5-1 用户注册界面  

5.1.2用户登录界面

用户登录模块为前台用户提供安全快捷的访问方式。登录页面设计简洁明了,用户只需输入用户名及密码即可完成身份验证。系统采用验证码进行用户认证,支持多因素认证增强安全性。登录成功后,用户将被重定向至系统首页页面。对于忘记密码的用户,提供了找回密码功能,通过邮箱或手机号接收重置链接,保障账户安全。用户登录界面如下图所示。

图5-2 用户登录界面

5.1.3汽车登记管理界面

汽车登记管理模块旨在提供一个用户友好的界面,使用户能够方便快捷地添加和管理自己的汽车信息。此外,用户还可以随时查看已登记的汽车详情,对信息进行修改更新,确保数据的准确性和及时性。汽车登记添加界面如下图所示。

图5-3 汽车登记添加界面

5.1.4维修订单管理界面

维修订单管理模块提供了一个透明且易于操作的平台来跟踪其维修服务的状态。用户可以通过此模块查看所有与自己相关的维修订单列表,每个订单条目清晰展示了维修项目的描述、预计费用、当前状态等关键信息。维修订单管理界面如下图所示。

图5-7 维修订单管理界面

5.2维修人员功能模块的实现

5.2.1维修任务管理界面

维修人员的维修任务管理模块专注于提供一个直观的工作平台,以有效处理和监控所有的维修任务。在此模块中,维修人员首先能查看分配给自己的所有维修任务列表,每个任务条目详细列出了车辆信息、客户要求及预计完成时间等。对于每个任务,维修人员可以更新其状态,并添加详细的维修记录和费用估算。维修任务审核界面如下图所示。

图5-9 维修任务审核界面

5.2.2零件信息管理界面

零件信息管理模块旨在简化和优化零件库存的操作流程。通过此模块,维修人员能够轻松查看现有零件的库存详情,包括零件名称、型号、数量及存放位置等信息。在需要时,他们可以直接从系统中申请零件补充或是调整库存数据,比如当有新的零件入库或旧零件被使用后减少库存量。零件信息管理界面如下图所示。

图5-9 零件信息管理界面

5.2.3发放工资管理界面

发放工资管理模块主要用于协助管理人员处理员工薪资相关事务。在这个模块中,维修人员可以查看个人的工资单详情,包括基本工资、加班费、奖金等各项明细,并对任何疑问发起查询请求。发放工资管理界面如下图所示。

图5-9 发放工资管理界面

5.3管理员模块的实现

5.3.1管理员后台首页界面

管理员的后台首页提供了全面的数据概览,帮助快速掌握企业的运营状况。该页面集成了维修订单统计、零件库存状态以及员工工作量等关键指标的可视化图表,使得管理员能够一目了然地了解各项业务的进展和效率。通过这种集中化的信息展示方式,管理员可以迅速做出决策,并对异常情况进行及时干预。管理员后台首页界面如下图所示。

图5-10 管理员后台首页界面

5.3.2系统用户界面

系统用户模块允许管理员对普通用户、维修人员和管理员的账户信息进行管理,包括新增、编辑或删除用户账号,调整用户权限等级等操作。设计时注重用户体验与安全性,提供了详细的用户资料视图和便捷的操作界面。技术实现方面,集成了强大的搜索和过滤功能,便于管理员高效地查找特定用户并执行相应管理任务。界面如下图所示。

图5-11 系统用户界面

5.3.3汽车登记管理界面

管理员可以通过汽车登记管理模块高效地添加和审核新车辆的登记信息。此模块支持录入详细的车辆资料,并提供审核功能来验证信息的真实性和完整性。一旦审核通过,相关信息将被正式记录在系统内,为后续服务预约及维修任务安排提供准确的数据支持。汽车登记审核界面如下图所示。

图5-12 汽车登记审核界面

5.3.4预约信息管理界面

预约信息管理模块使管理员能够全面控制客户的预约请求,包括审核、分配合适的维修人员以及调整预约时间。此模块不仅提高了预约处理的透明度和效率,还确保了资源的有效利用和服务质量的提升。管理员还可以监控所有预约的状态变化,以便及时响应任何变更或取消请求。预约信息管理界面如下图所示。

图5-14 预约信息管理界面

分配维修任务界面如下图所示。

图5-15 分配维修任务界面

5.3.5零件信息管理界面

零件信息管理模块为管理员提供了管理和更新零件数据库的功能。通过这个模块,管理员可以添加新的零件信息、修改现有记录或删除不再需要的条目。此外,还能查看每种零件的详细信息,如供应商、价格和库存数量,这对于保证维修工作的顺利进行至关重要。添加零件信息界面如下图所示。

图5-17 添加零件信息界面

5.3.6零件入库管理界面

零件入库管理模块专注于处理新进货零件的入库流程。管理员在这里可以记录每次入库的具体详情,包括零件名称、数量、采购日期等信息。添加零件入库界面如下图所示。

图5-18 添加零件入库界面

5.3.7员工信息管理界面

员工信息管理模块让管理员能够轻松管理公司内部的所有员工信息。从基础的个人信息录入到职位变动、绩效评估等高级功能,该模块覆盖了员工职业生涯的各个方面。管理员可以通过此模块快速查找员工资料,进行必要的更新或调整,同时也便于人力资源规划和管理决策的制定。添加员工信息界面如下图所示。

图5-18 添加员工信息界面

第6章
系统测试

6.1测试目的

测试是为了验证系统在功能、性能、安全性和用户体验等方面的表现。通过测试,可以发现并修复潜在的问题和缺陷,确保系统的正常运行和稳定性。功能验证确保各项功能按设计要求运行;性能评估评估系统的响应时间和并发处理能力;安全检测确保系统的身份认证和数据传输安全;用户体验评估提升界面友好性和操作流程;兼容性测试确保系统在不同设备和浏览器上的兼容性。通过全面的测试,系统将更可靠地支持用户需求,并提供优质的用户体验。

6.2测试用例

对以下功能进行测试,包括包括用户注册、用户登录、汽车登记添加、维修任务分配、零件信息添加,具体测试用例如下表所示。

6-1 用户注册测试用例表

用例编号

用例名称

测试步骤

测试结果

6-1

用户注册

1. 输入有效注册信息,包括用户名、密码和联系方式。

注册成功,系统保存用户信息。

2. 点击注册按钮进行提交。

跳转至登录页面。

3. 检查是否成功注册并跳转至登录页面。

用户成功注册,可以登录使用。

6-2 用户登录测试用例表

用例编号

用例名称

测试步骤

测试结果

6-2

用户登录

1. 输入正确用户名和密码。

登录成功,系统验证通过。

2. 点击登录按钮进行验证。

跳转至用户首页。

3. 检查是否成功登录并跳转至用户首页。

用户成功登录,进入用户首页。

6-3 汽车登记添加测试用例表

用例编号

用例名称

测试步骤

测试结果

6-3

汽车登记添加

1. 点击汽车登记

显示所有汽车登记列表。

2. 进入详情页浏览

展示汽车登记详情页

3. 检查是否显示汽车登记是否正常展示

汽车登记展示正常

6-4 维修任务分配测试用例表

用例编号

用例名称

测试步骤

测试结果

6-4

维修任务分配

1. 点击维修任务管理

显示所有维修任务列表。

2. 管理员进入详情页浏览,分配维修任务给维修人员

展示维修任务详情页,成功分配

3. 检查是否显示维修任务是否成功分配

维修任务分配正常

6-5 零件信息添加测试用例表

用例编号

用例名称

测试步骤

测试结果

6-5

零件信息添加

1. 进入后台零件信息管理界面,点击添加按钮

显示零件信息添加页面

2. 正确填写并提交相关信息

信息填写完整准确。

3. 检查是否提交成功,并检查零件信息是否成功添加至平台。

零件信息成功添加至平台。

6.3测试结果

经过对用户注册、用户登录、汽车登记添加、维修任务分配、零件信息添加等功能的测试,系统表现稳定,用户注册流程顺畅,登录验证准确,汽车登记添加、维修任务分配、零件信息添加功能有效。各项功能符合预期,用户可以顺利注册登录,选择所需汽车登记进行浏览。系统运行良好,用户体验良好,功能完善。

  

通过汽车修理管理系统的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。

目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。

本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。

参考文献

  1. 陈敬宗.计算机软件Java编程特点与技术应用分析[J].中国信息界,2025,(01):162-164.
  2. 柯灵.Java编程语言在计算机软件开发中的应用与问题处理探析[J].电脑知识与技术,2024,20(27):45-47.
  3. 王志亮,纪松波.基于SpringBoot的Web前端与数据库的接口设计[J].工业控制计算机,2023,36(03):51-53.
  4. 李兴华,马云涛.Spring开发实战[M].人民邮电出版社:202303.381.
  5. 李艳杰.MySQL数据库下存储过程的综合运用研究[J].现代信息科技,2023,7(11):80-82+88.
  6. 肖睿,李鲲程,范效亮,等.MySQL数据库应用技术及实践[M].人民邮电出版社:202206.228.
  7. 黄维.基于B/S模式的虚拟网络实验室安全管理体系分析[J].信息系统工程,2024,(05):4-7.
  8. 张宇薇.HTML5在Web前端开发中的应用[J].集成电路应用,2024,41(04):274-276.
  9. NAPA AUTOPRO Advises on Streamlining the Vehicle Maintenance Process[J].M2 Presswire,2025,
  10. Li L .Study on optimization of water use efficiency in electric vehicle maintenance process in sustainable green environment[J].Journal of Sol-Gel Science and Technology,2024,(prepublish):1-9.
  11. 黄应杰.汽车4S店全面预算管理现存问题及对策探讨[J].中国乡镇企业会计,2024,(09):127-129.
  12. 马丕军,杜松旌.信息化管理在汽车维修保养中的应用探讨[J].汽车维护与修理,2024,(17):66-69.
  13. 潘星驰.基于业务内容的汽车故障诊断与作业系统研究[J].内燃机与配件,2024,(03):60-62.
  14. 黄晓东.汽车4S店配件库存管理的挑战与策略[J].汽车维修与保养,2024,(02):62-63.
  15. 蒋志林.汽车维修信息化平台的建设与应用研究[J].汽车画刊,2024,(01):125-127.
  16. 范良风.汽车维修企业如何提升客户预约成功率[J].汽车维护与修理,2023,(13):9-12.
  17. 何晨.H汽车维修企业的服务质量评价与提升策略研究[D].浙江工商大学,2023.
  18. 赵杰.“智慧车服平台”预约模块的设计与实现研究[J].装备制造技术,2022,(06):124-127.
  19. 刘宇菁.G汽车修理企业材料采购管理优化研究[D].中南财经政法大学,2022.
  20. 苏小伟.基于SpringBoot的汽车维修企业智能化管理系统的设计与实现[D].北京交通大学,2022.


致  谢

眨眼之间,大学生活就要结束了。在本文的最后,我要感谢我和蔼可亲的导师、团结有爱的同学的帮助和鼓励。此刻,我找不到感谢之词可以用来表达我最深切的感激之情。尤其感谢我的指导老师,在选题的过程中与我进行了深入的交流,在毕业设计期间给我提供了一些指导。四年的学习生活让我受益良多,老师们的丰富的学术知识、认真负责的学习态度让我受益匪浅。在此,我深深地感谢那些曾经给予我帮助和指导的老师!

我的论文得益于许多学者的贡献,他们的研究成果为我提供了宝贵的指导,使我能够更好地完成这篇文章。感谢我的同学和朋友在我的写作以及排版过程中给予热情的帮助,才使得我比较顺利的完成了这篇论文。

感谢大学里遇见的朋友,你们在我这四年里留下无数的温暖和快乐,让我对这个校园多了一份留念。最后,感谢我的父母、辅导员、班长,以及室友们对我大学生活上的关心和理解,让我能保持乐观和追求我所热爱的。尽管我的能力有限,但我仍然尽力去完善这篇论文,并且诚挚地希望各位老师和学友能够给予宝贵的指导与意见!


附 录

系统关键代码

登录代码如下:

  /**

     * 登录

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

        }

    }

注册代码如下:

      /**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

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

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

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

}  

找回密码代码如下:

 /**

     * 找回密码

     * @param form

     * @return

     */

    @PostMapping("forget_password")

    public Map<String, Object> forgetPassword(@RequestBody User form,HttpServletRequest request) {

        JSONObject ret = new JSONObject();

        String username = form.getUsername();

        String code = form.getCode();

        String password = form.getPassword();

        // 判断条件

        if(code == null || code.length() == 0){

            return error(30000, "验证码不能为空");

        }

        if(username == null || username.length() == 0){

            return error(30000, "用户名不能为空");

        }

        if(password == null || password.length() == 0){

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

        }

        // 查询用户

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

        query.put("username",username);

        List list = service.selectBaseList(service.select(query, service.readConfig(request)));

        if (list.size() > 0) {

            User o = (User) list.get(0);

            JSONObject query2 = new JSONObject();

            JSONObject form2 = new JSONObject();

            // 修改用户密码

            query2.put("user_id",o.getUserId());

            form2.put("password",service.encryption(password));

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

            return success(1);

        }

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

    }

修改密码代码如下:

 /**

     * 修改密码

     * @param data

     * @param request

     * @return

     */

    @PostMapping("change_password")

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

        // 根据Token获取UserId

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

        Integer userId = tokenGetUserId(token);

        // 根据UserId和旧密码获取用户

        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,"密码修改失败!");

    }

增删查改代码如下:

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

    }

    @PostMapping("/set")

@Transactional

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

        service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

        return success(1);

    }

图片/文件/视频等的上传方法通过MultipartFile,代码如下:

   @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, "上传失败");

    }

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值