Skip to content

宿舍报修管理系统(第一周)

一、前言

用人话来解释,就是大一上 C 语言的课设,当时 C 语言的课设是把数据存储在本地.txt文件中,现在改为存在数据库中了

本周为一轮考核第 1 周,重点在 MySQL 基础、采用框架操作数据库(纯后端 CRUD 接口实现),通过控制台作为入口,核心逻辑分层清晰、可迁移到 Web 项目

一轮考核将围绕“宿舍报修管理系统”展开,逐步搭建你的第一个前后端分离项目,考核期间允许使用 AI 及框架

本周学习

  1. Maven 项目创建与依赖管理
  2. MySQL 建表与基础 SQL
  3. MyBatis / MyBatis-Plus / MyBatis-Flex(任选其一)操作数据库

二、业务背景与场景

大冬——天,卤肉汤师兄正在宿舍洗澡

“一想到你我就~”wu! 呼~!(发出吉伊的尖锐爆鸣声)

这水龙头怎么又不出水了???

报修系统怎么用不了???

只能靠 QQ 群叫号维修???

2.1 业务需求

你需要实现一个“宿舍报修管理系统”,使用 Maven 创建普通项目,使用 MySQL 数据库管理报修信息

  • 本期要求:不涉及前端,通过 IDE 终端(控制台)进行交互即可
    • 使用Mybatis/Mybatis-Plus/Mybatis-Flex(任选其一)系列框架完成数据的增删改查
    • 鼓励结合自己对“报修”场景的理解,主动设计并实现能提升用户体验的功能(例如:报修优先级、消息通知、维修评价等,不限于此)
  • 截至时间:
    • 2026/03/22,周日晚,上传项目代码到 github 仓库,并发送链接给对应的师兄师姐

2.2 角色权限设计

角色

  1. 学生(Student):学号前缀为 31253225(示例:3125004123)
  2. 维修人员/管理员(Admin):工号前缀为 0025(示例:0025004123)

公共功能

  1. 用户注册(选择角色,学号/工号需正则校验)
  2. 用户登录
  3. 修改密码
  4. 查看自己的基本信息

学生功能

  1. 绑定宿舍:首次登录后绑定宿舍楼栋和房间号
  2. 创建报修单:选择设备类型,填写问题描述,自行设计报修单状态(如:“已完成”)
  3. 查看自己的报修记录:列表展示,可查看详情
  4. 取消报修单

管理员功能

  1. 查询所有报修单(支持按状态筛选)
  2. 查看单个报修单详情
  3. 修改报修单状态(并更新最后修改时间)
  4. 删除报修单

三、终端交互示例

以下为基于终端的交互示例,你可以直接粘贴复制使用

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

四、进阶挑战

  1. 保持良好的代码风格:代码采用三层架构分层,类、方法命名规范,将一些硬编码的字段采用常量类或枚举类
  2. 密码实现加密处理(加密方式自选)
  3. 根据自己对实际业务的理解增加功能,完善用户体验

五、下周预告

SpringBoot 的学习使用

  • 了解 Spring 三大核心思想:IOC、DI、AOP
  • 使用 Maven 创建 SpringBoot 项目,并迁移第一周的业务代码
  • 学习 RESTful 接口规范并进行接口开发
  • 了解 HTTP 响应体结构、常见 HTTP 状态码