宿舍报修管理系统(第一周)
一、前言
用人话来解释,就是大一上 C 语言的课设,当时 C 语言的课设是把数据存储在本地
.txt文件中,现在改为存在数据库中了
本周为一轮考核第 1 周,重点在 MySQL 基础、采用框架操作数据库(纯后端 CRUD 接口实现),通过控制台作为入口,核心逻辑分层清晰、可迁移到 Web 项目
一轮考核将围绕“宿舍报修管理系统”展开,逐步搭建你的第一个前后端分离项目,考核期间允许使用 AI 及框架
本周学习
- Maven 项目创建与依赖管理
- MySQL 建表与基础 SQL
- MyBatis / MyBatis-Plus / MyBatis-Flex(任选其一)操作数据库
二、业务背景与场景
大冬——天,卤肉汤师兄正在宿舍洗澡
“一想到你我就~”wu! 呼~!(发出吉伊的尖锐爆鸣声)
这水龙头怎么又不出水了???
报修系统怎么用不了???
只能靠 QQ 群叫号维修???
2.1 业务需求
你需要实现一个“宿舍报修管理系统”,使用 Maven 创建普通项目,使用 MySQL 数据库管理报修信息
- 本期要求:不涉及前端,通过 IDE 终端(控制台)进行交互即可
- 使用Mybatis/Mybatis-Plus/Mybatis-Flex(任选其一)系列框架完成数据的增删改查
- 鼓励结合自己对“报修”场景的理解,主动设计并实现能提升用户体验的功能(例如:报修优先级、消息通知、维修评价等,不限于此)
- 截至时间:
- 2026/03/22,周日晚,上传项目代码到 github 仓库,并发送链接给对应的师兄师姐
2.2 角色权限设计
角色
- 学生(Student):学号前缀为
3125或3225(示例:3125004123) - 维修人员/管理员(Admin):工号前缀为
0025(示例:0025004123)
公共功能
- 用户注册(选择角色,学号/工号需正则校验)
- 用户登录
- 修改密码
- 查看自己的基本信息
学生功能
- 绑定宿舍:首次登录后绑定宿舍楼栋和房间号
- 创建报修单:选择设备类型,填写问题描述,自行设计报修单状态(如:“已完成”)
- 查看自己的报修记录:列表展示,可查看详情
- 取消报修单
管理员功能
- 查询所有报修单(支持按状态筛选)
- 查看单个报修单详情
- 修改报修单状态(并更新最后修改时间)
- 删除报修单
三、终端交互示例
以下为基于终端的交互示例,你可以直接粘贴复制使用
3.1 登录界面
Plain
===========================
🏠 宿舍报修管理系统
===========================
1. 登录
2. 注册
3. 退出
请选择操作(输入 1-3):3.2 用户注册
Plain
===== 用户注册 =====
请选择角色(1-学生,2-维修人员):
> 1
请输入学号(前缀3125或3225):
> 3125004123
请输入密码:
> qsrwb123
请确认密码:
> qsrwb123
注册成功!请返回主界面登录。3.3 学生登录
Plain
===== 用户登录 =====
请输入账号:
> 3125004123
请输入密码:
> ******
登录成功!角色:学生3.4 学生菜单(首次登录后可能提示绑定宿舍)
Plain
===== 学生菜单 =====
1. 绑定/修改宿舍
2. 创建报修单
3. 查看我的报修记录
4. 取消报修单
5. 修改密码
6. 退出
请选择操作(输入 1-6):3.5 管理员菜单
Plain
===== 管理员菜单 =====
1. 查看所有报修单
2. 查看报修单详情
3. 更新报修单状态
4. 删除报修单
5. 修改密码
6. 退出
请选择操作(输入 1-6):四、进阶挑战
- 保持良好的代码风格:代码采用三层架构分层,类、方法命名规范,将一些硬编码的字段采用常量类或枚举类
- 密码实现加密处理(加密方式自选)
- 根据自己对实际业务的理解增加功能,完善用户体验
五、下周预告
SpringBoot 的学习使用
- 了解 Spring 三大核心思想:IOC、DI、AOP
- 使用 Maven 创建 SpringBoot 项目,并迁移第一周的业务代码
- 学习 RESTful 接口规范并进行接口开发
- 了解 HTTP 响应体结构、常见 HTTP 状态码