基于SpringBoot的校园智慧报修系统的设计与实现
作者: 游晶 邱淑丽 李敬文
关键词:智慧报修;SpringBoot;Java;设计与实现
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2023)32-0050-03
0 引言
随着新一代信息技术革命的不断深入,社会各行各业呈现出数字化、网络化、智能化发展态势,现代信息化技术在各领域得到了广泛应用。《中国教育现代化2035》中明确提出,“建设智能化校园、统筹建设一体化、智能化教学、管理与服务平台。”[1]校园智慧报修作为智慧校园建设的重要组成部分,在校园信息化管理中占有十分重要的地位。
早期学校师生进行电脑、网络、水电、设备等各种故障报修,都是通过电话上报、手动记录的方式。用户需要通过电话与维修人员取得联系,填写纸质申请表,处理故障后登记处理结果。这种管理方式存在诸多问题,如管理工作量大、维修周期长、维修记录易丢失[2]等,而且当工作人员外出办公、办公室无人时,会出现故障漏报的情况,影响正常办公。
针对这些问题,本文提出校园智慧报修系统。通过此系统,用户不用下载软件,通过Web进行实时报修,提交故障申请,系统自动推送通知到维修人员,方便维修人员迅速赶到现场进行处理,故障处理完成后,用户对服务进行评价和反馈。
1 系统设计
1.1 系统架构设计
本系统采取B/S架构开发,前后端分离方式,前端采用html5+CSS3+jQuery+BootStrap,后端采用Spring⁃Boot框架,通过MyBatis访问MySQL数据库接口。
BootStrap 是一个基于html、CSS、JavaScript 的框架[3],具有简单、灵活的特性,拥有样式库、组件和插件,大大减少开发者的工作[4]。
SpringBoot[5]框架继承了Spring框架的优良特性,并改善了Spring框架的弊端,它与传统的SpringMVC框架相比,SpringBoot化繁为简,简化了复杂的配置文件,包括Web.xml、Spring配置、MyBatis配置等,采用大量默认的配置来简化开发过程,大大降低了项目搭建的复杂度。
用户访问前端页面,客户端根据业务需要,通过Ajax 发送请求,controller 层调用相应的方法处理请求,然后service层根据业务逻辑进行处理,最后通过mapper层的方法,与数据库进行交互,实现对数据库的增删改查操作,即:Controller→service接口→servi⁃ceImpl 接口实现→dao 接口→mapper. xml→DB 数据库。
1.2 系统功能设计
用户通过浏览器打开智慧报修系统,登录,进入故障填报页面,选择故障类别,填写报修人、报修地点、联系电话、故障描述等详细故障信息,保存并提交。根据不同的故障类型,系统自动发送故障单至对应的维修人员。维修人员登录系统后,收到通知提醒,查看待处理报修单,进行处理,并在报修单上填写处理结果。处理结束后,用户终结报修单,填写反馈意见,形成闭环。
流程实时跟踪,信息高效推送。通过此系统,管理员还可以在后台增加、修改、删除故障类型,以及每种故障对应的维修人员,不需要更改代码,具有良好的扩展性。
智慧报修系统分三种角色:管理员模块、普通用户模块、维修人员模块。普通用户模块具有个人信息管理、故障报修、反馈故障处理结果、报修记录查询的功能;维修人员模块具有修改个人信息、故障单受理、受理记录查询的功能;管理员模块具有修改个人信息、管理用户、管理维修人员、管理角色、管理故障类型、故障单管理以及查看故障单统计报表的功能。系统功能结构如图2所示。
1.3 数据库设计
1)实体E-R图
智慧报修系统E-R图如图3所示:
2)数据表
根据E-R图转换关系数据库。以故障单表tb_re⁃pair为例,该表包含以下几个基本字段,表字段id为自增序号,repair_No是报修单号,为该表主键,唯一标示每个记录单;stat 标示故障单状态。表创建SQL 语句为:
CREATE TABLE `tb_repair` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`repair_No` bigint(20) NULL DEFAULT NULL COMMENT '报修单id',
` repair_name` varchar(500) NULL DEFAULT NULL COMMENT '故障名称',
` department` varchar(500) NULL DEFAULT NULL COMMENT '报修部门',
`type` int(4) NULL DEFAULT NULL COMMENT '故障类型',
`detail` varchar(500) NULL DEFAULT NULL COM⁃MENT '故障详情',
`place` varchar (100) NULL DEFAULT NULL COM⁃MENT '维修地点',
`stat` int(4) NULL DEFAULT NULL COMMENT '状态1.已保存未提交2.暂未受理3.正在处理4.已处理' 5.已完成,
`create_id` bigint(20) NULL DEFAULT NULL COMMENT '报修人id',
`create_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报修人姓名',
`tel` bigint (20) NULL DEFAULT NULL COM⁃MENT '联系电话',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '报修时间',
`repairer_id` bigint(20) NULL DEFAULT NULL COMMENT '维修人id',
`repairer_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULLCOMMENT '维修人姓名',
`method` varchar (100) NULL DEFAULT NULL COMMENT '处理方法',
`result` varchar (100) NULL DEFAULT NULL COMMENT '反馈结果'
)
2 系统实现
2.1 Pom.xml 配置
pom文件是maven项目的核心文件之一,它是一个xml文件,包含项目的基本信息,描述项目如何构建,声明项目依赖等。pom文件的根元素是标签,根元素下需要配置groupId、artifactId和version等maven项目必需的元素,依赖项配置在标签下,定义项目所依赖的外部库。系统的pom文件部分代码如图4所示。
2.2 数据库连接池配置
系统采用Druid数据库连接池[6],它结合了C3P0、DBCP、Proxool等DB池的优点,功能强大,性能优秀。它需要在pom文件中引入依赖,然后配置application.properties文件,主要代码如下:
spring.datasource.type=com.alibaba.druid.pool.Dru⁃idDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring. datasource. url=jdbc: mysql://localhost: 3306/kjld? useUnicode=true&characterEncoding=utf8&useSSL=false&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=LDSG@123jx
2.3 权限管理
本系统权限是基于角色的访问控制,即用户-角色-权限[7],系统将用户与角色、角色与权限联合起来,每个用户对应一个角色,不同角色有不同的菜单权限,各类用户实现各自的业务逻辑,从而使权限的管理更加便利。控制层代码为:
2.4 故障单统计报表
在故障单统计报表界面,输入故障状态、报修时间、报修单位等,管理部门可以多维度地实时掌握故障处理的进度,了解故障原因、解决方法,统计各类故障报修情况,如图5所示。有利于高效地收集、跟进、解决各类故障,也便于以后针对此类问题作出快速反应,提高了工作效率和响应速度,提升服务质量,提高学校保障部门的管理水平。
3 结束语
本文介绍了智慧报修系统的详细设计方法,用户可以随时在线进行故障报修,不需要通过传统电话联系的方式,并能够实时了解报修状态,故障单处理完成后,用户填写意见,对报修进行评价,可以更加高效地进行故障登记、处理,提高报修效率和准确率,同时也有利于管理部门全面了解报修过程,从而优化服务质量,提高用户满意度,提升管理水平。