温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片!
摘要
本系统采用SpringBoot与Vue前后端分离架构,MySQL作为数据库,面向在校学生、浴室管理员两类角色。系统围绕学校公共浴室业务,包含浴室淋浴位管理、开放时间、在线预约、排队查看、洗浴计时计费、使用记录、通知公告、报修反馈、数据统计等功能模块。学生在线查看浴室实时使用情况,预约洗澡时段,到店扫码启动淋浴,系统自动计时计费;管理员维护淋浴位状态、管理开放时间、处理学生报修、统计浴室使用数据。系统替代传统排队等候、人工计费模式,实现浴室使用预约、状态实时查看、自动计费,减少学生排队等待时间,提升浴室管理效率。
技术栈
后端采用SpringBoot作为核心框架,结合MyBatis-Plus简化数据库操作,快速实现淋浴位、预约、使用记录等业务数据持久化。MySQL存储用户、淋浴位、预约、消费记录、通知等业务数据,Redis缓存淋浴位实时状态、排队人数,缓解数据库压力。前端使用Vue搭配Element Plus组件库搭建页面,ECharts实现浴室使用高峰、消费统计等数据可视化。项目通过Maven管理依赖,JWT实现身份认证,区分学生与管理员权限。集成EasyExcel导出消费与使用记录,OSS上传报修图片,全局异常处理器统一处理接口异常。整套技术方案成熟稳定,便于后续拓展余额充值、洗浴时长提醒等功能,适合校园后勤类毕设项目开发。
具体实现截图

## 系统设计
系统采用表现层、业务逻辑层、数据访问层三层架构,按业务划分为六大模块。用户模块实现注册登录、余额查询、消费记录;淋浴位模块维护淋浴位编号、状态、位置;预约模块支持学生选择时段预约、查看排队人数;计费模块通过淋浴启动与关闭自动计时,按分钟扣费;报修模块接收淋浴位故障上报、管理员处理;后台管理模块管理开放时间、统计浴室使用数据。两类角色权限相互隔离,学生预约洗澡、查看消费记录;管理员维护淋浴位与处理报修。各模块低耦合,通过接口交互,便于后续拓展余额充值、高峰提醒等功能。
## 核心代码
```java
@RestController
@RequestMapping("/bathroom")
public class BathroomController {
@Autowired
private IShowerService showerService;
// 查询淋浴位实时状态
@GetMapping("/showerStatus")
public Result showerStatus() {
List<Shower> list = showerService.list(Wrappers.<Shower>lambdaQuery()
.orderByAsc(Shower::getNo));
return Result.success(list);
}
// 学生启动淋浴
@PostMapping("/startShower")
public Result startShower(@RequestParam Long userId, @RequestParam Long showerId) {
boolean flag = showerService.startShower(userId, showerId);
return flag ? Result.success("淋浴已启动,开始计时计费") : Result.error("启动失败,该淋浴位正在使用");
}
// 结束淋浴,自动计费
@PostMapping("/stopShower")
public Result stopShower(@RequestParam Long showerId) {
BigDecimal cost = showerService.stopShower(showerId);
return Result.success("洗浴结束,本次消费:" + cost + "元");
}
}
数据库设计
数据库基于 MySQL 设计,根据浴室业务实体建立数据表,设置关联关系保证数据完整性。核心数据表包括用户表 user,存储账号、密码、学号、余额、创建时间;淋浴位表 shower,记录淋浴位编号、位置、使用状态;预约表 reserve,关联学生 id、淋浴位 id,记录预约时段、状态;消费记录表 consume,关联学生 id,记录消费金额、时长、消费时间;报修表 repair,关联淋浴位 id,记录故障描述、处理状态;通知表 notice,记录标题、内容、发布时间。所有数据表统一设置自增主键,添加创建时间、更新时间字段,针对淋浴位状态、消费记录查询建立索引,优化查询性能,减少数据冗余,满足浴室管理数据存储需求。
系统测试
系统采用单元测试结合黑盒功能测试开展测试工作。单元测试重点对淋浴启动冲突检测、自动计费、余额扣减等核心逻辑编写测试用例,验证并发启动防占用、金额计算是否正确。黑盒测试模拟学生和管理员两类角色,依次测试登录、查看淋浴位状态、预约洗澡、启动淋浴、结束计费、报修、后台管理等完整业务流程。同时覆盖异常场景,启动他人占用淋浴位、余额不足启动、重复结束淋浴、空报修提交、非法参数等,记录接口返回、页面展示与数据变化,及时修复发现的缺陷。经过多轮测试,系统运行稳定,计费准确,权限控制有效,数据读写无误,页面交互流畅,满足学校浴室管理业务需求。
网硕互联帮助中心






评论前必须登录!
注册