一、项目简介
本项目是一套基于 Spring Boot 3 + Vue 3 + MySQL 的前后端分离家政预约服务平台,覆盖家政服务从浏览、预约、支付到评价的全流程业务闭环。系统采用前后端分离架构,后端提供 RESTful API,前端为单页应用(SPA),通过 JWT 进行身份认证,基于 RBAC 模型实现角色权限控制。
平台包含三个核心角色:普通用户(顾客)可浏览服务、在线预约、支付退款、发表评价;服务人员(工人)可接单、拒单、开始/完成服务并查看收入;管理员负责用户管理、服务人员审核、服务与分类管理、订单监管、评价审核及轮播图配置等后台运营工作。系统内置完整的订单状态机(待接单 → 已接单 → 服务中 → 已完成 / 已取消 / 已退款 / 已拒单),并提供订单进度时间线追踪机制,适合作为毕业设计、课程项目或企业级业务系统的二次开发基座。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3.x |
| ORM 框架 | MyBatis-Plus(分页插件、逻辑删除) |
| 权限认证 | JWT(拦截器校验,基于角色 ADMIN / WORKER / CUSTOMER 控制接口访问) |
| 前端框架 | Vue 3(Composition API + script setup) |
| 状态管理 | Pinia(存储用户登录态与用户信息) |
| UI 组件库 | Element Plus |
| 路由管理 | Vue Router 4(路由守卫控制页面访问权限) |
| 构建工具 | Vite |
| 数据库 | MySQL 8.x |
| 文件上传 | 本地磁盘存储(UUID 重命名,支持图片/文件上传) |
| 密码加密 | MD5(Hutool DigestUtil 工具类) |
三、功能模块
管理员端
- 仪表盘统计:展示平台核心运营指标,包括总用户数、服务人员数、待审核服务人员数、总订单数、已完成订单数、待接单数、服务中订单数、上架服务数、总收入(已支付订单金额合计)、平均评分、总评价数。
- 订单状态分布:按待接单、已接单、服务中、已完成、已取消、已退款、已拒单 7 种状态分别统计订单数量,便于掌握平台订单健康度。
- 用户管理:分页查询用户列表,支持按角色(顾客/服务人员)、账号状态、关键词(用户名/姓名/手机号)组合筛选;支持禁用/启用用户账号;支持管理员手动新增用户(默认密码 123456)。
- 服务人员审核:对待审核状态的服务人员账号进行审核,可审核通过或驳回(通过修改账号状态实现),确保入驻人员合规。
- 服务分类管理:新增/编辑服务分类,配置分类名称、图标、排序值、启用状态,控制前台分类展示。
- 服务项目管理:分页查询服务列表,支持按分类、状态、关键词筛选;新增服务需填写名称、分类、价格、计价单位、服务时长、封面图、描述;支持编辑服务信息及上架/下架操作。
- 订单管理:分页查询全平台订单,支持按订单状态、订单号/服务名称关键词筛选;可查看订单关联的客户与服务人员姓名;支持修改订单状态并填写取消原因。
- 评价管理:分页查询全平台评价,支持按审核状态筛选;查看评价对应的顾客、服务人员、服务项目;可审核通过或隐藏违规评价。
- 轮播图管理:新增/编辑/删除首页轮播图,配置标题、图片(支持本地上传)、跳转链接、排序值、启用状态,运营位灵活可控。
普通用户端
- 用户注册与登录:支持用户名密码注册登录;服务人员注册后需管理员审核通过方可登录;登录成功自动签发 JWT Token;手机号与身份证号在页面自动脱敏展示。
- 个人资料管理:查看/编辑真实姓名、手机号、头像、性别、地址、个人简介;支持原密码校验后修改登录密码。
- 服务浏览与检索:首页展示轮播图与推荐服务;服务列表页支持按分类筛选、关键词搜索(匹配名称/描述)、按价格升序/降序、评分、销量排序。
- 服务详情查看:展示服务名称、分类名称、封面图、价格、计价单位、服务时长、评分、累计下单量等完整信息。
- 在线预约下单:选择服务项目,填写预约时间、服务地址、联系人、联系电话、备注;系统自动生成订单号(ORD + 日期 + 随机数)并写入初始订单进度。
- 订单管理:查看我的订单列表(支持按状态筛选);订单详情展示完整进度时间线(已下单 → 已接单 → 服务中 → 已完成)、支付记录、服务人员信息。
- 订单取消:待接单/已接单状态下可申请取消并填写取消原因;服务中订单不可取消。
- 在线支付:支持微信/支付宝模拟支付,生成交易流水号,记录支付时间与金额;同一订单不可重复支付。
- 申请退款:对已支付订单可发起退款并填写退款原因,退款后订单状态自动变更为已退款。
- 评价服务:已完成订单可对服务人员进行评分(1-5 分)与文字评价;同一订单仅可评价一次。
- 我的评价:查看自己发表的评价列表,包含服务名称、服务人员姓名、评分、内容、评价时间。
服务人员端
- 待接单池:查看所有待接单订单(状态=待接单),展示客户信息、服务项目、预约时间、服务地址、订单金额。
- 接单操作:点击接单后订单状态变为已接单,自动写入进度"XX 已接单,将按时上门服务"。
- 拒单操作:可拒绝接单并填写拒绝原因,订单状态变更为已拒单。
- 开始服务:已接单订单可点击开始服务,状态变为服务中,写入进度"服务人员已到达,正在进行服务"。
- 完成服务:服务中订单可点击完成,状态变为已完成,记录完成时间,对应服务项目销量 +1,写入进度"服务已完成,感谢使用"。
- 我的订单:查看分配给我的订单列表(支持按状态筛选),可查看客户联系方式与详细服务地址。
- 收入统计:基于已完成订单的支付金额,汇总展示个人服务总收入。
- 服务评价:查看顾客对我的评价列表,包含评分、评价内容、对应的服务项目名称。
- 个人资料维护:编辑头像、技能标签、个人简介、服务经验介绍,完善个人专业形象。
四、项目总结
本项目技术选型主流且版本较新(Spring Boot 3 + Vue 3),前后端分离架构清晰,接口职责分明。后端基于 MyBatis-Plus 快速实现数据访问层,JWT + RBAC 保障接口安全;前端采用 Pinia 管理登录态、Vue Router 守卫控制页面权限,整体代码规范易读。业务上覆盖家政平台完整的订单生命周期与多角色协作流程,订单状态机设计严谨,进度时间线机制为业务追踪提供了良好示范。适合作为 Java 全栈学习者、毕业设计选题者以及需要快速搭建家政/上门服务类平台的开发者的参考源码与二次开发基座。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K313