)
博主介绍✌ 专注于VUE,小程序安卓Java,python,物联网专业有18年开发经验长年从事毕业指导项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题我会尽力帮助你。一、研究目的在现代企业管理实践中办公空间的高效利用已成为衡量组织运营效率的重要指标之一。随着远程办公与弹性工作制的普及传统的固定工位分配模式已难以满足多变的业务需求导致资源闲置率升高、员工调度不便、管理成本攀升等问题日益突出。为此构建一套能够动态分配工位与会议室、实时显示空闲状态并支持多渠道预订的系统显得尤为迫切。本研究旨在基于SpringBoot框架设计并实现一套集成工位预约与会议室管理的综合平台系统将采用RESTful API与前端Vue组件协同工作以实现高并发访问下的数据一致性与安全性。通过引入Redis缓存技术可显著提升查询响应速度并利用Spring Security实现细粒度权限控制从而保障敏感信息的保密性。系统还将提供可视化仪表盘展示工位使用率、会议室占用率等关键指标为管理层决策提供数据支持。研究的核心目标包括①实现工位与会议室资源的统一调度模型②构建基于角色的访问控制体系支持管理员、普通员工及访客三类用户③通过异步消息队列实现预约冲突检测与通知推送④提供可扩展的插件接口以便未来接入企业内部单点登录、考勤系统等。通过上述功能本研究期望降低企业办公空间管理成本30%以上并提升员工对资源调度的满意度。从理论层面来看本工作将丰富基于微服务架构的办公资源管理研究为后续在云原生环境下实现多租户隔离与弹性伸缩提供实践案例从应用层面则为中小型企业提供一套低成本、易部署的解决方案满足其对高效空间利用与信息化管理的双重需求。此外本研究将对系统性能进行基准测试评估在不同并发负载下的响应时间与吞吐量并通过AB测试验证用户界面的可用性。系统设计亦兼顾可维护性与可扩展性采用模块化编码规范与持续集成流水线以降低后期迭代成本。二、研究意义在当前信息化管理背景下企业办公空间的高效配置已成为提升组织竞争力的关键因素之一。传统的人工排班与纸质预订方式不仅耗时耗力而且易出现冲突与资源浪费导致人力成本与空间利用率双重下降。通过构建基于SpringBoot的工位预约与会议室管理系统可实现资源调度的自动化与实时可视化从而显著降低人工干预成本提升管理效率。该系统能够在多租户环境下实现资源隔离支持不同部门、团队甚至个人对工位和会议室的灵活预约为远程办公与弹性工作制提供有力技术支撑。与此同时系统所采集的使用数据可用于生成工位占用率、会议室利用率等关键指标为企业决策层提供精准的数据依据进一步优化空间布局与资源配置。理论层面而言本研究将微服务架构与企业级权限管理相结合为办公资源管理提供了可扩展、易维护的技术范式并为后续在云原生环境下实现弹性伸缩与多租户隔离奠定基础。实践层面该系统可直接部署于中小型企业降低技术门槛与实施成本帮助企业在不增加额外硬件投入的前提下实现办公空间管理的数字化转型。通过对系统性能与用户体验的持续评估本研究还将为类似应用场景提供可复制、可推广的设计经验。综上所述该系统不仅具有显著的经济效益与运营价值还在理论与实践层面推动了企业信息化管理的发展为未来办公空间管理技术提供了重要参考。三、国内外研究现状办公空间管理系统的研究在国内外已形成多条技术路线主要集中于资源调度、实时监控与数据分析等方面。国内学术界普遍关注基于移动互联网与物联网技术的工位与会议室预约平台致力于通过传感器采集空间使用状态实现预约冲突预警与动态分配。近年来多所高校信息工程学院开展了“智慧校园办公空间管理”项目利用蓝牙、Wi‑Fi定位技术实时监测人员流动并将数据上传至云端进行统计分析从而为校园行政部门提供工位利用率报告。与此同时一些科研院所提出了基于深度学习的需求预测模型通过历史预约记录与外部因素如节假日、会议日程相结合预测未来一周内各工位的使用概率为资源预留提供决策支持。在国外学术研究主要聚焦于算法优化与系统架构设计。多篇期刊论文探讨了整数规划与遗传算法在会议室调度中的应用提出了可在高并发环境下实现最优资源分配的模型。另有研究利用云计算平台搭建多租户办公空间管理系统采用微服务架构实现功能模块的解耦并通过容器化技术保证系统的弹性伸缩。针对安全与隐私问题国外学者提出了基于角色访问控制RBAC的权限模型并结合区块链技术实现预约记录的不可篡改性。数据分析方面研究团队利用大数据技术对企业内部空间使用进行时序分析发现工位利用率与员工工作效率存在显著相关性为管理决策提供了量化依据。总体来看国内研究多侧重于技术实现与系统集成强调与校园或企业内部信息系统的无缝衔接国外研究则更注重算法层面的创新与跨租户资源共享的可行性。两者在成果上均取得了显著进展国内已实现多家高校和中小型企业的落地部署利用率提升幅度普遍超过20%国外则通过实验验证证明所提优化模型在大规模场景下仍能保持低延迟与高准确率。未来研究可进一步融合人工智能预测、区块链安全与云原生架构推动办公空间管理向更高效、透明与可持续的方向发展。四、预期达到目标及解决的关键问题本研究的首要预期目标是构建一套基于SpringBoot框架的工位预约与会议室管理系统系统应实现资源调度的自动化、实时可视化以及多渠道预订功能从而显著提升企业办公空间利用率并降低人工管理成本。为此系统将采用RESTful API与前端Vue组件协同工作利用Redis缓存技术提升查询响应速度并通过Spring Security实现细粒度权限控制保障数据安全与隐私。系统还将提供可视化仪表盘实时展示工位使用率、会议室占用率等关键指标为管理层决策提供数据支持。在实现过程中关键问题主要集中于并发访问下的数据一致性与冲突检测。由于多用户同时提交预约请求系统必须保证在高并发环境下不出现资源重复预订的情况需采用分布式锁或乐观锁机制并结合消息队列实现异步冲突检测与通知推送。此外系统的安全性也是重要考量之一需构建基于角色访问控制RBAC的权限体系并对敏感操作进行日志审计以满足企业合规要求。系统的可扩展性与可维护性亦是关键挑战需采用模块化编码规范与持续集成流水线确保后期功能迭代与技术升级的顺畅进行。另一个关键问题是系统与企业现有信息化平台的无缝集成。为实现单点登录SSO与考勤系统对接需设计统一身份认证接口并通过标准化数据格式如JSON实现业务数据交互。系统的用户体验亦不可忽视需在前端界面中提供直观的预约流程、冲突提示与历史记录查询功能以提升用户满意度。最后系统性能评估将通过基准测试与AB测试验证在不同并发负载下测量响应时间、吞吐量与错误率并根据评估结果进行性能调优。综上所述本研究的预期目标是实现一套功能完善、性能可靠且安全可扩展的工位与会议室管理平台关键问题则聚焦于并发一致性处理、安全权限控制、系统集成与用户体验优化。通过解决上述问题系统将为企业提供高效、透明且易于维护的办公空间管理解决方案。五、研究内容整体研究内容围绕构建一套基于SpringBoot的工位预约与会议室管理系统展开系统设计遵循模块化、可扩展与安全可靠的原则。首先在需求分析阶段将对企业办公空间使用现状进行调研识别工位分配、会议室预订、资源冲突、权限管理等核心功能需求并通过用户访谈与业务流程图明确系统交互场景。随后在系统架构设计中采用微服务架构将业务层拆分为工位管理服务、会议室管理服务、预约调度服务与权限鉴权服务每个服务均使用SpringBoot进行快速开发利用Docker容器化部署以实现弹性伸缩。在数据层面研究将设计统一的数据库模型采用MySQL存储核心业务表工位信息、会议室信息、预约记录、用户信息并使用Redis缓存热点数据如空闲工位列表、会议室占用状态通过JPA实现ORM映射并在关键字段上加索引以提升查询性能。为解决高并发下的预约冲突问题将引入分布式锁机制如Redisson和乐观锁策略配合消息队列Kafka实现异步冲突检测与通知推送。系统权限层将基于Spring Security实现RBAC模型支持管理员、普通员工与访客三类角色并通过JWT进行无状态鉴权保证API安全。前端交互部分将采用Vue.js框架构建单页面应用利用Element Plus组件库实现工位与会议室的日历视图、实时占用状态显示与预约流程。前端将通过Axios调用后端RESTful API并在客户端实现冲突预警与预约确认弹窗以提升用户体验。为满足多渠道预订需求系统还将提供手机推送通知Web Push与企业内部即时通讯插件如企业微信接口确保用户在不同终端均能顺畅完成预约。在算法层面研究将设计基于遗传算法与整数规划的资源调度模型以在多租户环境下实现工位与会议室的最优分配。该模型将考虑工位偏好、会议时长、资源可用性等约束并通过模拟退火等启发式方法快速求解。为进一步提升系统智能化研究还将利用机器学习技术对历史预约数据进行聚类与预测生成未来一周内各工位与会议室的使用概率分布为管理层提供决策支持。系统测试与评估阶段将采用JUnit、Mockito进行单元测试并通过LoadRunner或Locust模拟高并发访问测量系统在不同负载下的响应时间、吞吐量与错误率。安全性评估将使用OWASP ZAP扫描潜在漏洞并对权限模型进行渗透测试。最终研究将撰写系统架构文档、接口规范与用户手册为后续企业部署提供完整参考。通过上述研究内容系统将实现工位与会议室资源的自动化调度、实时可视化管理以及多渠道预订功能并在性能、安全与可维护性方面达到行业领先水平从而为企业提升办公空间利用率、降低运营成本并支持弹性工作制提供有力技术支撑。六、需求分析用户需求在现代企业办公环境中员工、部门主管与行政管理人员对工位与会议室管理系统提出了多维度的需求。首先普通员工需要能够快速、直观地查看可用工位与会议室的实时状态并通过简洁的预约流程完成预订以避免因冲突导致的时间浪费其次部门主管希望能够掌握本部门工位使用率与会议室占用情况及时调整资源配置以提升团队协作效率再次行政管理人员则需要对全公司范围内的资源利用进行统一监控与统计分析以支持空间规划与成本控制决策。此外用户对系统的安全性与可靠性也有严格要求员工在预约过程中不希望出现重复预订或误操作导致的资源冲突主管在查看报表时需要确保数据的准确性与时效性行政人员则需要权限分级管理防止非授权用户随意修改或取消预约。在技术层面用户期望系统能够兼容多种终端包括桌面浏览器、移动端Web以及企业内部即时通讯工具以满足不同工作场景下的访问需求同时系统应支持多语言与多时区展示以适应跨地域办公团队的使用。综上所述用户需求主要围绕高效、透明、可控的资源预订与管理展开并强调安全性、可靠性与多终端兼容性的综合体验。功能需求系统需实现完整的身份鉴权与角色管理功能支持管理员、部门主管与普通员工三类角色并通过JWT或OAuth2.0实现无状态鉴权管理员拥有对工位、会议室信息的增删改查权限并可配置资源属性与使用规则主管可查看所属部门资源使用报表并对预约进行审批或取消操作普通员工则仅能浏览空闲资源并提交预约请求。在资源管理方面系统需提供工位与会议室的详细信息维护模块包括位置、容量、设备配置等属性支持批量导入与导出功能以便与企业现有数据库同步。预约调度模块需实现实时冲突检测与预警采用分布式锁或乐观锁机制保证同一资源在同一时间段内仅被单个用户占用系统应提供日历视图、列表视图与地图视图支持多维度筛选与搜索同时预约成功后需触发即时通知邮件、短信或企业微信消息并在预订开始前推送提醒。报表与分析模块需聚合工位使用率、会议室占用率、预约频次等关键指标并以图表形式展示支持自定义时间范围与部门维度的筛选管理员可导出PDF或Excel报表用于管理层决策。集成能力方面系统需提供RESTful API接口方便与企业内部考勤系统、HR系统或OA系统对接实现单点登录与数据同步同时支持OAuth2.0授权以便第三方应用获取必要资源信息。安全与合规模块需实现细粒度权限控制、操作日志审计与异常监控所有敏感数据需加密存储并在传输层使用HTTPS系统应定期进行漏洞扫描与渗透测试确保符合企业信息安全管理规范。通过上述功能需求的实现系统将能够满足用户对工位与会议室资源的高效、透明、可控管理需求并提供灵活的集成与安全保障。七、可行性分析经济可行性方面本系统的实施成本主要集中于软件开发、服务器租赁与维护、以及后期培训与技术支持。采用SpringBoot框架与开源组件可显著降低许可费用容器化部署与云服务的使用进一步降低硬件投入且通过弹性伸缩可根据实际负载动态调整资源从而避免过度投资。系统上线后企业可通过提升空间利用率、减少空闲工位与会议室占用而节约租金与设备折旧成本此外自动化预约与冲突检测功能将减少人工管理时间使人力资源得到更高效配置。综合来看初期投入相对较低而长期运营收益显著经济回报周期可控制在一年以内。社会可行性方面该系统的推广与应用符合当前企业向数字化、智能化办公转型的趋势。通过提供透明、便捷的资源预订平台可提升员工满意度与工作效率进而增强企业竞争力。系统兼容多终端访问与多语言展示可满足跨地区团队协作需求同时细粒度权限管理与数据安全保障符合信息安全法规降低合规风险。若在实施过程中积极开展培训与用户反馈机制可进一步提升系统接受度与使用率从而实现社会效益最大化。技术可行性方面本研究基于成熟的SpringBoot生态结合Redis缓存、Kafka消息队列、Redisson分布式锁等技术已在多项目中验证其可靠性与可扩展性。微服务架构与容器化部署保证了系统模块的解耦与高可维护性RESTful API与JWT鉴权实现了安全、无状态的服务交互数据库层采用MySQL与Redis混合存储满足事务一致性与高速缓存需求。算法层面遗传算法与整数规划模型已在学术实验中证明其在资源调度中的有效性机器学习预测模块通过历史数据训练可进一步提升系统智能化水平。综上所述从技术实现角度看本系统具备成熟、可验证的技术方案能够满足预期功能与性能要求。八、功能分析系统功能模块的设计遵循需求分析所揭示的用户与业务需求整体划分为七大核心模块分别为用户管理、资源管理、预约调度、冲突检测与通知、报表与分析、集成与API网关以及安全审计。用户管理模块负责实现身份鉴权与角色分配支持管理员、部门主管和普通员工三类角色并通过JWT或OAuth2.0实现无状态鉴权管理员可对用户信息进行增删改查并配置角色权限主管可查看所属部门的资源使用情况并对预约进行审批或取消普通员工则仅能浏览空闲资源并提交预约请求。资源管理模块维护工位与会议室的详细信息包括位置、容量、设备配置等属性并提供批量导入与导出功能以便与企业现有数据库同步该模块还支持对资源进行状态标记如维修、占用等并通过RESTful API向前端暴露查询接口。预约调度模块实现工位与会议室的实时预订流程提供日历视图、列表视图与地图视图支持多维度筛选与搜索用户提交预约后系统立即检查资源可用性并生成预约记录若预约成功则触发即时通知邮件、短信或企业微信消息并在预订开始前推送提醒。冲突检测与通知模块采用分布式锁如Redisson和乐观锁机制确保同一资源在同一时间段内仅被单个用户占用系统通过Kafka消息队列实现异步冲突检测与通知推送若检测到冲突系统自动回滚预约并向相关用户发送冲突提示。报表与分析模块聚合工位使用率、会议室占用率、预约频次等关键指标并以图表形式展示支持自定义时间范围与部门维度的筛选管理员可导出PDF或Excel报表用于管理层决策。集成与API网关模块提供统一的RESTful API接口方便与企业内部考勤系统、HR系统或OA系统对接实现单点登录与数据同步同时支持OAuth2.0授权以便第三方应用获取必要资源信息API网关负责流量控制、鉴权验证与日志记录。安全审计模块实现细粒度权限控制、操作日志审计与异常监控所有敏感数据采用加密存储并在传输层使用HTTPS系统定期进行漏洞扫描与渗透测试确保符合企业信息安全管理规范。通过上述七大功能模块的协同工作系统能够满足从用户身份验证到资源预订、冲突检测、报表分析以及多渠道集成的完整业务流程并在安全与合规方面提供坚实保障。九、数据库设计字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注users.id | 用户编号 | 36 | varchar(36) | PK 主键UUID格式。 |users.username | 用户名登录账号唯一约束。 | 50 | varchar(50) | - |users.password_hash | 密码哈希值用于身份鉴权。 | 255 | varchar(255) | - |users.email | 邮箱地址用于通知与密码重置。 | 100 | varchar(100) | - |users.phone | 联系电话支持国际区号。 | 20 | varchar(20) | - |users.status | 用户状态0为禁用1为启用。 | 1 | tinyint(1) | - |users.created_at | 创建时间戳。 | - | datetime | - |users.updated_at | 最后更新时间戳。 | - | datetime | - |字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注roles.id | 角色编号唯一标识。 | 36 | varchar(36) | PK 主键UUID格式。 |roles.name | 角色名称如管理员、主管、普通员工唯一约束。 | 30 | varchar(30) | - |字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注user_roles.user_id | 用户编号外键关联users.id。 | 36 | varchar(36) | FK 外键参照users.id。 |user_roles.role_id | 角色编号外键关联roles.id。 | 36 | varchar(36) | FK 外键参照roles.id。 |user_roles.created_at | 关联创建时间戳。 | - | datetime | - |字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注departments.id | 部门编号唯一标识。 | 36 | varchar(36) | PK 主键UUID格式。 |departments.name | 部门名称唯一约束。 | 50 | varchar(50) | - |字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注resources.id | 资源编号唯一标识。 | 36 | varchar(36) | PK 主键UUID格式。 |resources.resource_code | 资源编码工位或会议室的唯一标识。 | 20 | varchar(20) | - |resources.name | 资源名称例如“会议室A”或“工位12”。 | 50 | varchar(50) | - |resources.type | 资源类型枚举值workstation工位、meetingroom会议室。 | 15 | varchar(15) | - |resources.capacity | 容量会议室可容纳人数或工位单人。 | - | int(11) | - |resources.location | 位置信息楼层房间号。 | 50 | varchar(50) | - |resources.status | 状态0为可用1为维护中2为占用。 | 1 | tinyint(1) | - |resources.department_id | 所属部门编号外键关联departments.id。 | 36 | varchar(36) | FK 外键参照departments.id。 |resources.created_at | 创建时间戳。 | - | datetime | - |resources.updated_at | 最后更新时间戳。 | - | datetime | - |字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注appointments.id | 预约编号唯一标识。 | 36 | varchar(36) | PK 主键UUID格式。 |appointments.user_id | 用户编号外键关联users.id。 | 36 | varchar(36) | FK 外键参照users.id。 |appointments.resource_id | 资源编号外键关联resources.id。 | 36 | varchar(36) | FK 外键参照resources.id。 |appointments.start_time | 预约开始时间戳。 | - | datetime | - |appointments.end_time | 预约结束时间戳。 | - | datetime | - |appointments.status | 预约状态枚举值booked已预订、cancelled已取消、completed已完成。 | 10 | varchar(10) | - |appointments.created_at | 创建时间戳。 | - | datetime | - |字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注notifications.id | 通知编号唯一标识。 | 36 | varchar(36) | PK 主键UUID格式。 |notifications.appointment_id | 预约编号外键关联appointments.id。 | 36 | varchar(36) | FK 外键参照appointments.id。 |notifications.recipient_user_id | 接收人用户编号外键关联users.id。 | 36 | varchar(36) | FK 外键参照users.id。 |notifications.type | 通知类型枚举值email邮件、sms短信、push推送。 | 10 | varchar(10) | - |notifications.content | 通知内容文本字段。 | - | text | - |notifications.sent_at | 通知发送时间戳。 | - | datetime | - |以上表结构遵循第一范式至第三范式所有非主属性完全函数依赖于主键避免了数据冗余与更新异常。每个表均设有主键约束并在需要关联的字段上建立外键约束以保证数据完整性与参照一致性。十、建表语句CREATE DATABASE IF NOT EXISTS office_reservation CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE office_reservation;-- 用户表CREATE TABLE users (id VARCHAR(36) NOT NULL,username VARCHAR(50) NOT NULL,password_hash VARCHAR(255) NOT NULL,email VARCHAR(100),phone VARCHAR(20),status TINYINT(1) NOT NULL DEFAULT 1,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (id),UNIQUE KEY uq_users_username (username),UNIQUE KEY uq_users_email (email)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 角色表CREATE TABLE roles (id VARCHAR(36) NOT NULL,name VARCHAR(30) NOT NULL,PRIMARY KEY (id),UNIQUE KEY uq_roles_name (name)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 用户角色关联表CREATE TABLE user_roles (user_id VARCHAR(36) NOT NULL,role_id VARCHAR(36) NOT NULL,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (user_id, role_id),CONSTRAINT fk_user_roles_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_user_roles_role FOREIGN KEY (role_id) REFERENCES roles(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 部门表CREATE TABLE departments (id VARCHAR(36) NOT NULL,name VARCHAR(50) NOT NULL,PRIMARY KEY (id),UNIQUE KEY uq_departments_name (name)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 资源表工位与会议室CREATE TABLE resources (id VARCHAR(36) NOT NULL,resource_code VARCHAR(20) NOT NULL,name VARCHAR(50) NOT NULL,type VARCHAR(15) NOT NULL, -- workstation / meetingroomcapacity INT(11) DEFAULT 1,location VARCHAR(50),status TINYINT(1) NOT NULL DEFAULT 0, -- 0: available, 1: maintenance, 2: occupieddepartment_id VARCHAR(36),created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (id),UNIQUE KEY uq_resources_code (resource_code),KEY idx_resources_department (department_id),CONSTRAINT fk_resources_department FOREIGN KEY (department_id) REFERENCES departments(id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 预约表CREATE TABLE appointments (id VARCHAR(36) NOT NULL,user_id VARCHAR(36) NOT NULL,resource_id VARCHAR(36) NOT NULL,start_time DATETIME NOT NULL,end_time DATETIME NOT NULL,status VARCHAR(10) NOT NULL DEFAULT booked, -- booked / cancelled / completedcreated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id),KEY idx_appointments_user (user_id),KEY idx_appointments_resource (resource_id),CONSTRAINT fk_appointments_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_appointments_resource FOREIGN KEY (resource_id) REFERENCES resources(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 通知表CREATE TABLE notifications (id VARCHAR(36) NOT NULL,appointment_id VARCHAR(36) NOT NULL,recipient_user_id VARCHAR(36) NOT NULL,type VARCHAR(10) NOT NULL, -- email / sms / pushcontent TEXT,sent_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id),KEY idx_notifications_appointment (appointment_id),KEY idx_notifications_recipient (recipient_user_id),CONSTRAINT fk_notifications_appointment FOREIGN KEY (appointment_id) REFERENCES appointments(id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_notifications_recipient FOREIGN KEY (recipient_user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 索引补充CREATE INDEX idx_users_status ON users(status);CREATE INDEX idx_resources_type ON resources(type);CREATE INDEX idx_appointments_status ON appointments(status);CREATE INDEX idx_notifications_type ON notifications(type);文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方获取联系方式