博主介绍:✌ 专注于VUE,小程序,安卓,Java,python,物联网专业,有18年开发经验,长年从事毕业指导,项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题,我会尽力帮助你。
一、研究目的
随着城市化进程加速,智慧社区作为提升城市治理水平的重要手段,其建设已成为政府与科研机构关注的焦点。 在此背景下,基于现代互联网技术与物联网设备的社区管理系统能够实现资源共享、服务协同与安全监控,从而显著提升居民生活质量与社区运营效率。 本研究旨在构建一套基于SpringBoot框架后端与Vue.js前端技术栈的智慧社区管理平台,以实现对物业、安防、公共设施及居民服务等多维度数据的统一采集、存储与分析。 通过采用微服务架构,系统将实现模块化部署与弹性伸缩,满足不同规模社区在功能扩展与性能调优方面的需求。 为确保系统具备高可用性与安全性,研究将引入基于JWT的身份认证机制、RBAC权限控制以及HTTPS加密传输,并对关键业务流程进行安全审计。
在功能实现层面,本平台将提供物业报修、社区公告、访客登记、智能停车管理及智慧能源监测等核心模块,并通过可视化仪表盘向管理者实时展示运营指标。 为验证系统性能与可用性,研究将开展负载测试与用户体验评估,采用A/B测试方法对不同交互设计进行比较,并通过指标如响应时间、并发处理能力和用户满意度进行量化分析。 通过本研究的实施,预期能够为智慧社区建设提供一套可复制、可扩展的技术方案,推动社区治理向数字化、智能化方向迈进,并为后续在更大范围内推广智慧城市解决方案奠定技术与经验基础。
二、研究意义
智慧社区管理系统的研究具有重要的理论与实践意义。首先,从理论层面来看,该系统通过整合SpringBoot与Vue技术栈,构建了一个可扩展、模块化的微服务架构,为物联网数据融合与业务协同提供了新的实现范式,丰富了基于云计算与前后端分离模式的社区治理研究。其次,在实践层面,该平台能够实现物业报修、安防监控、能源管理等功能的统一管理,显著提升社区运营效率与居民满意度,从而为城市治理数字化转型提供了可复制的技术方案。再次,系统采用JWT身份认证与RBAC权限控制等安全机制,能够有效保障居民隐私与数据安全,为智慧社区的数据治理提供了可靠保障。最后,通过对系统性能的负载测试与用户体验评估,本研究验证了微服务架构在大规模社区应用中的可行性,为后续在更大范围内推广智慧城市解决方案奠定了技术与经验基础。除此之外,该系统支持多租户模式,能够满足不同物业公司与社区管理机构的差异化需求;通过可视化仪表盘,管理者可以实时监控关键指标,如能源消耗、设备运行状态与居民投诉率,从而实现精准决策与资源优化配置。系统的模块化设计还便于后期功能扩展,例如接入智能门禁、车位预约与社区健康管理等新业务场景,进一步提升社区治理的智能化水平。综上所述,本研究不仅为智慧社区管理提供了完整的技术实现路径,也为相关领域的学术研究与产业应用提供了重要参考价值。
三、国内外研究现状
在全球范围内,智慧社区管理系统的研究已从单一的设备联网逐步演进为涵盖多维度数据采集、云端与边缘计算协同以及人工智能决策支持的完整闭环。 早期研究主要集中于物联网传感器网络与集中式数据库的构建,强调设备互联与数据同步;随后,随着云计算平台的普及,学术界开始探索基于微服务架构的后端实现,以提升系统弹性与可维护性;近年则出现了将边缘计算与深度学习模型相结合的研究,以实现低延迟的异常检测与预测维护。 在技术手段方面,国内外研究普遍采用SpringBoot、Node.js等轻量级后端框架,并结合Vue、React等现代前端技术,实现前后端分离与模块化开发;与此同时,安全性与隐私保护成为重要议题,研究者提出基于区块链的数据共享机制、JWT身份认证以及多因素身份验证方案,以保障居民信息安全。
在功能实现层面,国外研究多聚焦于社区服务平台的整合,包括物业管理、公共设施调度、智能安防与健康监测等;通过大数据分析与可视化技术,为社区运营者提供决策支持;国内研究则更侧重于与地方政府治理体系的对接,提出了“数字孪生”社区模型,将物理环境映射为虚拟空间,实现实时监控与仿真预测;此外,国内学者在智慧能源管理、智能停车、社区电商等细分领域也取得了一系列实验验证成果。 在方法论方面,国外研究常采用案例研究与实验评估相结合的方式,强调系统的可扩展性与跨域适配性;国内研究则倾向于基于大型城市社区的试点项目,注重对社会治理效果的量化评估。
总体而言,国内外在智慧社区管理系统的研究方向呈现出技术深度与应用广度并重的发展趋势。 主要研究方向包括:多层次数据融合与实时分析、微服务架构与容器化部署、边缘计算与AI模型集成、隐私保护与安全治理以及基于区块链的数据共享机制。 通过对比分析,国外研究在技术创新与跨域协同方面具有较强的前瞻性;国内研究则在政策导向与社会治理实践中展现出更高的适配性。 随着5G、人工智能与大数据技术的进一步成熟,未来智慧社区管理系统将朝着更加智能化、自治化与可持续发展的方向演进,为城市治理提供更加精准、高效与安全的技术支撑。
四、预期达到目标及解决的关键问题
本研究的首要目标在于构建一套基于SpringBoot后端与Vue前端技术栈的智慧社区管理平台,该平台需实现物业报修、安防监控、能源管理与居民服务等核心业务模块,并通过微服务架构实现模块化部署与弹性伸缩;其次,系统需满足高并发访问下的响应时间不超过200毫秒、99.9%可用率以及数据一致性保障;再次,平台应具备完善的身份认证与权限控制机制,支持JWT、RBAC与多因素身份验证,以确保居民个人信息与社区关键数据的安全;最后,系统需提供可视化仪表盘与报表生成工具,为社区管理者提供实时运营指标与决策支持。
在实现上述目标的过程中,研究将面临若干关键技术难题。首先是异构设备数据的统一采集与标准化处理,由于社区内存在多种传感器与监控设备,其数据格式、采样频率与质量控制差异显著,如何设计灵活的数据接入层并实现实时转换与校验,是系统稳定运行的前提;其次是大规模并发请求下的性能优化,尤其在物业报修与访客登记等业务场景中,需要通过缓存、异步队列与分布式事务等手段保障数据一致性与高吞吐量;再次是安全与隐私保护,系统需在保证功能完整性的同时,对居民敏感信息进行加密存储、访问审计与合规审查;此外,用户体验的可接受度也是关键问题之一,平台界面必须兼顾不同年龄层居民的使用习惯,并通过可配置化设计降低学习成本。
为解决上述问题,本研究将采用分层架构设计,将数据采集、业务逻辑与表现层严格分离;在后端采用SpringBoot微服务框架结合Docker容器化与Kubernetes编排,实现服务的弹性伸缩与灰度发布;前端则利用Vue组件化与状态管理,提供响应式交互界面;在安全层面引入OAuth2.0与JWT双重认证机制,并对敏感数据采用AES-256加密存储;在性能优化方面,将使用Redis缓存热点数据、Kafka消息队列实现业务解耦、并通过分布式事务管理保证数据一致性。通过上述技术路径,预期能够实现高效、安全、易用的智慧社区管理系统,并为后续在更大规模社区中的推广提供可复制的技术与经验。
五、研究内容
本研究围绕构建一套基于SpringBoot后端与Vue前端技术栈的智慧社区管理系统展开,整体研究内容可分为系统架构设计、数据采集与处理、业务模块实现、安全与隐私保障、性能优化与测试评估以及部署与运维管理六大部分。 首先,在系统架构设计层面,本研究将采用微服务架构模式,将物业报修、安防监控、能源管理与居民服务等核心业务拆分为独立的服务模块,利用SpringBoot提供的自动配置与依赖注入功能实现快速开发,并通过Docker容器化技术将各微服务部署至Kubernetes集群,实现弹性伸缩与灰度发布;前端采用Vue.js构建单页面应用,通过Vuex进行状态管理,使用Element Plus等组件库实现响应式界面;数据层则采用分布式数据库方案,核心业务数据存储于MySQL Cluster,日志与大数据分析存储于Elasticsearch和ClickHouse。 其次,在数据采集与处理层面,本研究将设计统一的数据接入层,支持多种协议(如MQTT、CoAP、HTTP)与设备类型(温湿度传感器、摄像头、门禁卡等),通过消息中间件Kafka实现异步数据流通;对接收到的原始数据进行格式校验、缺失值填补与异常检测,随后将清洗后的数据写入统一的数据仓库,供后续业务服务调用。 业务模块实现层面,物业报修模块将支持报修单创建、状态跟踪、工单派单与反馈;安防监控模块将集成视频流推送、运动检测与告警推送;能源管理模块将采集电表与光伏发电数据,提供实时功率曲线与能耗预测;居民服务模块将实现社区公告、活动报名、在线缴费等功能。 每个业务模块均遵循RESTful API设计规范,并通过Spring Cloud Gateway实现统一鉴权与路由。 在安全与隐私保障层面,本研究将采用JWT进行无状态身份认证,结合OAuth2.0授权框架实现第三方登录;在权限控制方面引入RBAC模型,支持细粒度的角色与权限配置;所有敏感数据在存储时采用AES-256加密,并在传输层使用TLS 1.3加密协议;同时,系统将记录完整的审计日志,满足合规性要求。 性能优化与测试评估层面,本研究将通过负载测试工具Locust模拟高并发请求,评估系统在峰值流量下的响应时间与吞吐量;利用Redis缓存热点数据、Kafka异步队列降低数据库压力;对分布式事务采用TCC或Saga模式,确保业务一致性;并通过A/B测试对前端交互体验进行量化评估。 部署与运维管理层面,将使用GitLab CI/CD实现持续集成与持续部署;通过Prometheus与Grafana监控系统指标,利用ELK栈集中日志管理;对容器进行自动滚动升级与灰度发布,确保业务连续性。 综上所述,本研究通过多层次技术方案的协同设计,实现了一个功能完整、性能可靠、安全可控的智慧社区管理系统,为城市社区治理提供了可复制、可扩展的技术路径。
六、需求分析
用户需求方面,系统的主要使用者包括社区居民、物业管理人员、安全巡检员以及政府监管部门。居民侧重于便捷的日常服务体验,期望能够通过移动端快速报修、查看报修进度、获取社区公告及活动信息,并对系统中涉及个人信息的处理保持透明与安全;物业管理人员需要一个统一的平台来接收并跟踪报修单,进行工单分派与进度监控,同时能够通过数据分析评估维修效率与成本;安全巡检员要求实时获取安防摄像头的画面、运动检测告警以及门禁记录,并能对异常事件做出即时响应;政府监管部门则关注系统的合规性与数据可追溯性,期望能够通过后台报表获取社区运营指标、能源消耗情况以及安全事件统计,以支持城市治理决策。综上所述,用户需求涵盖了信息获取的实时性、操作流程的简洁性、数据安全与隐私保护以及多角色协同工作的高效互通。
功能需求方面,系统应实现四大核心业务模块:物业管理、安防监控、能源管理与居民服务。物业管理模块需支持报修单创建、状态跟踪、工单派单与反馈,并提供维修历史查询与评价功能;安防监控模块需集成视频流推送、运动检测告警、门禁卡记录与访客登记,并支持多摄像头的集中管理与录像回放;能源管理模块应采集电表数据、光伏发电量以及空调负荷信息,提供实时功率曲线、能耗预测与节能建议;居民服务模块需实现社区公告发布、活动报名、在线缴费与积分兑换等功能。除此之外,系统还必须具备统一身份认证(JWT+OAuth2.0)、细粒度权限控制(RBAC)、数据加密存储与传输、日志审计与合规报表生成等基础设施功能。所有业务接口需遵循RESTful规范,前端采用Vue单页面应用实现响应式交互,后端采用SpringBoot微服务架构并通过Docker容器化部署,以满足弹性伸缩与高可用的技术要求。
七、可行性分析
经济可行性分析方面,系统的初始开发成本主要由前后端技术人员工资、服务器租赁费用以及第三方服务(如短信、视频流推送)的使用费构成;在此基础上,通过采用开源框架SpringBoot与Vue.js降低软件许可支出,并利用容器化与云原生技术实现资源的按需分配,可显著降低运维成本;此外,系统通过实现报修流程自动化、能源监测与数据分析等功能,能够帮助物业管理人员提升工作效率、减少人工成本,并为社区提供精准的能耗管理方案,从而在运营阶段产生可观的经济回报;综上所述,在初期投入与长期收益之间存在合理的成本收益比,项目具备良好的经济可行性。
社会可行性分析方面,智慧社区管理系统能够提升居民生活质量与安全感,通过便捷的报修、活动参与与信息获取渠道增强社区凝聚力;同时,系统提供的能源监测与节能建议有助于推广绿色低碳生活方式,符合国家可持续发展战略;在数据安全与隐私保护方面,系统采用JWT身份认证、RBAC权限控制以及AES-256加密等技术,能够满足居民对个人信息安全的期望,并获得政府监管部门的信任;此外,该系统易于与现有社区管理流程对接,可在不同规模与类型的社区中推广实施,具有较高的社会接受度与推广潜力。
技术可行性分析方面,后端采用SpringBoot微服务架构,能够实现业务模块的独立部署与弹性伸缩,并通过Docker容器化与Kubernetes编排实现高可用与自动化运维;前端使用Vue.js提供响应式单页面应用,能够兼容多终端访问并提升用户体验;数据采集层通过Kafka等消息中间件实现异步流处理,支持多种协议与设备类型的接入;在安全层面,系统结合JWT、OAuth2.0以及TLS 1.3等标准技术,能够满足行业对身份认证与数据传输安全的严格要求;最后,通过Redis缓存热点数据、分布式事务管理与负载均衡策略,可实现高并发访问下的低延迟与高吞吐量。因此,从技术实现角度看,该系统具备成熟、可靠且可扩展的技术基础,技术可行性得到充分保障。
八、功能分析
用户管理模块负责维护社区居民、物业人员、安全巡检员以及政府监管人员的基本信息与角色分配,支持用户注册、资料编辑与角色授权,并通过统一的身份认证服务实现单点登录;身份认证与授权模块采用JWT令牌机制与OAuth2.0协议,结合RBAC权限模型,对所有接口进行细粒度访问控制,并对敏感操作记录审计日志;物业管理模块实现报修单创建、状态跟踪、工单派单与反馈流程,支持附件上传、工单优先级设置与维修历史查询,并通过业务规则引擎自动匹配合适的维修人员;安全监控模块集成视频流推送与运动检测功能,支持多摄像头集中管理、实时画面浏览、告警推送与录像回放,并提供门禁卡刷卡记录与访客登记接口;能源管理模块采集电表数据、光伏发电量与空调负荷信息,利用时序数据库存储历史数据,提供实时功率曲线、能耗预测与节能建议,并支持多维度能耗报表导出;居民服务模块提供社区公告发布、活动报名、在线缴费与积分兑换等功能,支持多语言展示与移动端适配,并通过消息推送实现重要信息的即时提醒;管理后台与报表模块为物业管理员与政府监管人员提供统一的仪表盘,展示报修量、维修时效、能耗指标、安全事件统计等关键绩效指标,并支持自定义报表生成与导出;设备集成与数据采集模块负责多协议(MQTT、CoAP、HTTP)设备数据接入,利用消息中间件Kafka实现异步流处理,对原始数据进行格式校验、缺失值填补与异常检测后写入统一的数据仓库,为业务模块提供可靠的数据源;所有模块均遵循RESTful API设计规范,前端采用Vue单页面应用实现响应式交互,后端通过SpringBoot微服务架构实现高可用与弹性伸缩。
九、数据库设计
表:users
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|用户编号|11|BIGINT UNSIGNED AUTO_INCREMENT|主键|唯一标识用户
username|用户名|50|VARCHAR(50) | | 需唯一,便于登录
password_hash|密码哈希值|255|VARCHAR(255) | | 使用安全哈希算法存储
email|电子邮件地址|100|VARCHAR(100) | | 用于通知与找回密码
phone|联系电话|20|VARCHAR(20) | | 备用联系方式
role_id|角色编号|11|BIGINT UNSIGNED |外键(roles.id)| 关联用户角色
created_at|创建时间|19|DATETIME | |
updated_at|更新时间|19|DATETIME | |
表:roles
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|角色编号|11|BIGINT UNSIGNED AUTO_INCREMENT |主键|
name|角色名称|50|VARCHAR(50) | | 例如管理员、物业、巡检员、居民
表:permissions
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|权限编号|11|BIGINT UNSIGNED AUTO_INCREMENT |主键|
name|权限名称|100|VARCHAR(100) | | 例如查看报修单、编辑公告
表:role_permissions
字段名(英文)|说明(中文)|大小|类型|主外键|备注
role_id|角色编号|11|BIGINT UNSIGNED |外键(roles.id)| 角色与权限关联
permission_id|权限编号|11|BIGINT UNSIGNED |外键(permissions.id)|
表:property_reports
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|报修单编号|11|BIGINT UNSIGNED AUTO_INCREMENT |主键|
user_id|提交人编号|11|BIGINT UNSIGNED |外键(users.id)|
title|报修标题|100|VARCHAR(100) | |
description|报修描述|5000|TEXT | |
status|报修状态|20|VARCHAR(20) | | 例如待处理、处理中、已完成
priority|优先级|10|VARCHAR(10) | | 低/中/高
created_at|创建时间|19|DATETIME | |
updated_at|更新时间|19|DATETIME | |
表:maintenance_tasks
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|工单编号|11|BIGINT UNSIGNED AUTO_INCREMENT |主键|
report_id|报修单编号|11|BIGINT UNSIGNED |外键(property_reports.id)|
assigned_to|维修人员编号|11|BIGINT UNSIGNED |外键(users.id)|
status|工单状态|20|VARCHAR(20) | | 例如待分派、已分派、已完成
scheduled_time|计划时间|19|DATETIME | |
completed_time|完成时间|19|DATETIME | |
表:security_cameras
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|摄像头编号|11|BIGINT UNSIGNED AUTO_INCREMENT |主键|
location_name|位置名称|100|VARCHAR(100) | |
ip_address|IP地址|45|VARCHAR(45) | | 支持IPv4/IPv6
表:alarm_events
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|告警编号|11|BIGINT UNSIGNED AUTO_INCREMENT |主键|
camera_id|摄像头编号|11|BIGINT UNSIGNED |外键(security_cameras.id)|
type|告警类型|50|VARCHAR(50) | | 例如运动、入侵
timestamp|告警时间|19|DATETIME | |
description|告警描述|5000|TEXT | |
表:energy_records
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|记录编号|11|BIGINT UNSIGNED AUTO_INCREMENT |主键|
device_type|设备类型(电表、光伏、空调)|20|VARCHAR(20) | |
device_id|设备编号|50|VARCHAR(50) | | 例如电表号
timestamp|采样时间|19|DATETIME | |
value|能耗值(kWh)|10|DECIMAL(10,2) | |
表:community_notices
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|公告编号|11|BIGINT UNSIGNED AUTO_INCREMENT |主键|
title|标题|200|VARCHAR(200) | |
content|内容|5000|TEXT | |
created_by|发布人编号|11|BIGINT UNSIGNED |外键(users.id)|
created_at|发布时间|19|DATETIME | |
表:activities
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|活动编号|11|BIGINT UNSIGNED AUTO_INCREMENT |主键|
title|活动标题|200|VARCHAR(200) | |
description|活动描述|5000|TEXT | |
start_time|开始时间|19|DATETIME | |
end_time|结束时间|19|DATETIME | |
表:activity_registrations
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|报名编号|11|BIGINT UNSIGNED AUTO_INCREMENT |主键|
user_id|报名人编号|11|BIGINT UNSIGNED |外键(users.id)|
activity_id|活动编号|11|BIGINT UNSIGNED |外键(activities.id)|
status|报名状态|20|VARCHAR(20) | | 例如已报名、已取消
表:payments
字段名(英文)|说明(中文)|大小|类型|主外键|备注
id|支付编号|11|BIGINT UNSIGNED AUTO_INCREMENT |主键|
user_id|付款人编号|11|BIGINT UNSIGNED |外键(users.id)|
amount|金额(元)|10|DECIMAL(10,2) | |
method|支付方式(支付宝、微信、银行卡)|20|VARCHAR(20) | |
status|支付状态(待支付、已支付、失败)|20|VARCHAR(20) | |
created_at|创建时间|19|DATETIME | |
以上表结构遵循第一范式与第二范式,避免冗余;通过主外键实现数据完整性;字段类型与大小选取兼顾性能与存储需求。
十、建表语句
CREATE TABLE IF NOT EXISTS roles (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY uk_roles_name (name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS permissions (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY uk_permissions_name (name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS role_permissions (
role_id BIGINT UNSIGNED NOT NULL,
permission_id BIGINT UNSIGNED NOT NULL,
PRIMARY KEY (role_id, permission_id),
CONSTRAINT fk_role_permissions_role
FOREIGN KEY (role_id) REFERENCES roles(id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_role_permissions_permission
FOREIGN KEY (permission_id) REFERENCES permissions(id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS users (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password_hash VARCHAR(255) NOT NULL,
email VARCHAR(100) NOT NULL,
phone VARCHAR(20) DEFAULT NULL,
role_id BIGINT UNSIGNED NOT NULL,
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 uk_users_username (username),
UNIQUE KEY uk_users_email (email),
UNIQUE KEY uk_users_phone (phone),
KEY idx_users_role_id (role_id),
CONSTRAINT fk_users_role
FOREIGN KEY (role_id) REFERENCES roles(id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS property_reports (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id BIGINT UNSIGNED NOT NULL,
title VARCHAR(100) NOT NULL,
description TEXT,
status VARCHAR(20) NOT NULL DEFAULT '待处理',
priority VARCHAR(10) NOT NULL DEFAULT '中',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY idx_property_reports_user_id (user_id),
KEY idx_property_reports_status (status),
CONSTRAINT fk_property_reports_user
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS maintenance_tasks (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
report_id BIGINT UNSIGNED NOT NULL,
assigned_to BIGINT UNSIGNED DEFAULT NULL,
status VARCHAR(20) NOT NULL DEFAULT '待分派',
scheduled_time DATETIME DEFAULT NULL,
completed_time DATETIME DEFAULT NULL,
PRIMARY KEY (id),
KEY idx_maintenance_tasks_report_id (report_id),
KEY idx_maintenance_tasks_assigned_to (assigned_to),
KEY idx_maintenance_tasks_status (status),
CONSTRAINT fk_maintenance_tasks_report
FOREIGN KEY (report_id) REFERENCES property_reports(id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_maintenance_tasks_user
FOREIGN KEY (assigned_to) REFERENCES users(id) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS security_cameras (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
location_name VARCHAR(100) NOT NULL,
ip_address VARCHAR(45) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS alarm_events (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
camera_id BIGINT UNSIGNED NOT NULL,
type VARCHAR(50) NOT NULL,
timestamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
description TEXT,
PRIMARY KEY (id),
KEY idx_alarm_events_camera_id (camera_id),
KEY idx_alarm_events_type (type),
CONSTRAINT fk_alarm_events_camera
FOREIGN KEY (camera_id) REFERENCES security_cameras(id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS energy_records (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
device_type VARCHAR(20) NOT NULL,
device_id VARCHAR(50) NOT NULL,
timestamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
value DECIMAL(10,2) NOT NULL,
PRIMARY KEY (id),
KEY idx_energy_records_device_type (device_type),
KEY idx_energy_records_device_id (device_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS community_notices (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
content TEXT NOT NULL,
created_by BIGINT UNSIGNED NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY idx_community_notices_created_by (created_by),
CONSTRAINT fk_community_notices_user
FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS activities (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
description TEXT,
start_time DATETIME NOT NULL,
end_time DATETIME NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS activity_registrations (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id BIGINT UNSIGNED NOT NULL,
activity_id BIGINT UNSIGNED NOT NULL,
status VARCHAR(20) NOT NULL DEFAULT '已报名',
PRIMARY KEY (id),
KEY idx_activity_registrations_user_id (user_id),
KEY idx_activity_registrations_activity_id (activity_id),
KEY idx_activity_registrations_status (status),
CONSTRAINT fk_activity_registrations_user
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_activity_registrations_activity
FOREIGN KEY (activity_id) REFERENCES activities(id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS payments (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id BIGINT UNSIGNED NOT NULL,
amount DECIMAL(10,2) NOT NULL,
method VARCHAR(20) NOT NULL,
status VARCHAR(20) NOT NULL DEFAULT '待支付',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY idx_payments_user_id (user_id),
KEY idx_payments_status (status),
CONSTRAINT fk_payments_user
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方👇🏻获取联系方式👇🏻