校园自助洗衣系统面向校园公共洗衣设备的使用管理。用户查看洗衣机编号、每小时价格及当前状态,选择设备并填写使用时长,系统计算费用、扣除账户余额并保存预约。管理员维护设备资料、用户和预约记录,同时发布公告、回复使用过程中的留言。
项目采用 SSM 与 JSP,业务集中在设备、用户和预约三类数据之间。它适合用来学习设备状态切换、按时长计费、余额检查和个人记录查询,配套提供源码、数据库、论文及任务书与开题资料。
一、项目概况
| 项目名称 | 校园自助洗衣系统 |
| 资源编号 | SSM091 |
| 主要角色 | 管理员、用户 |
| 后端技术 | Java、Spring、Spring MVC、MyBatis-Plus |
| 页面与数据库 | JSP、JavaScript、MySQL |
| 主要模块 | 洗衣机资料、设备预约、时长计费、用户余额、留言、系统公告 |
二、设备资料与使用状态
每台洗衣机保存编号、每小时价格、设备状态和照片。管理员从设备列表新增、修改或删除资料,新建设备默认进入未使用状态;用户在同一类列表中查看设备信息,找到可使用的洗衣机后进入预约操作。
设备状态通过字典值展示为中文,列表将编号、价格、状态和照片排列在一起,方便比较。页面按状态控制预约入口,已使用的设备与可预约设备能够区分显示,适合展示公共设备管理的基础界面。

三、预约计费与账户扣款
用户预约时提交设备编号和使用小时数,后端读取设备单价,并查询当前登录用户的账户。费用按照“小时数 × 每小时价格”计算,余额不足时返回提示;满足条件后更新账户余额、将设备标记为使用中,并写入预约记录。
预约记录保存设备、用户、预约时间、使用小时数和总价。源码中的时长条件实际允许 1 至 9 小时,达到 10 小时即会被拒绝。这个流程把计算放在后端,便于学习如何依据设备资料生成费用,而不是直接采用页面传来的总价。
同一用户与同一设备之间已有预约时,系统会提示存在相同记录。个人预约列表按登录用户编号筛选,用户可以核对自己预约的设备、时长和费用,管理员则查看整体使用记录。

四、用户、留言与公告
用户资料包括名称、账号、头像、性别、手机号、余额和身份信息。管理员维护账号资料,用户在个人中心查看或修改自己的信息。余额用于预约扣费,是业务数据中的金额字段,学习接入真实充值时可继续增加充值订单、流水和回调校验。
留言记录包含留言内容、留言人、时间、回复人、回复内容和回复时间。用户可以反馈设备使用问题,管理员从留言管理入口跟进处理。系统公告则按标题、类型、内容和日期组织信息,用于发布设备维护、服务安排等通知。
五、技术结构与扩展重点
工程按设备、预约、用户、公告和留言划分控制器、服务与实体。JSP 页面负责列表和表单,后端通过 MyBatis-Plus 读写数据库,设备与预约表使用关联字段连接,列表查询再展示设备编号和用户名称。
核心预约逻辑集中在设备控制器的 subscribe 方法,可以沿着读取设备、检查余额、计算费用和写入记录的顺序阅读。扩展多人同时预约时,应在后端再次检查设备状态,并把扣款、占用设备与创建预约放入同一事务,避免并发请求造成重复占用。
取消预约的现有处理会释放设备并删除预约记录,但没有同步返还已扣余额。若继续完善,可保留订单历史,增加取消状态与退款流水。设备启停也可以作为独立接口接入,让网页中的使用状态与实际机器状态保持一致。
六、部署入口与验证顺序
主工程位于 xiaoyuanxiyiji。先创建 MySQL 数据库并导入 db.sql,修改资源目录中的连接配置,再按 Maven Web 工程部署到兼容的 Tomcat。页面位于 src/main/webapp/jsp,需要检查项目访问路径与页面请求地址是否一致。
验证时先维护一台未使用设备及具有余额的测试用户,提交指定时长的预约,核对总价、用户余额和设备状态。再分别测试余额不足、重复预约和取消预约,最后检查公告显示及留言回复,能够覆盖主要业务分支。
七、配套资料清单
- 项目源码:
xiaoyuanxiyiji,包含 Java 后端、JSP 页面及静态资源。 - 数据库:
db.sql。 - 设计文档:
论文.doc、任务书+开题.docx。 - 运行说明:
说明文档.txt。
会员赠送权益
黄金会员自选 2 个项目,钻石会员累计自选 5 个项目;一次性赠送,不按天恢复。已领取项目可重复访问。
黄金升级钻石补足总额度;续费不重复赠送。每位付费会员共享有一次本地部署协助。








