系统亮点:AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价
一、项目概述
滑雪场管理系统采用前后端分离的 B/S 架构,由普通用户滑雪服务门户、教练工作区和管理员后台共同组成。系统以用户账号、教练、雪具及雪具类型、滑雪场地、预约时间段、预约订单、评价、钱包交易流水、公告、AI 对话会话与消息等数据为业务基础,围绕"资源浏览、时段预约、余额支付、现场核销、服务评价、运营分析、智能咨询"建立滑雪场服务闭环。普通用户可浏览场地、教练和雪具,选择可约时间段创建预约订单,完成余额支付、退款申请、核销码查看和服务评价,并通过 AI 助手获取滑雪相关咨询;教练可维护个人资料、配置可预约时段并查看本人预约及统计;管理员可统一维护平台用户、教练资质、场地、雪具、时间段、订单、评价、公告和交易流水,处理退款、核销及运营数据分析。
|---------|------------------------------------------------------------------------------------------------------------|
| 层级 | 主要技术与职责 |
| 前端应用 | Vue 3、Vite、Element Plus、Vue Router、Pinia、Axios、ECharts;提供用户端资源浏览、预约、钱包和 AI 对话页面,以及管理端的数据看板、资源维护、订单核销和统计页面。 |
| 服务端 | Spring Boot 3、Spring MVC、MyBatis-Plus、MySQL、Java 17;提供 REST 接口、条件分页、预约订单处理、数据统计、文件上传、Excel 导出与业务数据持久化能力。 |
| 认证与订单能力 | java-jwt、请求拦截器、定时任务;登录后签发 JWT,服务端识别当前用户身份;待支付订单超过 30 分钟自动取消并归还相应时间段容量。 |
| 智能与数据能力 | DeepSeek API、SSE、Apache POI、ECharts;用于滑雪知识流式问答、对话记录留存、业务列表导出,以及预约和交易数据可视化展示。 |
二、项目实现(部分截图)

2.1 用户
2.1.1 首页

2.1.2 订场地

2.1.3 预约场地

2.1.4 预约教练

2.1.5 租雪具

2.1.6 租雪具详情

2.1.7 AI问答

2.1.8 我的预约

2.1.9 我的钱包

2.2 教练
2.2.1 预约管理

2.2.2 评价管理

2.3 管理员
2.3.1 数据看板

2.3.2 雪具管理

2.3.3 场地管理

2.3.4 场地排班配置

2.3.5 教练排班配置

2.3.6 雪具预约配置

2.3.7 预约管理

2.3.8 交易流水

2.3.9 核销二维码

2.3.10 预约数据分析

三、核心功能与实现说明
3.1 三角色账号体系、JWT 识别与工作区划分
系统将账号划分为普通用户、教练和管理员三类角色。普通用户以场地浏览、教练预约、雪具租赁、订单支付和 AI 咨询为主要使用场景;教练负责维护个人从业资料、可预约时间段并查看本人服务订单;管理员负责平台账号、教练资质、场地、雪具、预约、评价、交易及公告等数据的维护。登录成功后,系统将用户身份签发为 JWT,前端在后续请求中通过 Authorization 请求头携带令牌,服务端拦截器解析令牌并写入当前用户上下文。前端路由根据当前角色将普通用户导向滑雪服务门户,将教练和管理员导向后台工作区,并由页面菜单组织不同身份的业务入口。
账号登录 -> 签发 JWT Token -> 前端保存并随请求携带 Authorization Token -> 服务端解析当前用户身份 -> 前端进入滑雪服务门户或后台工作区 -> 按角色访问对应业务数据
|--------|-----------------------------------------------------------------------------|
| 角色 | 主要使用范围 |
| 普通用户 | 注册登录后浏览滑雪场地、教练、雪具和公告,选择时间段创建预约,完成钱包充值、订单支付、退款申请、核销码查看和服务评价,并使用 AI 助手咨询滑雪知识。 |
| 教练 | 维护个人简介、擅长项目、资质等级、从业年限、收费标准和可预约时间段,查看与本人相关的预约订单及订单统计。 |
| 管理员 | 维护平台用户、教练、场地、雪具类型、雪具、预约时段、公告、评价和交易流水,处理退款、订单核销及查看预约、交易数据分析。 |
3.2 滑雪资源建档、分类维护与预约时段配置
平台以教练、雪具和滑雪场地构成可预约资源库。教练档案保存个人简介、擅长项目、资质等级、从业年限、联系方式、头像、课时价格、综合评分、预约统计和资质审核状态;雪具档案保存所属类型、品牌、规格、租赁价格、库存、封面、图集与介绍;场地档案保存难度等级、容纳人数、开放时间、价格、图片、简介和开放状态。管理员可维护雪具类型及上述资源信息,并为教练、雪具和场地配置日期、起止时间、可约数量、价格和启用状态等时间段信息。用户在前台通过列表和详情查看资源,选择可用时间段后进入预约确认页面。
管理员维护教练、雪具和场地资源 -> 配置资源所属日期与可预约时间段 -> 用户在前台按资源类型浏览列表 -> 打开详情查看价格、介绍和可约时段 -> 选择时间段及数量进入预约确认
|----------|------------------------------------------------------------------|
| 资源节点 | 系统处理结果 |
| 教练资源 | 保存教练擅长项目、资质等级、从业年限、价格和评分等服务信息,并以待审核、已通过、已驳回标识教练资质处理结果。 |
| 雪具资源 | 按雪具类型管理滑雪板、滑雪鞋、雪杖、护具和滑雪服等资源,保存品牌、规格、租赁价格、库存总量、可用库存及图文介绍。 |
| 场地资源 | 保存雪道难度、容纳人数、开放时间、价格、图片和场地介绍,并以开放、维护、关闭状态反映场地当前服务状态。 |
| 时段配置 | 以目标类型、目标资源、预约日期、开始时间、结束时间、最大可约数、已预约数、时段价格和启用标识组织可预约容量,为下单校验提供依据。 |
3.3 教练、雪具与场地一体化预约下单
系统使用统一预约订单承载教练预约、雪具预约和场地预约三类业务。用户从资源详情页选定时间段及数量后,系统校验时间段是否存在、是否启用以及剩余容量是否满足需求;校验通过后,根据时段单价和预约数量计算订单金额,生成订单编号并创建待支付订单,同时增加该时间段的已预约数量。订单关联下单用户、预约类型、目标资源、时间段、数量、订单金额、支付金额和后续状态信息,前台"我的预约"支持按状态查看订单,并提供支付、取消、申请退款、查看详情和核销码等操作入口。
用户浏览教练、雪具或场地 -> 选择可用时间段与数量 -> 校验启用状态和剩余容量 -> 计算预约金额并生成订单 -> 增加时间段已预约数 -> 用户在我的预约中继续支付、取消、退款或查看详情
|----------|-----------------------------------------------------|
| 预约环节 | 系统处理结果 |
| 目标识别 | 订单以教练预约、雪具预约、场地预约区分服务类型,并根据目标主键加载相应的名称、图片和资源信息。 |
| 容量校验 | 创建订单前检查时间段是否启用,并以最大可约数减去已预约数计算剩余容量;数量超出可约范围时拒绝创建订单。 |
| 金额计算 | 按时间段价格乘以预约数量计算订单金额,保存订单金额、实付金额和预约数量,形成后续支付与退款的金额基础。 |
| 订单状态 | 订单使用待支付、已支付、使用中、已完成、已取消、退款中、已退款和已评价标识预约服务的不同阶段。 |
3.4 钱包支付、退款处理与超时容量归还
用户可在个人钱包中进行充值并查询交易流水。支付订单时,系统校验订单仍为待支付状态、未超过支付时限且用户余额充足;校验通过后扣减钱包余额,写入关联订单的消费流水,记录支付方式和支付时间,并生成唯一核销码。用户可对符合条件的订单发起退款申请,管理员在预约管理页面处理同意或拒绝退款;同意退款后,系统向用户钱包退回相应金额并保存退款流水。系统每分钟检查待支付订单,创建时间超过 30 分钟的订单会自动取消,同时回退对应数量的时段已预约数,避免未支付订单长期占用服务容量。
用户钱包充值 -> 创建待支付预约订单 -> 校验余额并扣款 -> 生成消费流水、支付时间和核销码 -> 用户申请退款 -> 管理员同意或拒绝 -> 同意后退回余额并写入退款流水;超时未支付订单自动取消并释放容量
|----------|-----------------------------------------------------------|
| 交易节点 | 系统处理结果 |
| 钱包充值 | 用户账户保存当前余额,充值后新增交易流水并记录交易金额、余额变动结果及业务说明。 |
| 订单支付 | 支付前检查订单状态、30 分钟支付期限与钱包余额;支付成功后扣减余额,写入消费流水,更新订单支付状态并生成核销码。 |
| 退款审核 | 用户申请退款后订单进入退款中,管理员可同意或拒绝;同意后将退款金额返还至用户钱包,并将订单状态更新为已退款。 |
| 超时取消 | 定时任务每分钟扫描超过 30 分钟未支付的订单,自动记录取消时间与原因,并归还对应时间段的预约容量。 |
3.5 订单核销、服务完成与评价沉淀
订单支付成功后生成核销码,用户可在预约详情中查看核销信息。管理人员在核销管理中输入或扫描核销码,系统查询对应订单并校验当前状态,仅对已支付或使用中的订单执行核销;核销成功后将订单更新为已完成并记录完成时间。已完成订单支持用户提交评价,评价关联评价用户、评价目标类型、目标资源、预约订单、评分和评价内容。教练预约完成或评价数据变更后,系统重新汇总教练的预约数量、完成数量和平均评分,为教练详情和后台服务管理提供依据。
订单支付成功 -> 生成核销码 -> 用户查看预约详情中的核销信息 -> 管理端输入或扫码核销 -> 校验订单状态并完成订单 -> 用户提交评分与评价内容 -> 系统汇总更新教练服务数据
|----------|------------------------------------------------------|
| 服务节点 | 系统处理结果 |
| 核销码生成 | 订单完成支付时生成唯一核销码,作为用户到场后确认预约服务的凭据。 |
| 订单核销 | 管理员通过核销码查找订单,并校验订单处于已支付或使用中状态;核销成功后保存完成时间并将订单更新为已完成。 |
| 服务评价 | 用户可对已完成预约提交 1 至 5 分评分和文字评价,评价关联具体订单及教练、雪具或场地目标。 |
| 教练统计 | 教练预约完成或评价数据变化后,系统汇总该教练的预约数、完成数和平均评分,为服务展示和后台管理提供数据。 |
3.6 AI 滑雪助手、SSE 流式对话与会话留存
平台提供面向滑雪知识场景的 AI 智能助手。用户进入 AI 对话页面后可发起单轮或连续咨询,服务端在首次提问时创建对话会话,并使用首条用户消息生成会话标题。系统保存用户消息和 AI 回复消息,按会话维度加载历史记录;请求模型时保留最近 10 条消息作为上下文,调用 DeepSeek 对话接口并通过 Server-Sent Events 将生成内容实时转发至前端。完整回复生成后,系统将 AI 消息持久化并更新会话消息数量,使用户能够继续查看和追溯自己的滑雪咨询内容。
用户进入 AI 助手 -> 创建或复用个人对话会话 -> 保存用户提问 -> 读取近期历史消息构建上下文 -> 调用 DeepSeek 流式接口 -> SSE 实时推送回复内容 -> 保存完整 AI 回复并更新会话消息数量
|------------|-----------------------------------------------------------|
| 智能对话环节 | 系统处理结果 |
| 会话创建 | 首次提问时创建与用户关联的会话,并以用户消息前 20 个字符作为会话标题,便于后续识别咨询主题。 |
| 上下文组织 | 从当前会话读取最近 10 条历史消息,连同滑雪知识助手的系统提示词一起组织为模型请求上下文。 |
| 流式返回 | 服务端调用 DeepSeek 流式接口,将内容增量封装为 SSE 数据实时推送给前端,减少用户等待完整回答的时间。 |
| 消息留存 | 用户消息和完整 AI 回复均关联会话持久化保存,并在回复完成后重新统计会话消息数量。 |
3.7 ECharts 预约运营分析与交易数据统计
后台通过 ECharts 将预约与交易数据转换为可视化结果。数据看板汇总用户数、预约数、营收等核心数据,并展示预约类型、预约状态和近期业务趋势;预约数据分析围绕预约类型、订单状态、时间趋势等维度组织图表;交易分析围绕充值、消费、退款及后台调整等流水类型展示金额和数量变化。教练可结合与本人相关的预约订单查看服务数据,管理员则可通过图表和列表了解场地、雪具与教练服务的使用情况,为时间段配置、资源维护和退款处理提供参考。
用户预约、支付、退款和核销持续积累业务数据 -> 后端按预约与交易维度聚合 -> 返回图表所需的分类和数值 -> ECharts 在后台展示分布与趋势 -> 管理员和教练据此查看运营及服务表现
|----------|-------------------------------------------------|
| 统计模块 | 系统处理结果 |
| 数据看板 | 汇总平台用户数、预约数、营收等核心数据,并使用图表展示预约类型、预约状态和近期业务变化。 |
| 预约分析 | 按预约类型、订单状态和时间等维度统计教练、雪具、场地预约情况,展示预约服务结构和状态分布。 |
| 交易分析 | 对充值、消费、退款和管理员调整等交易流水进行统计,帮助后台查看钱包金额变化和订单资金流转情况。 |
| 教练服务数据 | 教练在本人工作区查看关联预约数据,结合完成订单和评价结果了解个人服务情况。 |
3.8 公告、文件上传、Excel 导出与平台业务闭环
平台支持公告发布与前台展示,管理员可维护标题、正文、发布时间和发布状态,用户可在公告列表及详情中获取雪场营业、场地维护和服务活动信息。图片上传能力可用于教练头像、雪具图片和场地图片等资源资料维护。后台各资源模块支持条件查询、分页列表、新增、修改、删除和批量删除;用户、预约、教练、雪具、场地、时间段、评价、交易及公告等业务数据可导出为 Excel 文件。上述能力与资源管理、预约支付、现场核销、评价、AI 咨询和运营分析共同组成可管理、可追溯的滑雪场服务业务闭环。
管理员维护滑雪资源、时段和公告 -> 用户浏览并创建预约 -> 钱包支付后获得核销码 -> 现场核销完成服务并提交评价 -> 用户使用 AI 助手获取咨询 -> 后台导出业务列表并查看运营图表 -> 形成可管理、可追溯的滑雪场服务闭环
|----------|-----------------------------------------------------------------------|
| 通用能力 | 系统处理结果 |
| 公告管理 | 管理员维护公告标题、内容、发布时间和发布状态,前台提供公告列表及详情入口,向用户传递雪场服务信息。 |
| 文件上传 | 接收图片与文件并返回访问地址,供教练头像、场地封面、雪具封面和资源图集等业务数据关联使用。 |
| Excel 导出 | 使用 Apache POI 生成 Excel 文件,导出当前筛选范围内的用户、预约、教练、雪具、场地、时间段、评价、交易和公告等业务列表。 |
| 业务闭环 | 从资源维护、时间段配置、用户预约、钱包支付、退款核销、评价沉淀到数据分析和智能咨询,形成面向用户与管理端的滑雪场服务闭环。 |