第一章 绪论
1.1 研究背景与意义
当前,全民健身国家战略的实施推动了游泳运动的广泛开展,大众参与热情持续高涨,游泳馆作为重要的体育基础设施,其日常运营负荷显著增加。传统的管理模式多依赖人工记录与纸质文档,存在信息更新滞后、数据查询繁琐、预约流程冗长等弊端,难以应对日益增长的用户需求。场馆在会员管理、课程分配、商品销售及场地调度等环节容易出现人为疏漏,导致资源利用率不高,用户等待时间过长,服务体验大打折扣。面对庞大的业务数据与复杂的交互场景,构建一套高效、稳定且功能全面的信息化管理系统显得尤为迫切。通过数字化手段重构业务流程,能够打破信息孤岛,实现数据的实时共享与精准统计,为场馆的科学决策提供可靠依据,进而推动体育服务行业的规范化与现代化发展。
本系统的研发对于提升游泳馆运营效率与优化用户体验具有深远的现实意义。在运营层面,系统通过集成角色权限控制、自动化排班、智能预约调度及可视化销售统计等功能,大幅降低了人工管理成本,减少了操作失误,使管理者能够实时掌握场馆运行状态与市场动态,从而灵活调整经营策略。对于会员用户而言,平台提供了便捷的在线注册、场馆浏览、一键预约、商城购物及互动评论等服务,打破了时间与空间的限制,让健身活动更加灵活自主。教练群体则能通过专属端口清晰查看排班详情并完成课程核销,工作流程更加透明规范。整体而言,该系统的应用不仅解决了传统管理中的痛点,还促进了场馆资源的合理配置,增强了用户粘性,为游泳馆在激烈的市场竞争中赢得优势,助力全民健身事业的高质量推进。
1.2 国内外研究现状
1.2.1 国内研究现状
国内游泳馆管理信息化起步相对较晚,但近年来发展迅速。早期场馆多采用单机版软件或简易的Excel表格进行记录,功能局限于基础的会员档案存储与简单的财务记账,数据之间缺乏关联,难以形成完整的业务闭环。随着互联网技术的普及,部分大型连锁游泳馆开始引入基于Web的管理系统,实现了在线预约与门票销售功能。然而,现有系统在功能深度上仍存在不足,许多平台仅侧重于前端展示与交易,后台管理模块较为薄弱,缺乏对教练排班、课程核销、商品库存联动以及多维度销售数据统计的精细化支持。部分系统架构陈旧,维护成本高,扩展性差,难以适应场馆多样化的运营需求。学术界与行业界逐渐认识到前后端分离架构的优势,开始探索利用Spring Boot等轻量级框架重构系统,以提升并发处理能力与用户交互体验,但针对中小型游泳馆的一站式综合解决方案尚显匮乏,市场仍有较大优化空间。
1.2.2 国外研究现状
国外体育场馆管理系统发展较为成熟,早在二十世纪末便已实现高度的数字化与网络化。欧美发达国家的场馆普遍采用集成度高的SaaS服务平台,涵盖了从会员生命周期管理、动态定价策略、智能门禁控制到自动化营销推广的全链条服务。这些系统注重用户体验与数据驱动决策,界面设计简洁直观,操作流程高度标准化,能够支持多渠道接入与复杂的权限细分。在功能层面,国外系统擅长将场地预约、私教课程、零售商城与健康数据分析深度融合,通过精细化的报表工具帮助管理者优化资源配置。不过,国外成熟软件往往价格昂贵,且操作逻辑与文化习惯更贴合本土市场,直接引进国内存在水土不服的问题,如支付接口不兼容、中文支持不完善以及售后服务响应慢等。国内研究更多聚焦于如何借鉴国外先进的管理理念,结合本土实际业务场景,利用Java、Vue等主流开源技术栈,开发性价比高、定制化能力强且符合国人使用习惯的管理平台,以填补中高端市场的空白。
1.3 章节安排
本文共分为七章,具体结构如下:
第一章为绪论,阐述研究背景、意义、国内外现状及可行性分析。
第二章介绍系统开发相关技术,包括Spring Boot、Vue、MySQL等核心框架。
第三章进行系统需求分析,明确功能模块与非功能性需求。
第四章阐述系统总体设计,涵盖架构模式、数据库设计及接口规范。
第五章详述系统实现过程,展示关键功能模块的代码逻辑与界面效果。
第六章呈现系统测试方案与结果,验证功能的完整性与稳定性。
第七章总结全文工作,指出不足并展望未来改进方向。
第二章 相关技术介绍
2.1 Java语言
Java是一种广泛应用于企业级软件开发的面向对象编程语言,具有平台无关性、安全性高、稳定性强等优点1。通过JVM(Java虚拟机)机制,Java实现了"一次编写,到处运行"的特性,极大地提升了代码的可移植性和复用性,其丰富的类库支持和成熟的生态系统,使得Java在Web应用、分布式系统及大型后台服务开发中占据主导地位2。在游泳馆管理系统中,Java作为主要开发语言,能够实现高效的服务器端逻辑处理和数据管理,为系统的功能实现提供了坚实的基础,同时Java的多线程和网络编程能力有助于系统的高并发处理,为多个用户提供服务。
2.2 Spring Boot框架
Spring Boot是一个开源框架,可以快速构建基于Spring的应用程序,通过简化配置和提供开箱即用的特性,极大地提升了开发效率3。Spring Boot框架安排了一系列默认的配置,支持开展自动化配置,减少了应用启动的复杂性,并集成嵌入式Web服务器,让开发者可以不依赖外部独立运行Java应用,无需借助外部容器4。Spring Boot框架的应用为游泳馆管理系统的后端开发提供了强大的支持。开发者使用Spring Boot框架可以轻松创建RESTful风格的API,与前端进行数据交互,支持各种业务操作。数据访问层使用Spring Data JPA简单集成数据库,与MySQL进行操作,实现数据的持久化。安全管理方面利用Spring Security提供用户身份验证和授权功能,确保数据访问的安全性。
2.3 MySQL数据库
MySQL是一款流行的开源关系型数据库管理系统,因其性能稳定、易于使用、社区活跃而被广泛应用于各类Web应用系统中,支持标准SQL语句,即以结构化查询语言为基础,通过表格的形式存储数据,具备良好的事务处理能力和多用户并发访问能力5。同时MySQL占用资源较少,适合中小型项目的数据库需求。本系统采用MySQL作为核心数据存储工具,负责管理游泳馆管理系统中的用户信息、业务数据和操作日志等关键信息,通过合理的数据库设计和优化,保障数据的安全性和一致性,并且MySQL支持对多用户的高并发操作,能够快速处理系统中的各种数据查询需求,为后端提供所需的数据服务6。
2.4 Vue框架
Vue 是一款轻量级、渐进式的前端JavaScript框架,专注于构建用户界面,具有学习成本低、开发效率高、组件化设计良好等特点,能够快速实现响应式数据绑定和动态页面交互7。Vue支持模块化开发,并与现代前端构建工具,如Webpack、Vite,兼容良好,适用于开发高性能、易维护的单页面应用(SPA)。在游泳馆管理系统中,Vue框架被用于实现系统的前端界面,提供友好的交互体验,提升系统的交互体验与开发效率8。
2.5 B/S模式
B/S(Browser/Server)架构是一种基于浏览器的三层体系结构,用户通过浏览器即可访问服务器端的应用程序和数据资源,无需安装额外客户端,具有部署简单、维护方便、跨平台兼容性强等优势9。B/S架构降低了用户的客户端配置要求,用户只需要使用浏览器即可访问应用。该架构下,业务逻辑主要集中在服务器端处理,前端仅负责展示与交互,有利于提升系统的可扩展性和安全性10。本游泳馆管理系统基于B/S架构进行设计与开发,使得系统能够在不同设备和操作系统上便捷访问,增强系统的可用性与灵活性。
第三章 系统分析
3.1 系统可行性
3.1.1 技术可行性
本系统采用成熟的Spring Boot框架作为后端核心,搭配Vue构建前端界面,两者生态完善且社区支持强大。Java语言具备优异的跨平台特性与稳定性,MySQL数据库能高效处理场馆预约、订单及用户数据等结构化信息。前后端分离架构降低了耦合度,便于功能模块的独立开发与维护。现有硬件环境与开发工具完全满足系统运行需求,技术路线清晰可靠,无难以攻克的技术壁垒,确保项目顺利落地。
3.1.2 经济可行性
统基于开源技术栈构建,无需支付昂贵的商业软件授权费用,显著降低了初期投入成本。数字化管理替代了传统人工记录与纸质文档,大幅减少了人力成本与物料消耗。通过优化场馆资源调度与提升商品销售转化率,能有效增加场馆营收。自动化流程减少了人为失误带来的经济损失,长期运营中维护成本低廉,投资回报周期短,具有极高的经济效益与应用价值。
3.1.3 操作可行性
系统界面设计简洁直观,功能布局符合用户日常操作习惯。会员、教练及管理员仅需具备基础计算机操作技能即可快速上手,无需专门培训。前台提供清晰的导航与搜索指引,后台管理流程逻辑严密且操作步骤简化。系统反馈及时准确,错误提示友好,极大降低了学习成本与误操作概率。无论是线上预约还是线下核销,全流程顺畅自然,能够满足不同年龄段用户的实际使用需求。
3.2 系统功能需求
根据用户在系统中的操作权限以及功能需求的不同,本游泳馆管理系统在设计过程中,将用户角色划分为三大主要类别,分别为会员用户、教练用户以及系统管理员。这三种角色在系统中分别对应不同的功能模块,并拥有相应的操作权限,以实现对各类业务流程的合理分配与管理。针对每种角色的具体功能职责,其详细的功能模块划分如下所述。
3.2.1 会员用户功能分析
会员用户作为系统的核心服务对象,拥有完整的前台交互权限。用户完成注册登录后,可通过首页导航、搜索栏及轮播图快速获取场馆动态与游泳资讯,并对资讯进行点赞、收藏、评论及分享。在场馆商城模块,用户不仅能浏览商品、领取优惠券、使用积分兑换,还可执行加入购物车、立即购买及订单评价等操作,并在个人中心管理订单、购物车及优惠券。针对场馆服务,用户支持在线查询场地信息、进行预约操作,并可在个人中心灵活处理预约改签与取消事宜。系统还赋予用户查看课程分配详情并完成核销的权利,同时提供个人资料修改、密码重置、钱包充值及会员购买功能,全方位满足用户的健身消费与管理需求。
会员用户角色用例图如图3-1所示。

会员用户用例图
3.2.2 教练用户功能分析
教练用户账号由管理员统一创建分配,登录后可访问专属后台界面。该角色主要聚焦于教学任务的管理与执行,核心功能涵盖教练排班管理与课程分配管理。在排班模块,教练能够查询个人排班计划,查看详细的时间段安排,确保工作日程清晰明确。在课程分配模块,教练可查看被分配的具体课程详情,并在学员到场后执行核销操作,以此确认课程已完成。后台首页还提供个人信息查看与密码修改功能,保障账户安全。整体设计简化了教练的工作流程,使其能专注于教学服务,实现排班查询与课程核销的高效闭环。
教练用户角色用例图如图3-2所示。

教练用户用例图
3.2.3 管理员功能分析
管理员拥有系统的最高权限,负责全局运营监控与资源调度。登录后台后,管理员可通过可视化图表实时掌握商品销售金额、数量及分类统计情况。角色管理模块支持对管理员、会员及教练账号的增删改查与审核操作。在场馆运营方面,管理员可管理预约时段、场馆信息及全部评论,并处理场馆预约的查询、改签审核与取消确认。教学资源上,管理员负责教练排班的制定与课程分配的核销监管。系统管理涵盖轮播图配置、会员等级设定及通知公告发布。新闻与商城模块则允许管理员维护游泳资讯、管理商品分类、优惠券及订单列表,并处理售后审核,确保平台内容更新及时、交易流程规范有序。
管理员角色用例图如图3-3所示。

管理员用例图
3.3 非功能性需求
可靠性:系统需具备高度的运行稳定性,无论是在常规负载还是突发异常场景下,均应确保持续服务不中断。针对场馆预约、订单支付及课程核销等核心业务环节,必须引入严格的事务控制机制,杜绝因程序故障导致的数据丢失或状态冲突。此外,系统应内置容错与自愈能力,在网络抖动或服务短暂不可用后,能够自动恢复连接并保证业务数据的完整一致。
安全性:所有接入请求均需经过严格的身份鉴权,用户凭证须利用高强度加密算法(如BCrypt)进行存储以防泄露。权限体系应严格遵循角色隔离原则(会员、教练、管理员),严禁越权访问,例如会员仅能查看自身订单,教练仅限操作其排班数据。对于删除账户、审核预约、资金变动等敏感行为,系统需自动记录包含操作者、时间戳及具体内容的审计日志,确保所有关键操作可追溯、可核查。
易用性:界面交互设计应遵循简洁直观的原则,功能布局贴合用户思维习惯。无论是普通泳客还是教学人员,均无需专门培训即可顺畅完成资讯浏览、场地预订及课程查询等核心任务。关键操作入口需显著标识,业务流程逻辑清晰且线性化,同时全面适配移动端设备,以大幅提升日常使用的便捷度与用户满意度。
可维护性:系统架构采用前后端分离模式,后端依托Spring Boot实现模块化构建,前端基于Vue.js进行组件化开发,确保代码层次分明、注释详尽且接口标准统一。各业务单元(如用户中心、商城模块、资讯系统)之间保持低耦合高内聚,便于技术人员快速定位故障、修复漏洞或迭代新功能,从而有效降低系统全生命周期的运维成本。
性能:在标准网络条件下,页面平均渲染耗时需控制在2秒以内,确保搜索场馆、提交订单、加载统计报表等高频率操作响应迅捷。系统架构应具备足够的并发承载能力,支持至少300个用户同时在线作业,满足多场馆或多时段并发访问的需求,始终为用户提供流畅无阻的使用体验。
3.4 系统流程分析
3.4.1 注册登录流程图
用户注册登录模块主要是为了方便用户和管理员能够安全地访问系统并管理自己的信息,用户根据提示输入注册信息进行注册操作以获得个人账号,在登录界面输入账号密码等信息进行系统登录,用户注册登录流程如下图3-4所示。

系统操作流程图
3.4.2 数据添加流程图
用户成功登录系统后,即可进行添加数据操作。添加的数据具有一个由系统自动生成的特定编号,用户可根据提示输入其余信息并提交,系统会对提交信息进行验证,验证通过则显示添加数据成功。数据添加流程如下图3-5所示。

3.4.2 数据添加流程图
3.4.3 数据修改流程图
用户成功登录系统后,可进行修改数据操作,流程与添加数据操作相似,数据修改流程如下图3-6所示。

3.4.3 数据修改流程图
3.4.4 数据删除流程图
当系统里面存在一些无效或过期的数据信息,系统支持相关的管理人员对这些数据进行删除操作,数据修改流程如下图3-7所示。

3.4.4 数据删除流程图
3.4.5 数据搜索流程图
用户可以通过输入关键字方式在系统大量的数据中检索所需的信息,在搜索框输入关键字确认查询后,系统会自动检索数据库并显示特定的数据信息,数据搜索流程如下图3-8所示。

3.4.5 数据搜索流程图
第四章 系统设计
4.1 系统架构设计
本系统在架构设计上采用了经典的三层体系结构,分别为表现层、业务逻辑层以及数据访问层,并通过集群化管理方式实现高效的数据处理与并发访问。其中表现层主要承担用户交互功能,负责信息的展示与用户输入的接收,将用户操作传达给业务逻辑层处理,并最终将处理的结果反馈给用户,采用JavaScript等技术进行构建简洁和直观前端页面,以提升界面响应速度与用户体验。业务逻辑层作为系统的核心处理单元,主要负责各类核心业务规则的封装与执行,按需与数据访问层交互,以便获取或更新所需的数据,该层基于Spring Boot框架进行开发,借助其良好的模块化设计和自动化配置能力来保障系统业务流程的高效运行与稳定性。数据访问层则专注于与数据库之间的交互操作,包括数据的存储、查询与更新等功能,系统中采用JPA或MyBatis等持久层框架来实现对MySQL数据库的访问,确保数据操作的准确性、一致性与安全性。系统架构图如图4-1所示,展示了各层次之间的功能划分与数据流向关系。

系统架构图
4.2 功能模块设计
本游泳馆运营平台由若干独立且协同的功能单元构成,基于对业务场景的深度剖析,整体架构划分为会员端、教练端及管理后台三大核心板块。各核心板块内部进一步拆解为多个细分功能组件,全面覆盖场馆浏览、预约预订、商品交易、教学核销及数据可视化等多元化业务需求。系统依托多角色联动机制,实现了用户服务、教学资源调度与场馆精细化运营的深度融合。不同用户群体所对应的具体功能分布详见图4-2,该模块化设计方案旨在明确各角色的权责边界,确保操作隔离性与数据私密性,从而有力支撑起游泳馆高效、科学的全流程管理体系。

系统功能结构图
4.3 数据库设计
4.3.1 概念结构设计
通过提供清晰的系统总E-R图,可以使其他用户快速理解和分析复杂的系统结构,更加轻松地掌握了解系统的整体架构和各功能组件之间的联系。根据对游泳馆管理系统中各类实体及其属性的分析,本游泳馆管理系统总体E-R图如图4-3所示,以直观地展示各实体之间的关系。

系统总体ER图
4.3.2 物理结构设计
依据前一节对游泳馆管理系统的整体E-R关系图的分析,为了满足系统功能需求,需要创建多个数据表。下面将着重介绍几个核心数据库表的设计结构,详细阐述这些关键数据库表的设计细节,包括但不限于字段定义、数据类型及其相互间的关系,从而为系统的稳定运行提供坚实的基础。
表 4-1-access_token(登陆访问时长)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | info | text | 65535 | 否 | 否 | 信息 |
| 3 | maxage | int | 是 | 否 | 最大寿命:默认2小时 | |
| 4 | token | varchar | 64 | 否 | 否 | 临时访问牌 |
| 5 | token_id | int | 是 | 是 | 临时访问牌ID | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 7 | user_id | int | 是 | 否 | 用户编号 |
表 4-2-appointment_cancellation(预约取消)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | appointment_cancellation_id | int | 是 | 是 | 预约取消ID | |
| 2 | venue_name | varchar | 64 | 否 | 否 | 场馆名称 |
| 3 | venue_address | varchar | 64 | 否 | 否 | 场馆地址 |
| 4 | venue_area | varchar | 64 | 否 | 否 | 场馆面积 |
| 5 | venue_no | varchar | 64 | 否 | 否 | 场馆编号 |
| 6 | member_user | int | 否 | 否 | 会员用户 | |
| 7 | member_name | varchar | 64 | 否 | 否 | 会员姓名 |
| 8 | open_date | date | 否 | 否 | 开放日期 | |
| 9 | appointment_time_slot | varchar | 64 | 否 | 否 | 预约时段 |
| 10 | number_of_reservations | double | 否 | 否 | 预约人数 | |
| 11 | cancel_request | text | 65535 | 否 | 否 | 取消申请 |
| 12 | create_time | datetime | 是 | 否 | 创建时间 | |
| 13 | create_by | int | 是 | 否 | 创建用户ID | |
| 14 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 15 | extra | text | 65535 | 否 | 否 | 额外信息 |
| 16 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 17 | source_id | int | 否 | 否 | 来源ID | |
| 18 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-3-appointment_time_slot(预约时段)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | appointment_period | varchar | 64 | 是 | 是 | 预约时段 |
| 2 | appointment_time_slot_id | int | 是 | 是 | 预约时段ID | |
| 3 | create_by | int | 是 | 否 | 创建用户ID | |
| 4 | create_time | datetime | 是 | 否 | 创建时间 | |
| 5 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-4-article(文章)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | article_id | mediumint | 是 | 是 | 文章id | |
| 2 | title | varchar | 125 | 是 | 是 | 标题 |
| 3 | type | varchar | 64 | 是 | 否 | 文章分类 |
| 4 | hits | int | 是 | 否 | 点击数 | |
| 5 | praise_len | int | 是 | 否 | 点赞数 | |
| 6 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 7 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 8 | source | varchar | 255 | 否 | 否 | 来源 |
| 9 | url | varchar | 255 | 否 | 否 | 来源地址 |
| 10 | tag | varchar | 255 | 否 | 否 | 标签 |
| 11 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 12 | img | varchar | 255 | 否 | 否 | 封面图 |
| 13 | description | text | 65535 | 否 | 否 | 文章描述 |
表 4-5-article_type(文章分类)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | description | varchar | 255 | 否 | 否 | 描述 |
| 3 | display | smallint | 是 | 否 | 显示顺序 | |
| 4 | father_id | smallint | 是 | 否 | 上级分类ID | |
| 5 | icon | text | 65535 | 否 | 否 | 分类图标 |
| 6 | name | varchar | 16 | 是 | 否 | 分类名称 |
| 7 | type_id | smallint | 是 | 是 | 分类ID | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 9 | url | varchar | 255 | 否 | 否 | 外链地址 |
表 4-6-auth(用户权限管理)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | auth_id | int | 是 | 是 | 授权ID | |
| 2 | user_group | varchar | 64 | 否 | 否 | 用户组 |
| 3 | mod_name | varchar | 64 | 否 | 否 | 模块名 |
| 4 | table_name | varchar | 64 | 否 | 否 | 表名 |
| 5 | page_title | varchar | 255 | 否 | 否 | 页面标题 |
| 6 | path | varchar | 255 | 否 | 否 | 路由路径 |
| 7 | parent | varchar | 64 | 否 | 否 | 父级菜单 |
| 8 | parent_sort | int | 是 | 否 | 父级菜单排序 | |
| 9 | position | varchar | 32 | 否 | 否 | 位置 |
| 10 | mode | varchar | 32 | 是 | 否 | 跳转方式 |
| 11 | add | tinyint | 是 | 否 | 是否可增加 | |
| 12 | del | tinyint | 是 | 否 | 是否可删除 | |
| 13 | set | tinyint | 是 | 否 | 是否可修改 | |
| 14 | get | tinyint | 是 | 否 | 是否可查看 | |
| 15 | field_add | text | 65535 | 否 | 否 | 添加字段 |
| 16 | field_set | text | 65535 | 否 | 否 | 修改字段 |
| 17 | field_get | text | 65535 | 否 | 否 | 查询字段 |
| 18 | table_nav_name | varchar | 500 | 否 | 否 | 跨表导航名称 |
| 19 | table_nav | varchar | 500 | 否 | 否 | 跨表导航 |
| 20 | option | text | 65535 | 否 | 否 | 配置 |
| 21 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 22 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-7-cart(购物车)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | cart_id | int | 是 | 是 | 购物车ID | |
| 2 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 3 | description | varchar | 255 | 否 | 否 | 描述 |
| 4 | goods_id | mediumint | 是 | 是 | 商品id | |
| 5 | img | varchar | 255 | 是 | 否 | 图片 |
| 6 | norms | varchar | 64 | 否 | 否 | 规格 |
| 7 | num | int | 是 | 否 | 数量 | |
| 8 | price | double | 是 | 否 | 单价 | |
| 9 | price_ago | double | 是 | 否 | 原价 | |
| 10 | price_count | double | 是 | 否 | 总价 | |
| 11 | state | int | 是 | 否 | 状态:使用中,已失效 | |
| 12 | title | varchar | 64 | 否 | 否 | 标题 |
| 13 | type | varchar | 64 | 是 | 否 | 商品分类 |
| 14 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 15 | user_id | int | 是 | 否 | 用户ID |
表 4-8-coach_scheduling(教练排班)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | coach_scheduling_id | int | 是 | 是 | 教练排班ID | |
| 2 | schedule_title | varchar | 64 | 否 | 否 | 排班标题 |
| 3 | scheduling_venue | varchar | 255 | 否 | 否 | 排班场馆 |
| 4 | shift_coach | varchar | 255 | 否 | 否 | 排班教练 |
| 5 | scheduling_number | int | 是 | 否 | 单日最多排次数 | |
| 6 | scheduling_period | enum | 1 | 是 | 否 | 周期 |
| 7 | scheduling_date_options | text | 65535 | 否 | 否 | 时间设置 |
| 8 | timetable | text | 65535 | 否 | 否 | 排期表 |
| 9 | create_time | datetime | 是 | 否 | 创建时间 | |
| 10 | create_by | int | 是 | 否 | 创建用户ID | |
| 11 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-9-coach_user(教练用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | coach_user_id | int | 是 | 是 | 教练用户ID | |
| 2 | create_by | int | 是 | 否 | 创建用户ID | |
| 3 | create_time | datetime | 是 | 否 | 创建时间 | |
| 4 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 5 | gender_coach | varchar | 64 | 否 | 否 | 教练性别 |
| 6 | name_of_coach | varchar | 64 | 否 | 否 | 教练姓名 |
| 7 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 8 | user_id | int | 是 | 否 | 用户ID |
表 4-10-code_token(验证码)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | code_token_id | int | 是 | 是 | 验证码ID | |
| 2 | token | varchar | 255 | 否 | 否 | 令牌 |
| 3 | code | varchar | 255 | 否 | 否 | 验证码 |
| 4 | expire_time | timestamp | 是 | 否 | 失效时间 | |
| 5 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-11-collect(收藏)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | collect_id | int | 是 | 是 | 收藏ID | |
| 2 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 3 | img | varchar | 255 | 否 | 否 | 封面 |
| 4 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 5 | source_id | int | 是 | 否 | 来源ID | |
| 6 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 7 | title | varchar | 255 | 否 | 否 | 标题 |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 9 | user_id | int | 是 | 是 | 收藏人ID |
表 4-12-comment(评论)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | comment_id | int | 是 | 是 | 评论ID | |
| 2 | user_id | int | 是 | 是 | 评论人ID | |
| 3 | reply_to_id | int | 是 | 否 | 回复评论ID | |
| 4 | content | longtext | 4294967295 | 否 | 否 | 内容 |
| 5 | nickname | varchar | 255 | 否 | 否 | 昵称 |
| 6 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 7 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 9 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 10 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 11 | source_id | int | 是 | 否 | 来源ID | |
| 12 | hidden | tinyint | 否 | 否 | 是否隐藏 | |
| 13 | sticky | tinyint | 否 | 否 | 是否置顶 |
表 4-13-coupon(优惠券)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | coupon_id | int | 是 | 是 | 优惠券ID | |
| 2 | coupon_name | varchar | 255 | 否 | 否 | 优惠券名称 |
| 3 | coupon_price | int | 否 | 否 | 优惠券价格 | |
| 4 | coupon_price1 | int | 否 | 否 | 优惠券券后价格 | |
| 5 | coupon_time | varchar | 255 | 否 | 否 | 优惠券时间 |
| 6 | coupon_type | varchar | 255 | 否 | 否 | 优惠券类型 |
| 7 | coupon_user_auth | varchar | 255 | 否 | 否 | 优惠券用户 |
| 8 | coupon_user_id | int | 否 | 否 | 优惠券用户ID | |
| 9 | create_time | timestamp | 否 | 否 | 创建时间 | |
| 10 | update_time | timestamp | 否 | 否 | 更新时间 |
表 4-14-coupon_user(用户优惠券)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | id | int | 是 | 是 | 用户优惠券ID | |
| 2 | user_id | int | 否 | 否 | 用户ID | |
| 3 | coupon_id | int | 否 | 否 | 优惠券ID | |
| 4 | is_use | int | 否 | 否 | 是否使用 | |
| 5 | coupon_user_id | int | 否 | 否 | 用户优惠券ID | |
| 6 | create_time | datetime | 否 | 否 | 创建时间 | |
| 7 | update_time | timestamp | 否 | 否 | 更新时间 |
表 4-15-course_assignment(课程分配)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | allocation_of_coaches | int | 否 | 否 | 分配教练 | |
| 2 | course_assignment_id | int | 是 | 是 | 课程分配ID | |
| 3 | course_date | date | 否 | 否 | 课程日期 | |
| 4 | course_location | varchar | 64 | 否 | 否 | 课程地点 |
| 5 | course_name | varchar | 64 | 否 | 否 | 课程名称 |
| 6 | course_specificss | longtext | 4294967295 | 否 | 否 | 课程详情 |
| 7 | create_by | int | 是 | 否 | 创建用户ID | |
| 8 | create_time | datetime | 是 | 否 | 创建时间 | |
| 9 | member_user | int | 否 | 否 | 会员用户 | |
| 10 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 11 | verification_code | varchar | 16 | 否 | 否 | 核销码 |
| 12 | verification_state | varchar | 16 | 否 | 否 | 核销状态 |
| 13 | verification_time | varchar | 32 | 否 | 否 | 核销时间 |
表 4-16-goods(商品信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | goods_id | mediumint | 是 | 是 | 产品ID | |
| 2 | title | varchar | 125 | 否 | 否 | 标题 |
| 3 | img | text | 65535 | 否 | 否 | 封面图:用于显示于产品列表页 |
| 4 | description | varchar | 255 | 否 | 否 | 描述 |
| 5 | price_ago | double | 是 | 否 | 原价 | |
| 6 | price | double | 是 | 否 | 卖价 | |
| 7 | sales | int | 是 | 否 | 销量 | |
| 8 | inventory | int | 是 | 否 | 商品库存 | |
| 9 | type | varchar | 64 | 是 | 否 | 商品分类 |
| 10 | hits | int | 是 | 否 | 点击量 | |
| 11 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 12 | img_1 | text | 65535 | 否 | 否 | 主图1 |
| 13 | img_2 | text | 65535 | 否 | 否 | 主图2 |
| 14 | img_3 | text | 65535 | 否 | 否 | 主图3 |
| 15 | img_4 | text | 65535 | 否 | 否 | 主图4 |
| 16 | img_5 | text | 65535 | 否 | 否 | 主图5 |
| 17 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 18 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 19 | customize_field | text | 65535 | 否 | 否 | 自定义字段 |
| 20 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 21 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 22 | source_id | int | 是 | 否 | 来源ID | |
| 23 | user_id | int | 否 | 否 | 添加人 | |
| 24 | integral | int | 否 | 否 | 积分 | |
| 25 | list_status | smallint | 否 | 否 | 上架状态(0:下架;1上架) |
表 4-17-goods_type(商品类型)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | desc | varchar | 255 | 否 | 否 | 描述 |
| 3 | father_id | smallint | 是 | 否 | 上级分类ID | |
| 4 | icon | varchar | 255 | 否 | 否 | 图标 |
| 5 | name | varchar | 255 | 否 | 否 | 商品名称 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 8 | type_id | int | 是 | 是 | 商品分类ID | |
| 9 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-18-hits(用户点击)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | hits_id | int | 是 | 是 | 点赞ID | |
| 2 | user_id | int | 是 | 否 | 点赞人 | |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | 是 | 否 | 来源ID |
表 4-19-member_user(会员用户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_by | int | 是 | 否 | 创建用户ID | |
| 2 | create_time | datetime | 是 | 否 | 创建时间 | |
| 3 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 4 | is_vip | text | 65535 | 否 | 否 | 可见会员 |
| 5 | member_gender | varchar | 64 | 否 | 否 | 会员性别 |
| 6 | member_name | varchar | 64 | 否 | 否 | 会员姓名 |
| 7 | member_user_id | int | 是 | 是 | 会员用户ID | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 9 | user_id | int | 是 | 否 | 用户ID |
表 4-20-message_inform(通知记录)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | inform_id | int | 是 | 是 | 通知ID | |
| 2 | user_id | int | 是 | 是 | 通知人ID | |
| 3 | title | varchar | 255 | 否 | 否 | 标题 |
| 4 | state | varchar | 255 | 否 | 否 | 状态 |
| 5 | type | varchar | 64 | 否 | 否 | 分类 |
| 6 | content | varchar | 255 | 否 | 否 | 内容 |
| 7 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-21-notice(公告)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | content | longtext | 4294967295 | 否 | 否 | 正文 |
| 2 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 3 | notice_id | mediumint | 是 | 是 | 公告ID | |
| 4 | title | varchar | 125 | 是 | 否 | 标题 |
| 5 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-22-order(订单)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | order_id | int | 是 | 是 | 订单ID | |
| 2 | order_number | varchar | 64 | 否 | 否 | 订单号 |
| 3 | goods_id | mediumint | 是 | 是 | 商品ID | |
| 4 | title | varchar | 255 | 否 | 否 | 商品标题 |
| 5 | img | varchar | 255 | 否 | 否 | 商品图片 |
| 6 | price | double | 是 | 否 | 价格 | |
| 7 | price_ago | double | 是 | 否 | 原价 | |
| 8 | num | int | 是 | 否 | 数量 | |
| 9 | price_count | double | 是 | 否 | 总价 | |
| 10 | norms | varchar | 255 | 否 | 否 | 规格 |
| 11 | type | varchar | 64 | 是 | 否 | 商品分类 |
| 12 | contact_name | varchar | 32 | 否 | 否 | 联系人姓名 |
| 13 | contact_email | varchar | 125 | 否 | 否 | 联系人邮箱 |
| 14 | contact_phone | varchar | 11 | 否 | 否 | 联系人手机 |
| 15 | contact_address | varchar | 255 | 否 | 否 | 收件地址 |
| 16 | postal_code | varchar | 9 | 否 | 否 | 邮政编码 |
| 17 | user_id | int | 是 | 否 | 买家ID | |
| 18 | merchant_id | mediumint | 是 | 否 | 商家ID | |
| 19 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 20 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 21 | description | varchar | 255 | 否 | 否 | 描述 |
| 22 | state | varchar | 16 | 是 | 否 | 订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
| 23 | remark | text | 65535 | 否 | 否 | 订单备注 |
| 24 | delivery_state | varchar | 16 | 否 | 否 | 发货状态:未配送,已配送 |
| 25 | vip_discount | double | 否 | 否 | 折扣 | |
| 26 | integral | int | 否 | 否 | 积分 | |
| 27 | buy_type | tinyint | 否 | 否 | 1-全额购买,2-积分兑换,3-钱包购买 | |
| 28 | desc | varchar | 64 | 否 | 否 | 取消订单原因 |
表 4-23-order_after_sale(订单售后)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | after_state | varchar | 16 | 否 | 否 | 售后状态:未审核,未通过,已通过 |
| 2 | after_state_reply | varchar | 255 | 否 | 否 | 售后回复 |
| 3 | buy_type | tinyint | 否 | 否 | 1-全额购买,2-积分兑换,3-钱包购买 | |
| 4 | content_desc | varchar | 255 | 否 | 否 | 售后内容 |
| 5 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 6 | goods_id | mediumint | 是 | 否 | 商品id | |
| 7 | imgs | varchar | 1000 | 否 | 否 | 售后凭证 |
| 8 | integral | int | 否 | 否 | 积分 | |
| 9 | merchant_id | mediumint | 是 | 否 | 商家ID | |
| 10 | num | int | 是 | 否 | 数量 | |
| 11 | order_after_sale_id | int | 是 | 是 | 订单售后ID | |
| 12 | order_id | int | 是 | 否 | 订单ID | |
| 13 | order_number | varchar | 64 | 否 | 否 | 订单号 |
| 14 | price | double | 是 | 否 | 价格 | |
| 15 | price_ago | double | 是 | 否 | 原价 | |
| 16 | price_count | double | 是 | 否 | 总价 | |
| 17 | state | varchar | 16 | 是 | 否 | 订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成 |
| 18 | title | varchar | 255 | 否 | 否 | 商品标题 |
| 19 | type | varchar | 255 | 否 | 否 | 售后类型 |
| 20 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 21 | user_id | int | 是 | 否 | 买家ID |
表 4-24-praise(点赞)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | praise_id | int | 是 | 是 | 点赞ID | |
| 2 | user_id | int | 是 | 是 | 点赞人 | |
| 3 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 4 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 5 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 6 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 7 | source_id | int | 是 | 否 | 来源ID | |
| 8 | status | tinyint | 是 | 否 | 点赞状态:1为点赞,0已取消 | |
| 9 | img | varchar | 255 | 否 | 否 | |
| 10 | title | varchar | 255 | 否 | 否 |
表 4-25-reservation_change(预约改签)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | appointment_time_slot | varchar | 64 | 否 | 否 | 预约时段 |
| 2 | create_by | int | 是 | 否 | 创建用户ID | |
| 3 | create_time | datetime | 是 | 否 | 创建时间 | |
| 4 | examine_reply | varchar | 255 | 否 | 否 | 审核回复 |
| 5 | examine_state | varchar | 16 | 是 | 否 | 审核状态 |
| 6 | extra | text | 65535 | 否 | 否 | 额外信息 |
| 7 | member_name | varchar | 64 | 否 | 否 | 会员姓名 |
| 8 | member_user | int | 否 | 否 | 会员用户 | |
| 9 | open_date | date | 否 | 否 | 开放日期 | |
| 10 | reservation_change_id | int | 是 | 是 | 预约改签ID | |
| 11 | resign_application | text | 65535 | 否 | 否 | 改签申请 |
| 12 | source_id | int | 否 | 否 | 来源ID | |
| 13 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 14 | source_user_id | int | 否 | 否 | 来源用户 | |
| 15 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 16 | venue_address | varchar | 64 | 否 | 否 | 场馆地址 |
| 17 | venue_area | varchar | 64 | 否 | 否 | 场馆面积 |
| 18 | venue_name | varchar | 64 | 否 | 否 | 场馆名称 |
| 19 | venue_no | varchar | 64 | 否 | 否 | 场馆编号 |
表 4-26-slides(轮播图)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | slides_id | int | 是 | 是 | 轮播图ID | |
| 2 | title | varchar | 64 | 否 | 否 | 标题 |
| 3 | content | varchar | 255 | 否 | 否 | 内容 |
| 4 | url | varchar | 255 | 否 | 否 | 链接 |
| 5 | img | varchar | 255 | 否 | 否 | 轮播图 |
| 6 | hits | int | 是 | 否 | 点击量 | |
| 7 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-27-upload(文件上传)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | dir | varchar | 255 | 否 | 否 | 文件夹 |
| 2 | display | varchar | 255 | 否 | 否 | 显示顺序 |
| 3 | father_id | int | 否 | 否 | 父级ID | |
| 4 | file | varchar | 255 | 否 | 否 | 文件路径 |
| 5 | name | varchar | 64 | 否 | 否 | 文件名 |
| 6 | path | varchar | 255 | 否 | 否 | 访问路径 |
| 7 | type | varchar | 32 | 否 | 否 | 文件类型 |
| 8 | upload_id | int | 是 | 是 | 上传ID |
表 4-28-user(用户账户)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|----|--------------|-----------|-----|------|------|------------|------|-------|-------|
| 1 | user_id | int | | 是 | 是 | 用户ID |
| 2 | state | smallint | | 是 | 否 | 账户状态:(1可用 | 2异常 | 3已冻结 | 4已注销) |
| 3 | user_group | varchar | 32 | 否 | 否 | 所在用户组 |
| 4 | login_time | timestamp | | 否 | 否 | 上次登录时间 |
| 5 | phone | varchar | 11 | 否 | 否 | 手机号码 |
| 6 | phone_state | smallint | | 是 | 否 | 手机认证:(0未认证 | 1审核中 | 2已认证) |
| 7 | username | varchar | 16 | 是 | 否 | 用户名 |
| 8 | nickname | varchar | 16 | 否 | 否 | 昵称 |
| 9 | password | varchar | 64 | 是 | 否 | 密码 |
| 10 | email | varchar | 64 | 否 | 否 | 邮箱 |
| 11 | email_state | smallint | | 是 | 否 | 邮箱认证:(0未认证 | 1审核中 | 2已认证) |
| 12 | avatar | varchar | 255 | 否 | 否 | 头像地址 |
| 13 | open_id | varchar | 255 | 否 | 否 | 针对获取用户信息字段 |
| 14 | create_time | timestamp | | 是 | 否 | 创建时间 |
| 15 | vip_level | varchar | 255 | 否 | 否 | 会员等级 |
| 16 | vip_discount | double | | 否 | 否 | 会员折扣 |
| 17 | integral | int | | 否 | 否 | 积分 |
| 18 | balance | double | | 否 | 否 | 余额 |
表 4-29-user_group(用户组)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | description | varchar | 255 | 否 | 否 | 描述 |
| 3 | display | smallint | 是 | 否 | 显示顺序 | |
| 4 | group_id | mediumint | 是 | 是 | 用户组ID | |
| 5 | name | varchar | 16 | 是 | 否 | 名称 |
| 6 | register | smallint | 否 | 否 | 注册位置 | |
| 7 | source_field | varchar | 255 | 否 | 否 | 来源字段 |
| 8 | source_id | int | 是 | 否 | 来源ID | |
| 9 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 10 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-30-venue_booking(场馆预约)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | venue_booking_id | int | 是 | 是 | 场馆预约ID | |
| 2 | venue_name | varchar | 64 | 否 | 否 | 场馆名称 |
| 3 | venue_address | varchar | 64 | 否 | 否 | 场馆地址 |
| 4 | venue_area | varchar | 64 | 否 | 否 | 场馆面积 |
| 5 | venue_no | varchar | 64 | 否 | 否 | 场馆编号 |
| 6 | member_user | int | 否 | 否 | 会员用户 | |
| 7 | member_name | varchar | 64 | 否 | 否 | 会员姓名 |
| 8 | open_date | date | 否 | 否 | 开放日期 | |
| 9 | appointment_time_slot | varchar | 64 | 否 | 否 | 预约时段 |
| 10 | number_of_reservations | double | 否 | 否 | 预约人数 | |
| 11 | reservation_change_limit_times | int | 是 | 否 | 改签限制次数 | |
| 12 | appointment_cancellation_limit_times | int | 是 | 否 | 取消限制次数 | |
| 13 | create_time | datetime | 是 | 否 | 创建时间 | |
| 14 | create_by | int | 是 | 否 | 创建用户ID | |
| 15 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 16 | extra | text | 65535 | 否 | 否 | 额外信息 |
| 17 | source_table | varchar | 255 | 否 | 否 | 来源表 |
| 18 | source_id | int | 否 | 否 | 来源ID | |
| 19 | source_user_id | int | 否 | 否 | 来源用户 |
表 4-31-venue_information(场馆信息)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | collect_len | int | 是 | 否 | 收藏数 | |
| 2 | comment_len | int | 是 | 否 | 评论数 | |
| 3 | create_by | int | 是 | 否 | 创建用户ID | |
| 4 | create_time | datetime | 是 | 否 | 创建时间 | |
| 5 | open_date | date | 否 | 否 | 开放日期 | |
| 6 | praise_len | int | 是 | 否 | 点赞数 | |
| 7 | quantity_available | double | 否 | 否 | 可预约量 | |
| 8 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 9 | venue_address | varchar | 64 | 否 | 否 | 场馆地址 |
| 10 | venue_area | varchar | 64 | 否 | 否 | 场馆面积 |
| 11 | venue_booking_limit_times | int | 是 | 否 | 预约限制次数 | |
| 12 | venue_information_id | int | 是 | 是 | 场馆信息ID | |
| 13 | venue_introduction | longtext | 4294967295 | 否 | 否 | 场馆简介 |
| 14 | venue_name | varchar | 64 | 否 | 否 | 场馆名称 |
| 15 | venue_no | varchar | 64 | 否 | 否 | 场馆编号 |
| 16 | venue_pictures | varchar | 255 | 否 | 否 | 场馆图片 |
表 4-32-venue_mall(场馆商城)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | venue_mall_id | int | 是 | 是 | 场馆商城ID | |
| 2 | purchase_notes | varchar | 64 | 否 | 否 | 购买须知 |
| 3 | cart_title | varchar | 125 | 否 | 否 | 标题 |
| 4 | cart_img | text | 65535 | 否 | 否 | 封面图 |
| 5 | cart_description | varchar | 255 | 否 | 否 | 描述 |
| 6 | cart_price_ago | double | 是 | 否 | 原价 | |
| 7 | cart_price | double | 是 | 否 | 卖价 | |
| 8 | cart_inventory | int | 是 | 否 | 商品库存 | |
| 9 | cart_type | varchar | 64 | 是 | 否 | 商品分类 |
| 10 | cart_content | longtext | 4294967295 | 否 | 否 | 正文 |
| 11 | cart_img_1 | text | 65535 | 否 | 否 | 主图1 |
| 12 | cart_img_2 | text | 65535 | 否 | 否 | 主图2 |
| 13 | cart_img_3 | text | 65535 | 否 | 否 | 主图3 |
| 14 | cart_img_4 | text | 65535 | 否 | 否 | 主图4 |
| 15 | cart_img_5 | text | 65535 | 否 | 否 | 主图5 |
| 16 | cart_integral | int | 否 | 否 | 积分 | |
| 17 | list_status | smallint | 否 | 否 | 上架状态(0:下架;1上架) | |
| 18 | sku | longtext | 4294967295 | 否 | 否 | 规格 |
| 19 | create_time | datetime | 是 | 否 | 创建时间 | |
| 20 | create_by | int | 是 | 否 | 创建用户ID | |
| 21 | update_time | timestamp | 是 | 否 | 更新时间 |
表 4-33-vip_level(论坛分类)
| 编号 | 字段名 | 类型 | 长度 | 是否非空 | 是否主键 | 注释 |
|---|---|---|---|---|---|---|
| 1 | create_time | timestamp | 是 | 否 | 创建时间 | |
| 2 | description | text | 65535 | 否 | 否 | 会员权益 |
| 3 | discount | double | 是 | 否 | 折扣 | |
| 4 | name | varchar | 255 | 是 | 否 | 等级名称 |
| 5 | price | double | 否 | 否 | 会员价格 | |
| 6 | update_time | timestamp | 是 | 否 | 更新时间 | |
| 7 | vip_level_id | smallint | 是 | 是 | 等级ID |
第五章 系统实现
5.1 会员用户功能实现
5.1.1 用户注册模块
会员用户在访问系统首页后,可选择点击"注册"按钮,进入相应的注册页面。在该页面中,用户需完成所有注册信息必填项,点击页面下方的"注册"按钮。系统在接收到表单数据并完成验证后,若信息无误,将提示注册成功,以便用户立即进行登录操作。注册界面如下图所示。

注册界面
5.1.2 用户登录模块
用户在登录界面点击"登录"按钮后,需输入用户名、密码以及验证码以完成身份验证操作。系统在前端会自动对所输入信息进行有效性校验,同时检查该用户是否已通过后台审核流程。若审核通过且信息无误,则系统将允许用户成功登录并跳转至相应的功能界面;反之页面会弹出相应的提示信息,提醒用户重新输入或检查相关信息的正确性。登录界面如下图所示。

登录界面
5.1.3 前台首页模块
首页作为系统核心入口,智能搜索栏与功能导航栏,支持一键直达各业务模块。轮播图动态展示最新活动、优惠促销及场馆亮点,吸引用户点击。游泳资讯摘要与热门商城商品推荐。页面根据用户行为智能排序内容,加载速度快且交互流畅,确保用户能第一时间获取关键信息,快速发起场馆预约或商品购买操作,提升整体用户体验。界面如下图所示。

首页界面
5.1.4 个人账户模块
此页面用于管理用户基础身份与资产。用户可编辑个人资料,如头像、昵称及联系方式,并随时修改登录密码以保障安全。钱包充值功能支持多种支付方式,余额可用于场内消费或课程抵扣。购买会员板块提供不同等级套餐,用户可查看权益对比并完成升级,享受专属折扣与服务。所有变更即时生效并同步至全系统,确保账户信息的准确性与安全性,是用户维护个人数字身份与管理财务权益的核心操作区域。界面如下图所示。

个人账户界面
5.1.5 游泳资讯模块
此模块提供丰富的游泳教学技巧、赛事新闻及健康科普文章。用户可全文浏览、通过标题或标签搜索感兴趣内容。交互方面,支持对优质文章点赞表达喜爱,收藏至个人库以便稍后阅读,并可一键分享至社交平台。底部评论区允许用户发表见解、交流心得,形成活跃社区氛围。界面如下图所示。

游泳资讯界面
5.1.6 场馆商城模块
商城产品,支持多条件筛选与模糊搜索。用户可查看详情、点赞收藏心仪商品,选择立即购买或加入购物车统一结算。特色功能包括领取限时优惠券、使用积分抵扣现金,极大提升购买意愿。交易完成后,用户可对商品质量与服务进行评价,为其他买家提供参考。分享功能助力社交裂变传播。界面如下图所示。

场馆商城界面
5.1.7 场馆信息模块
模块展示各游泳场馆的详细概况,用户可搜索特定场馆,浏览高清图片与环境视频。支持对场馆环境与服务进行点赞、收藏及发表评论,供他人参考。核心功能为在线预约,用户可直接选择可用时段并提交预订请求。系统实时同步场馆承载量,避免超订。详细信息与互动评价相结合,帮助用户全面了解场馆实况,做出明智的预约决策,实现从信息获取到服务转化的无缝连接。界面如下图所示。

场馆信息界面
5.1.8 个人中心模块
作为用户操作枢纽,个人首页汇总待办事项与最新动态。场馆预约模块支持查看历史与当前预约,并提供便捷的改签与取消入口。预约改签与取消子功能允许用户在规则内灵活调整计划。课程分配处展示已购课程,支持现场核销扫码。收藏、点赞及评论记录集中管理,方便用户回顾互动历史并进行批量删除或编辑。各功能逻辑清晰,操作流程简化,全方位满足用户对预约管理、课程核销及社交互动的个性化需求。界面如下图所示。

个人中心界面
5.2 教练用户功能实现
5.3.6 教练排班管理模块
该模块专为教练查看教学时间安排设计。教练可输入日期或周次查询特定排班计划,系统以列表或日历形式清晰展示。点击任意条目可查看详细信息,包括授课场馆、课程类型、预计学员人数及具体时间段。支持按时间段筛选,帮助教练快速定位空闲或忙碌时段,合理规划个人行程。虽然仅限查询与查看详情,但数据实时同步管理员发布的最新排班,确保教练准确掌握每一次教学任务,避免时间冲突,是教练履行教学职责、按时到岗的重要依据。界面如下图所示。

教练排班管理界面

教练排班查看界面
5.3.7 课程分配管理模块
此功能用于教练执行具体的课程核销操作。教练可查询分配给自己的课程列表,查看课程详情如学员信息、上课时间及地点。核心功能是"核销",教练在学员到场后,通过扫描学员二维码或输入验证码完成签到确认,系统即时更新课程状态为"已上课"。该流程确保了教学记录的真实性与准确性,防止虚假考勤。查询与详情功能辅助教练课前准备,核销操作则闭环了课程交付环节,是教练完成教学任务、结算课时费用的关键操作步骤。界面如下图所示。

课程分配管理界面
5.3 管理员功能实现
5.3.1 后台首页模块
首页是管理员的决策指挥中心,导航栏涵盖所有管理模块。页面核心区域展示三大统计图表:商品销售金额趋势图、销售数量柱状图及分类占比饼图,直观反映商城运营状况。同时显示管理员个人信息及快捷修改密码入口,保障账户安全。数据实时刷新,帮助管理者快速掌握经营动态,发现销售热点与短板。界面布局科学,关键指标一目了然,为制定营销策略、调整商品结构提供数据支撑,是管理员监控全局、驱动业务增长的核心数据可视化平台。界面如下图所示。

后台首页界面
5.3.2 系统用户管理模块
该模块实现对系统三类用户(管理员、会员、教练)的全生命周期管理。支持多条件查询特定用户,查看详情资料。管理员可手动添加新账号或批量导入,对违规用户执行删除操作。特有"重置"功能可一键清空用户密码或状态。操作灵活且权限分明,构建了严谨的用户体系,保障了系统内不同角色身份的准确性与安全性,是维护系统用户秩序与权限隔离的基础核心功能。界面如下图所示。

系统用户管理界面
5.3.3 场馆信息管理模块
管理员在此维护所有游泳场馆的基础档案。支持查询、添加新场馆信息,编辑现有资料,或删除已关停场馆。详情页展示完整场馆数据,并集成"查看评论"功能,让管理员直接监控用户反馈,及时处理负面评价。通过统一管理,确保前端展示的场馆信息准确、新鲜且吸引人。界面如下图所示。

场馆信息管理界面
5.3.4 场馆预约管理模块
这是处理用户预约订单的核心枢纽。管理员可查询所有预约记录,查看详情包括用户、场馆、时段及状态。针对特殊情况,管理员拥有"改签"与"取消"的最高权限,可协助用户调整行程或处理纠纷。支持删除无效或测试订单,重置筛选条件以便快速定位。该模块实时监控场馆预订率,防止超售。通过人工干预机制,解决了自动化流程无法处理的复杂场景,保障了预约服务的灵活性与用户满意度,是维持场馆运营秩序与客户服务质量的關鍵环节。界面如下图所示。

场馆预约管理界面
5.3.5 预约改签管理模块
专用于处理用户发起的改签申请。管理员可查询待审核的改签请求,查看详情如原时段与新选时段的冲突情况。核心操作是"审核",管理员根据场馆余量与规则批准或拒绝申请。支持删除历史记录,重置筛选器。该流程确保改签操作合规,避免资源冲突。通过人工审核机制,平衡了用户灵活性与场馆承载力,保障了改签过程的公平性与有序性。此模块有效提升了服务的人性化程度,减少了因时间变动导致的用户流失,优化了整体预约体验。界面如下图所示。

预约改签管理界面
5.3.6 教练排班管理模块
管理员在此统筹全体教练的教学日程。支持查询特定教练或日期的排班,添加新的排班计划,删除临时变动,或重置错误设置。详情页展示具体时间段、授课内容及对应场馆。特有的"查看时间段"功能帮助管理员宏观把控教练负荷,避免过度排班或空闲浪费。通过科学调度,确保各场馆、各时段均有合格教练值守。该模块是连接教练资源与用户需求的关键桥梁,保障了教学服务的连续性与质量,是实现场馆教学资源最优配置的核心管理工具。界面如下图所示。

教练排班管理界面
5.3.7 课程分配管理模块
此功能用于将具体课程任务指派给教练并监督执行。管理员可查询分配记录,添加新课程分配,删除无效指派,或重置状态。详情页显示学员、教练及课程信息。核心"核销"权限允许管理员在教练缺席等异常情况下代为核销课程,确保数据完整。该模块实现了课程任务的精准下达与闭环管理,监控教学执行情况。通过灵活调配,保障了课程履约率,为后续的课时结算与教学质量评估提供了准确的数据基础,是教学运营管理的核心环节。界面如下图所示。

课程分配管理界面
5.3.8 系统管理模块
该模块配置系统基础运行参数。包含"轮播图管理",上传更新首页宣传图片;"会员等级"设定,定义不同等级的权益与折扣。支持对各配置项进行查询、添加、删除、详情查看及重置操作。通过灵活配置,管理员可快速响应市场活动,调整会员策略,无需修改代码即可更新前端展示内容。该功能是系统个性化运营与营销活动的技术底座,确保了系统内容的时效性与吸引力,提升了用户体验与商业转化能力,是维持系统活力与竞争力的重要工具。界面如下图所示。

会员等级管理界面
5.3.9 新闻管理模块
负责运营"游泳资讯"板块的内容生态。包含"游泳资讯"文章管理与"资讯分类"目录维护。管理员可查询、添加新文章,删除违规内容,查看详情及查看评论。支持重置编辑状态。通过分类管理,使资讯结构清晰,便于用户检索。评论查看功能让管理员监控舆论导向,及时互动或屏蔽不当言论。该模块丰富了平台内容,增强了用户粘性,打造了专业的游泳社区氛围,是提升平台文化价值与用户活跃度的重要内容运营阵地。界面如下图所示。

新闻管理界面
5.3.10 商城管理模块
全面管控电商交易体系。包含"场馆商城"商品上下架、"分类列表"维护、"优惠券"发行与"订单列表"监控。核心功能"订单售后"支持管理员审核用户的退款或换货申请。提供查询、添加、删除、详情查看及重置等全套操作。通过精细化管理,确保商品丰富、价格准确、优惠有效及售后顺畅。该模块打通了从商品展示到交易完成的闭环,保障了资金流与物流的有序运转,是提升场馆非票务收入、满足用户多元化消费需求的核心商业引擎。界面如下图所示。

商城管理界面
第六章 系统测试
6.1 测试目的方法
系统测试是软件开发过程中的关键环节,其主要目的是验证系统是否能够稳定、高效地运行,确保各功能模块符合设计需求,在不同应用场景下具备良好的兼容性与安全性。通过测试发现并修复潜在问题,保障系统在实际应用中的可靠性与用户体验。
在本系统的测试过程中,采用多种测试方法相结合的方式,以确保测试的全面性和有效性,包括功能测试、性能测试、兼容性测试、安全性测试多种手段,采用自动化工具与人工测试相结合的方式,全面评估系统的各项指标,确保系统在多用户并发、复杂网络环境下的稳定运行能力。下面将主要对功能测试用例进行分析说明。
6.2 功能测试用例
用户注册功能测试
在登录系统之前,用户必须先注册为系统用户拥有账户权限。需要用户在注册页面根据提示填写必要的注册信息来创建账户。用户注册功能测试用例设计如表6-1所示。
表6-1 用户注册功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证用户成功注册 | 测试输入有效的用户名和密码,确认密码一致并点击注册 | 显示注册成功的提示信息 | 通过 |
| 验证用户名重复不能注册 | 测试输入已存在的用户名和输入有效的密码,确认密码一致并点击注册 | 显示用户名已存在的提示信息 | 通过 |
用户登录功能测试
为了使用系统的全部功能,用户首先需要进行登录。在登录界面,用户应输入其账号和密码以完成身份验证过程。有关用户登录功能测试用例设计如表6-2所示。
表6-2 用户登录功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证有效登录 | 测试输入正确的用户名和密码,点击登录按钮 | 显示登录成功,跳转至用户首页 | 通过 |
| 验证空用户名登录 | 测试不输入用户名,输入正确密码 ,点击登录按钮 | 显示用户名不能为空提示信息 | 通过 |
| 验证空密码登录 | 测试输入正确用户名,不输入密码,点击登录按钮 | 显示密码不能为空提示信息 | 通过 |
| 验证错误用户名登录 | 测试输入错误的用户名和正确密码,点击登录按钮 | 显示用户名或密码错误提示信息 | 通过 |
| 验证错误密码登录 | 测试输入正确用户名和错误密码,点击登录按钮 | 显示用户名或密码错误提示信息 | 通过 |
(3) 游泳资讯浏览与交互功能测试
用户可检索、阅览游泳相关资讯,并执行点赞、收藏及评论等互动操作。本模块测试核心在于信息呈现的精准度与社交功能的完备性。测试用例如表6-3所示。
表6-3 游泳资讯浏览与交互功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证资讯列表加载 | 登录后访问游泳资讯页面 | 系统依据用户兴趣标签优先推荐文章,其余按发布时间倒序排列 | 通过 |
| 验证关键字检索 | 输入"自由泳技巧"作为搜索词 | 界面展示包含该关键词的所有相关文章列表 | 通过 |
| 验证点赞交互 | 点击文章下方的"点赞"图标 | 计数值自动加一,图标状态切换为高亮选中 | 通过 |
| 验证收藏操作 | 点击"收藏"按钮 | 该文章存入个人收藏夹,可在中心页面随时查阅 | 通过 |
| 验证评论发布 | 在评论区输入文本并确认提交 | 评论内容即时显示在列表底部,作者拥有管理权限 | 通过 |
(4) 会员查看场馆详情与预约功能测试
用户可在系统中查阅各游泳馆的详细档案,涵盖环境图片、设施介绍及实时评价,并进行预约操作。测试重点聚焦于数据展示的完整性、权限隔离机制及预约流程的连贯性。测试用例如表6-4所示。
表6-4 会员查看场馆详情与预约功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证场馆列表渲染 | 用户进入"场馆信息"模块 | 系统仅展示开放状态的场馆,按距离或热度排序 | 通过 |
| 验证详情页面展示 | 点击特定场馆条目 | 准确呈现图文介绍、水质报告、开放时间及用户评价 | 通过 |
| 验证点赞反馈 | 对场馆服务点击"点赞" | 点赞总数递增,状态更新,后台可统计热度 | 通过 |
| 验证评论发表 | 在场馆页下方撰写评价并提交 | 评论成功上墙,用户可在个人中心进行编辑或删除 | 通过 |
(5) 用户在商城提交订单与售后功能测试
用户在选购商品并完成支付后,需在个人中心管理订单状态,包括申请售后或确认收货,形成交易闭环。测试侧重于购物车逻辑、订单生成准确性及售后流程的规范性。测试用例如表6-5所示。
表6-5 用户在商城提交订单与售后功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证待支付订单列表 | 进入"我的订单"页面 | 仅显示已下单未支付的记录,支持查看详情与去支付 | 通过 |
| 验证订单提交逻辑 | 选择商品填写地址并点击结算 | 系统提示"下单成功",库存扣减,状态更为"待发货" | 通过 |
| 验证重复支付拦截 | 对同一未支付订单重复发起支付请求 | 系统识别并合并请求,或提示"处理中"避免重复扣款 | 通过 |
| 验证售后申请展示 | 管理员端查看用户的退款申请 | 能清晰看到申请原因、上传凭证及原始订单信息 | 通过 |
| 验证历史归档查询 | 在订单列表筛选"已完成"状态 | 所有完结交易及其物流信息按时间轴有序归档展示 | 通过 |
(6) 管理员配置轮播图与公告功能测试
管理员需定期更新首页轮播图素材及发布全站通知公告,确保信息时效性。测试关注素材上传的兼容性、发布流程的严谨性及前端同步的及时性。测试用例如表6-6所示。
表6-6 管理员配置轮播图与公告功能测试表
| 测试目的 | 用例描述 | 预期结果 | 测试结果 |
|---|---|---|---|
| 验证配置页面加载 | 管理员进入"系统管理"或"公告管理"页 | 自动列出当前生效的轮播图与公告列表,支持增删改查 | 通过 |
| 验证新内容发布 | 上传图片并填写标题文案,点击保存 | 系统提示"操作成功",新内容即时写入数据库 | 通过 |
| 验证必填项校验 | 未输入标题或未选择图片直接提交 | 界面弹出"请填写完整信息"警告,缺失项 | 通过 |
| 验证覆盖更新机制 | 对已有轮播图进行二次编辑并提交 | 系统自动覆盖旧素材,前端刷新后立即显示最新内容 | 通过 |
6.3 测试结果分析
在本次系统验收测试阶段,紧扣游泳馆管理系统的多角色协作架构与关键业务链路,重点针对会员用户的资讯交互、场馆预约流程、商城订单闭环,以及管理员的内容配置等核心模块开展了专项功能验证。测试工作集中于用户准入鉴权、个性化数据推送、交易状态流转及后台配置同步等实际应用场景,全面覆盖了正常操作流、异常输入处理、权限边界控制、状态机变更及前后端数据一致性等关键指标。针对上述业务场景,共规划并执行了四组针对性测试用例,涵盖了内容检索、互动反馈、订单处理、售后审核及系统配置等典型操作路径。
历经多轮迭代验证,所有预设测试用例均获通过。数据显示,系统能够精准执行基于用户偏好的资讯推荐算法,并确保场馆数据的隔离性与准确性;商城模块成功实现了从选购到售后的全流程闭环,有效阻断了重复支付风险,订单状态流转逻辑严密。管理员在配置轮播图与公告时,表单校验机制运行良好,确保了发布内容的规范性,且前端更新无延迟。数据库中关于用户行为日志、订单流水、评价记录及系统配置参数的读写操作准确无误,未发现越权访问或数据脏读现象。整体而言,系统运行平稳,界面交互流畅,充分满足了会员用户便捷消费与管理者高效运营的双重需求,圆满达成了本项目设计的各项功能指标与应用愿景。