ether-docs/01-REQUIREMENTS/SYSTEM-REQUIREMENTS.md

858 lines
83 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ether 物业管理系统 - 系统需求规格说明书
**文档版本**: v1.0
**创建日期**: 2026-05-18
**数据来源**: FEATURE_LIST.md / REVERSE-AUTH.md / REVERSE-MDM.md / REVERSE-ASSET.md / REVERSE-OPS.md / REVERSE-FINANCE.md / 00-项目总览.md
**维护原则**: 每个需求项标注唯一ID与实现状态变更时同步更新
---
## 一、系统概述
### 1.1 系统定位与目标
Ether 物业管理平台是一个面向住宅物业和商业物业的全场景智慧管理解决方案,旨在通过数字化手段实现物业运营全流程闭环管理。
**核心目标**
- 统一物业管理数据基座,消除信息孤岛
- 实现设备全生命周期管理,从采购安装到报废退役
- 建立运维工单闭环,覆盖报修、派单、执行、验收全流程
- 构建预防性维保体系,降低设备故障率
- 实现财务收费自动化,支持多种计费方式与支付渠道
- 提供多端协同能力管理后台、员工APP、业主小程序、商办小程序
**系统组成**
| 应用 | 目录 | 端口 | 说明 |
|------|------|------|------|
| 后端服务 | ether-pms | 8080 | Spring Boot 单体应用 |
| Web 管理后台 | ether-admin | 5175 | Vue3 + TypeScript + Ant Design Vue |
| 员工 APP | ether-app-employee | 5174 | 移动端应用 |
| 业主小程序 | ether-app-owner | 5176 | 微信/支付宝小程序 |
| 商办小程序 | ether-app-commercial | 5177 | 微信/支付宝小程序 |
**后端模块划分**
| 模块 | 职责 |
|------|------|
| module-auth | 认证授权(用户/角色/权限/部门/审计日志) |
| module-mdm | 主数据管理(项目/空间节点/巡检标准/备件/能耗) |
| module-asset | 资产设备管理(设备台账/扩展表/健康评分/故障历史/归属主体) |
| module-wo | 运维工单(工单/维保计划/维保任务/巡检模板) |
| module-finance | 财务管理(待建设) |
| module-common | 公共组件与工具 |
### 1.2 用户角色定义
| 角色 | 说明 | 用户类型 | 典型操作 |
|------|------|----------|----------|
| 系统管理员 | 平台运维人员 | ENTERPRISE | 用户管理、角色配置、系统设置 |
| 项目经理 | 物业项目负责人 | ENTERPRISE | 项目管理、成员分配、工单审批 |
| 维保人员 | 设备维修保养人员 | PROJECT_STAFF | 接单、执行维保、填写报告 |
| 巡检人员 | 设备巡检执行人员 | PROJECT_STAFF | 执行巡检、签到、异常上报 |
| 业主 | 房屋产权人 | RESIDENT | 报修、缴费、查看公告 |
| 租户 | 房屋承租人 | RESIDENT | 报修、缴费 |
### 1.3 系统边界与约束
**系统边界**
- 本系统管理物业项目从入驻到退场的全周期运营
- 涵盖设备资产从采购安装到报废退役的全生命周期
- 不包含房地产开发阶段的销售管理
- 不包含物业管理公司内部的人力资源管理(仅管理项目人员配置)
**技术约束**
- 后端Spring Boot 3.x 单体架构PostgreSQL 数据库
- 前端Vue3 + TypeScript + Ant Design Vue
- 认证JWT TokenHMAC-SHA256BCrypt 密码加密
- 数据隔离基于项目维度的数据隔离X-Project-ID Header
- 移动端uni-app 跨端框架
**业务约束**
- 所有业务数据以项目为基本归属维度
- 用户可参与多个项目,需切换项目上下文
- 角色权限支持项目级隔离(系统级/项目级/部门级)
### 1.4 术语定义
| 术语 | 定义 |
|------|------|
| MDM | Master Data Management主数据管理 |
| RBAC | Role-Based Access Control基于角色的访问控制 |
| MTBF | Mean Time Between Failures平均故障间隔时间 |
| MTTR | Mean Time To Repair平均修复时间 |
| JWT | JSON Web Token用于身份认证的令牌 |
| SpaceNode | 空间节点,统一空间体系中的树形节点 |
| WorkOrder | 工单,运维服务的业务单据 |
| MaintenanceTask | 维保任务,设备维保的执行单元 |
| OwnershipEntity | 归属主体,设备的所有权/管理权归属方 |
| DataScope | 数据范围,控制用户可访问的数据边界 |
---
## 二、业务域需求
### 2.1 身份与权限域
#### 2.1.1 用户管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-AUTH-001 | 用户创建 | 支持创建用户用户名3-50位字母数字下划线正则`^[a-zA-Z0-9_]{3,50}$`密码BCrypt加密存储手机号格式校验正则`^1[3-9]\d{9}$`邮箱格式校验用户类型必填ENTERPRISE/PROJECT_STAFF/RESIDENT/CUSTOMER默认状态ACTIVE | 高 | 已实现 | module-auth: UserController |
| REQ-AUTH-002 | 用户查询 | 支持分页查询用户列表,可按用户名/姓名/手机号/状态/用户类型筛选 | 高 | 已实现 | module-auth: UserController |
| REQ-AUTH-003 | 用户更新 | 支持更新用户基本信息(真实姓名/手机号/邮箱/头像/状态/部门状态枚举ACTIVE/LOCKED/DISABLED | 高 | 已实现 | module-auth: UserController |
| REQ-AUTH-004 | 用户删除 | 支持删除用户,删除时记录审计日志 | 中 | 已实现 | module-auth: UserController |
| REQ-AUTH-005 | 密码修改 | 需验证原密码新密码需通过强度校验8-20位大小写+数字+特殊字符弱密码检测黑名单password/123456/admin/qwerty/letmein/welcome/monkey/dragon旧密码兼容检测非BCrypt格式强制重置 | 高 | 已实现 | module-auth: UserController |
| REQ-AUTH-006 | 多类型用户扩展 | 企业员工EnterpriseUser含员工工号/部门/职位/入职日期/员工类别项目员工ProjectStaff含所属项目/员工类型/班次/班组长/在岗状态住户Resident含身份证/住户类型/认证状态 | 高 | 已实现 | module-auth: EnterpriseUser/ProjectStaff/Resident |
| REQ-AUTH-007 | 用户角色分配 | 支持为用户分配多个角色覆盖模式通过auth_user_role中间表关联 | 高 | 已实现 | module-auth: UserController.assignRoles |
| REQ-AUTH-008 | 用户项目关联 | 支持查看用户参与的项目列表、添加用户到项目、从项目移除用户关联信息含项目角色leader/member/viewer和加入时间 | 高 | 已实现 | module-auth: UserController |
#### 2.1.2 角色与权限
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-AUTH-010 | 角色管理 | 支持创建/查询/更新/删除角色角色代码2-50位字母数字下划线唯一角色类型三级SYSTEM系统级/PROJECT项目级/DEPARTMENT部门级角色状态ENABLED/DISABLED | 高 | 已实现 | module-auth: RoleController |
| REQ-AUTH-011 | 权限管理 | 支持创建/查询/更新/删除权限,权限代码格式`module:resource:action`仅字母数字冒号下划线权限类型MENU/BUTTON/API支持资源路径和HTTP方法API类型支持父权限代码parentCode构建权限树 | 高 | 已实现 | module-auth: PermissionController |
| REQ-AUTH-012 | 角色权限分配 | 支持为角色分配多个权限覆盖模式通过auth_role_permission中间表关联支持查询角色权限列表 | 高 | 已实现 | module-auth: RoleController.assignPermissions |
| REQ-AUTH-013 | 四级数据范围 | 角色数据范围枚举ALL全部数据不过滤/PROJECT本项目数据过滤project_id/DEPARTMENT本部门数据过滤project_id+dept_id/SELF仅本人数据过滤assigned_to/creator | 高 | 已实现 | module-auth: DataScopeService |
| REQ-AUTH-014 | 双层角色分配 | 用户直接角色auth_user_role表+ 项目员工角色ProjectStaffRole表登录时收集全部角色 = 用户直接角色 U 项目员工角色 | 高 | 已实现 | module-auth: AuthService |
| REQ-AUTH-015 | 项目级角色查询 | 支持按项目ID查询该项目下的角色列表 | 中 | 已实现 | module-auth: RoleController |
| REQ-AUTH-016 | 角色关联用户查询 | 支持查询拥有指定角色的用户列表 | 中 | 已实现 | module-auth: RoleController |
| REQ-AUTH-017 | 权限树端点 | 提供权限树结构查询接口GET /permissions/tree | 中 | 未实现 | - |
| REQ-AUTH-018 | 权限校验端点 | 提供权限校验接口POST /check验证用户是否拥有指定权限 | 中 | 未实现 | - |
| REQ-AUTH-019 | 用户菜单端点 | 提供用户菜单查询接口GET /users/{id}/menus返回用户可见菜单树 | 中 | 未实现 | - |
| REQ-AUTH-020 | 用户权限查询端点 | 提供用户权限查询接口GET /users/{id}/permissions返回用户全部权限列表 | 中 | 未实现 | - |
| REQ-AUTH-021 | 角色业务属性 | 角色扩展字段businessType业务类型/terminalType终端类型/isFrontline是否一线岗位 | 低 | 未实现 | - |
| REQ-AUTH-022 | 权限菜单路由属性 | 权限扩展字段path路由路径/component组件路径/icon图标/level层级 | 低 | 未实现 | - |
#### 2.1.3 组织架构
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-AUTH-030 | 部门管理 | 支持创建/查询/更新/删除部门部门名称1-100位支持树形结构parentId自引用部门类型5种ADMIN行政管理/ENGINEERING工程部/SECURITY安保部/CS客服部/CLEANING保洁部部门状态ACTIVE/DISABLED | 高 | 已实现 | module-auth: DeptController |
| REQ-AUTH-031 | 部门树查询 | 后端返回扁平列表Controller层递归构建树形结构DeptVO含children字段 | 高 | 已实现 | module-auth: DeptController.getDeptTree |
| REQ-AUTH-032 | 部门成员查询 | 支持查询指定部门下的成员列表 | 中 | 已实现 | module-auth: DeptController.getDeptMembers |
| REQ-AUTH-033 | 按类型查询部门 | 支持按部门类型deptType筛选部门列表 | 中 | 已实现 | module-auth: DeptController.getDeptsByType |
| REQ-AUTH-034 | 部门删除约束 | 删除部门前需先删除子部门,否则拒绝操作 | 高 | 已实现 | module-auth: DeptService |
#### 2.1.4 项目成员管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-AUTH-040 | 项目成员列表 | 支持分页查询指定项目的成员列表 | 高 | 已实现 | module-auth: ProjectMemberController |
| REQ-AUTH-041 | 可用成员查询 | 获取可添加到项目的企业员工列表支持search参数模糊搜索用户名/姓名) | 高 | 已实现 | module-auth: ProjectMemberController |
| REQ-AUTH-042 | 添加项目成员 | 创建/更新ProjectStaff记录设定员工类型、分配状态覆盖模式更新角色先删后加员工类型6种SECURITY/CLEANING/GARDEN/MAINTENANCE/CUSTOMER_SERVICE/GENERAL | 高 | 已实现 | module-auth: ProjectMemberController |
| REQ-AUTH-043 | 移除项目成员 | 删除ProjectStaff记录级联删除ProjectStaffRole角色关联 | 高 | 已实现 | module-auth: ProjectMemberController |
| REQ-AUTH-044 | 项目员工班次 | 项目员工班次类型3种DAY白班/NIGHT夜班/ROTATION轮班在岗状态3种ASSIGNED在岗/ON_LEAVE休假/TRANSFERRED已调离 | 中 | 已实现 | module-auth: ProjectStaff |
| REQ-AUTH-045 | 项目员工角色 | 项目员工在项目中的角色分配ProjectStaffRole支持一个员工多个项目角色 | 中 | 已实现 | module-auth: ProjectStaffRole |
#### 2.1.5 住户管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-AUTH-050 | 住户信息管理 | 住户Resident通过共享主键一对一关联User含身份证号18位JSON忽略脱敏、住户类型3种OWNER业主/FAMILY家属/TENANT租户 | 高 | 已实现 | module-auth: Resident |
| REQ-AUTH-051 | 住户认证流程 | 认证状态4种流转UNVERIFIED未认证-> PENDING待审核-> VERIFIED已认证/REJECTED已拒绝记录认证时间和认证人 | 高 | 已实现 | module-auth: Resident |
| REQ-AUTH-052 | 住户房屋绑定 | 住户-房屋关联ResidentSpace关系类型3种OWNER/FAMILY/TENANT绑定状态4种PENDING待确认/ACTIVE生效中/EXPIRED已过期/CANCELLED已取消支持生效日期和失效日期NULL=永久) | 高 | 已实现 | module-auth: ResidentSpace |
| REQ-AUTH-053 | 房屋空间管理 | 房屋空间Space含楼栋/单元/房号/房屋类型RESIDENTIAL/COMMERCIAL/楼层/建筑面积/状态,归属项目 | 中 | 已实现 | module-auth: Space |
#### 2.1.6 认证与授权
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-AUTH-060 | 用户登录 | POST /api/auth/login请求体{username, password},流程:检查登录锁定 -> 查询用户(含角色) -> 验证密码(BCrypt) -> 检查用户状态(LOCKED/DISABLED拒绝) -> 收集全部角色 -> 生成JWT Token -> 返回{token, userId, username, realName, roles} | 高 | 已实现 | module-auth: AuthController |
| REQ-AUTH-061 | 用户登出 | POST /api/auth/logout需携带Authorization Header | 高 | 已实现 | module-auth: AuthController |
| REQ-AUTH-062 | Token刷新 | POST /api/auth/refresh需携带有效Token生成新Token返回 | 高 | 已实现 | module-auth: AuthController |
| REQ-AUTH-063 | 获取当前用户 | GET /api/auth/me需携带Authorization Header返回当前用户信息 | 高 | 已实现 | module-auth: AuthController |
| REQ-AUTH-064 | JWT Token规范 | 算法HMAC-SHA256Claims含userId(subject)/username/roles列表过期时间可配置默认86400000ms=24小时 | 高 | 已实现 | module-auth: JwtTokenProvider |
| REQ-AUTH-065 | 登录失败锁定 | 基于Redis实现Key格式`login:attempt:{username}`5次失败后锁定10分钟每次失败递增计数并设置TTL登录成功清除计数支持手动解锁 | 高 | 已实现 | module-auth: LoginAttemptService |
| REQ-AUTH-066 | 项目上下文传递 | 请求头`X-Project-ID`携带当前项目IDProjectContextInterceptor拦截器设置ThreadLocal业务层通过DataScopeService过滤数据 | 高 | 已实现 | module-auth: ProjectContextInterceptor |
#### 2.1.7 审计日志
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-AUTH-070 | 操作日志记录 | 通过`@OperationLog`注解+AOP切面自动记录操作日志记录内容操作用户/操作描述/模块/操作类型/目标类型/目标ID/操作内容/请求参数/操作结果/IP地址/用户代理/请求URL/请求方法/执行耗时/状态/错误信息 | 高 | 已实现 | module-auth: OperationLogAspect |
| REQ-AUTH-071 | 异步持久化 | 通过`auditLogExecutor`线程池异步保存审计日志,避免影响业务性能 | 高 | 已实现 | module-auth: AuditLogService |
| REQ-AUTH-072 | 审计日志查询 | 支持分页查询可按module/action/username/日期范围筛选强制限制查询范围不超过30天超过自动截断起始时间 | 高 | 已实现 | module-auth: AuditLogController |
| REQ-AUTH-073 | 模块与操作类型 | 记录模块8种USER/ROLE/PERMISSION/PROJECT/AUTH/DEPT/PROJECT_MEMBER/SYSTEM操作类型11种CREATE/UPDATE/DELETE/QUERY/VIEW/LOGIN/LOGOUT/EXPORT/IMPORT/ASSIGN/REVOKE | 中 | 已实现 | module-auth: AuditLog |
| REQ-AUTH-074 | 日志统计 | 支持获取最近30天日志统计数据提供模块列表和操作类型列表用于筛选下拉 | 中 | 已实现 | module-auth: AuditLogController |
| REQ-AUTH-075 | 日志归档 | 90天以上日志归档当前实现为直接删除TODO: 导出至对象存储) | 低 | 部分实现 | module-auth: AuditLogService |
#### 2.1.8 系统配置
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-AUTH-080 | 键值配置管理 | 支持创建/查询/更新系统配置项配置键configKey唯一配置值最大5000字符支持单个更新和批量更新 | 高 | 已实现 | module-auth: SysConfigController |
| REQ-AUTH-081 | 密码策略配置 | 密码强度规则可配置(前缀`password.*`):最小长度(默认8)/最大长度(默认20)/需大写(默认true)/需小写(默认true)/需数字(默认true)/需特殊字符(默认true) | 高 | 已实现 | module-auth: PasswordStrengthValidator |
| REQ-AUTH-082 | 数据访问授权 | 通用数据访问控制DataAccess支持按dataType/dataId/accessType/accessId/accessLevel进行细粒度授权已存在相同记录则更新accessLevel | 中 | 已实现 | module-auth: DataAccessController |
---
### 2.2 空间与项目域
#### 2.2.1 项目管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-MDM-001 | 项目创建 | 支持创建项目,项目编码唯一(正则`^[a-zA-Z0-9_-]+$`2-50位项目名称2-100位项目类型3种RESIDENTIAL住宅/OFFICE办公/INDUSTRIAL_PARK产业园区支持自动生成项目编码创建后自动初始化ProjectConfig默认配置 | 高 | 已实现 | module-mdm: ProjectController |
| REQ-MDM-002 | 项目查询 | 支持分页查询项目列表可按keyword/status筛选支持排序支持按ID/编码查询项目详情;支持项目选择器列表(用于下拉选择) | 高 | 已实现 | module-mdm: ProjectController |
| REQ-MDM-003 | 项目更新与删除 | 支持更新项目基本信息删除前必须调用delete-check检查关联数据存在应收未收费用时无法删除 | 高 | 已实现 | module-mdm: ProjectController |
| REQ-MDM-004 | 项目状态流转 | 4种状态PENDING待审核/ACTIVE正常/DISABLED禁用/ARCHIVED已归档流转规则PENDING->ACTIVE/DISABLED, ACTIVE->DISABLED/ARCHIVED, DISABLED->ACTIVE/ARCHIVED, ARCHIVED为终态不可流转 | 高 | 已实现 | module-mdm: ProjectController.changeStatus |
| REQ-MDM-005 | 状态变更历史 | 每次状态变更记录ProjectStatusHistoryfromStatus/toStatus/reason/operatorId/operatorName | 中 | 已实现 | module-mdm: ProjectStatusHistory |
| REQ-MDM-006 | 项目统计 | 支持查询项目统计数据ProjectStatistics快照成员数/楼栋数/单元数/房间数/业主数/租户数 | 中 | 已实现 | module-mdm: ProjectController.getStatistics |
| REQ-MDM-007 | 项目配置管理 | 项目功能开关10项预约/访客/投诉(默认开)/缴费/公告(默认开)/问卷/投票/报修(默认开)/资产/自定义配置JSON | 高 | 已实现 | module-mdm: ProjectConfigController |
| REQ-MDM-008 | 项目成员管理MDM侧 | 支持查看项目成员列表分页、添加成员从企业员工中选择支持批量、移除成员成员角色5种PROJECT_MANAGER/PROJECT_ADMIN/OPERATION_STAFF/FINANCE_STAFF/VIEWER | 高 | 已实现 | module-mdm: ProjectMemberController |
| REQ-MDM-009 | 项目删除检查 | 删除前检查关联数据,返回{canDelete, reason, statistics}存在应收未收费用时canDelete=false | 高 | 已实现 | module-mdm: ProjectController |
#### 2.2.2 空间节点管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-MDM-010 | 空间节点创建 | 支持创建空间节点节点名称1-100位节点大类4种NodeCategoryBUILDING建筑空间/PARKING停车空间/FACILITY设施空间/AREA区域空间节点类型15种NodeType含层级序号支持批量创建 | 高 | 已实现 | module-mdm: SpaceNodeController |
| REQ-MDM-011 | 15种节点类型 | BUILDING(楼栋,L1)/UNIT(单元,L2)/FLOOR(楼层,L3)/ROOM(房间,L4)/SHOP(商铺,L2)/GARAGE(车库,L1)/PARKING_AREA(停车区域,L2)/PARKING_SPACE(车位,L3)/EQUIPMENT_ROOM(设备房,L1)/PROPERTY_OFFICE(物业用房,L1)/SECURITY_ROOM(门岗,L1)/PUBLIC_ROOM(公共用房,L1)/PUBLIC_AREA(公共区域,L1)/GREEN_AREA(绿化区域,L1)/ROAD(道路,L1) | 高 | 已实现 | module-mdm: SpaceNode |
| REQ-MDM-012 | 树形结构维护 | 支持树形路径维护treePath物理路径id.id.id用于快速查询子孙、treePathName名称路径项目/楼栋/单元/房间用于展示、level层级深度根节点为0创建/移动节点时自动维护 | 高 | 已实现 | module-mdm: SpaceNodeService |
| REQ-MDM-013 | 空间节点查询 | 支持按项目查询节点列表、获取项目空间树、获取项目根节点、按项目+类型查询、获取子节点列表、按ID查询详情 | 高 | 已实现 | module-mdm: SpaceNodeController |
| REQ-MDM-014 | 空间节点更新与删除 | 支持更新节点信息删除前必须调用delete-check检查子节点数量普通删除有子节点时拒绝级联删除DELETE /{id}/cascade含子节点软删除isDeleted标记 | 高 | 已实现 | module-mdm: SpaceNodeController |
| REQ-MDM-015 | 面积信息管理 | 支持记录建筑面积/使用面积/公摊面积/占地面积BigDecimal(10,2) | 中 | 已实现 | module-mdm: SpaceNode |
| REQ-MDM-016 | 地理信息管理 | 支持记录经度/纬度/海拔/楼层号(正数地上,负数地下) | 中 | 已实现 | module-mdm: SpaceNode |
| REQ-MDM-017 | 设备扩展模式 | SpaceNode通过isEquipment字段标记设备节点设备节点额外使用设备扩展字段维保信息/巡检周期/特种设备证书/常用备件/能耗标准/安装环境/防护等级等20+字段) | 高 | 已实现 | module-mdm: SpaceNode |
| REQ-MDM-018 | 扩展属性JSON | 支持attributes字段String(2000) JSON格式存储类型特定属性 | 中 | 已实现 | module-mdm: SpaceNode |
| REQ-MDM-019 | 空间编码自动生成 | 自动生成空间编码规则唯一约束UNIQUE(project_id, code) | 中 | 未实现 | - |
| REQ-MDM-020 | 节点移动 | 支持移动节点到新的父节点PUT /{id}/move自动维护treePath | 中 | 未实现 | - |
| REQ-MDM-021 | 祖先/子孙查询 | 支持查询指定节点的祖先链GET /{id}/ancestors和子孙节点GET /{id}/descendants | 低 | 未实现 | - |
| REQ-MDM-022 | 空间统计分析 | 支持空间统计接口:按类型统计/按状态统计/空间总览 | 低 | 未实现 | - |
| REQ-MDM-023 | PostGIS空间查询 | 支持PostGIS空间查询范围搜索/距离计算GEOMETRY(Point)/GEOMETRY(Polygon)字段GIST空间索引 | 低 | 未实现 | - |
| REQ-MDM-024 | 地图服务 | 高德地图集成,支持标注/绘制/路径MapEditor组件地图标记/边界查询API | 低 | 未实现 | - |
| REQ-MDM-025 | 空间节点导入导出 | 支持空间节点批量导入和导出,导入模板下载 | 中 | 未实现 | - |
#### 2.2.3 巡检标准项
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-MDM-030 | 巡检标准项CRUD | 支持创建/查询/更新/删除巡检标准项按设备类型equipmentType和系统类型systemType分类每项含检查项名称/检查方法/标准值/是否必检(默认true)/排序号/状态(ACTIVE/INACTIVE) | 高 | 已实现 | module-mdm: InspectionItemController |
| REQ-MDM-031 | 标准项查询筛选 | 支持按activeOnly=true仅查询启用项equipmentType+systemType双条件过滤equipmentType单条件过滤systemType过滤 | 中 | 已实现 | module-mdm: InspectionItemService |
| REQ-MDM-032 | 巡检模板管理 | 支持创建/查询/更新/复制巡检模板,模板按项目+设备类型组织,含检查项列表(JSON格式存储),支持版本管理(version字段)模板与标准项通过equipmentType逻辑关联 | 高 | 已实现 | module-mdm: InspectionTemplateController |
| REQ-MDM-033 | 巡检记录管理 | 支持创建/查询/更新/删除/完成巡检记录,记录关联设备(equipmentId)和计划(planId)检查结果状态3种NORMAL/WARNING/ABNORMAL支持签到信息时间/位置/照片检查项结果和异常问题以JSONB存储 | 高 | 已实现 | module-mdm: InspectionRecordController |
| REQ-MDM-034 | 巡检记录查询 | 支持按设备/计划/巡检人/状态/日期范围筛选,支持按设备+日期范围组合查询 | 中 | 已实现 | module-mdm: InspectionRecordService |
---
### 2.3 设备与资产域
#### 2.3.1 设备台账
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-ASSET-001 | 设备创建 | 支持创建设备设备编码全局唯一equipmentCode设备名称必填设备类型10种ELEVATOR/HVAC/FIRE_PROTECTION/PLUMBING/ELECTRICAL/ENERGY_METER/SECURITY/LANDSCAPE/KITCHEN/OTHER归属类型4种默认PROJECTPROJECT(项目自有)/COMPANY(公司统筹)/OWNER(业主自置)/RENTAL(租赁设备)设备状态4种默认ACTIVEACTIVE(在用)/INACTIVE(停用)/MAINTENANCE(维保中)/SCRAPPED(已报废) | 高 | 已实现 | module-asset: EquipmentController |
| REQ-ASSET-002 | 设备查询 | 支持按项目查询/按空间查询/按类型查询/按归属查询设备列表支持按ID查询设备详情 | 高 | 已实现 | module-asset: EquipmentController |
| REQ-ASSET-003 | 设备更新与删除 | 支持更新设备信息支持单个删除和批量删除POST /batch-delete逻辑删除isDeleted标记 | 高 | 已实现 | module-asset: EquipmentController |
| REQ-ASSET-004 | 设备与空间关联 | 设备通过spaceNodeId关联空间节点树支持按空间节点查询设备列表 | 高 | 已实现 | module-asset: Equipment.spaceNodeId |
| REQ-ASSET-005 | 系统类型分类 | 设备系统类型9种商业地产8大系统+其他HVAC(暖通空调)/FIRE(消防)/ELEVATOR(电梯)/ELECTRICAL(电气)/PLUMBING(给排水)/BAS(弱电智能化)/KITCHEN(餐饮厨房)/LANDSCAPE(景观)/OTHER(其他) | 高 | 已实现 | module-asset: Equipment.systemType |
| REQ-ASSET-006 | 设备统计 | 支持按类型统计/按归属统计/项目设备总数查询 | 中 | 已实现 | module-asset: EquipmentController |
| REQ-ASSET-007 | 设备导入 | 支持Excel批量导入设备.xlsx/.xls文件大小最大10MB行数最大1000行文件类型校验返回{successCount, failCount, failDetails} | 高 | 已实现 | module-asset: EquipmentController.importEquipment |
| REQ-ASSET-008 | 设备导出 | 支持按项目导出设备列表为Excel文件.xlsx格式 | 中 | 已实现 | module-asset: EquipmentController.exportEquipment |
| REQ-ASSET-009 | 设备照片管理 | 支持设备照片JSONB内嵌存储照片类型4种外观/铭牌/安装位置/环境每张照片含type/url/remark | 中 | 已实现 | module-asset: Equipment.photos |
| REQ-ASSET-010 | 设备文档管理 | 支持电子文档JSONB内嵌存储文档类型4种manual/certificate/contract/other每份文档含name/url/size/type/remark | 中 | 已实现 | module-asset: Equipment.documents |
| REQ-ASSET-011 | 设备二维码 | 支持设备二维码生成、扫码查看设备详情、扫码快速报修 | 中 | 未实现 | - |
| REQ-ASSET-012 | 设备规格字段 | 设备规格型号字段specifications | 低 | 未实现 | - |
#### 2.3.2 设备扩展信息
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-ASSET-020 | 电梯扩展表 | EquipmentElevatorasset_equipment_elevator通过equipment_id UNIQUE一对一关联主表电梯类型/型号/载重(kg)/速度(m/s)/楼层数/井道尺寸/底坑深度/顶层高度/注册登记号/检验证书/下次检验日期/能耗/维保等级/应急救援预案 | 高 | 已实现 | module-asset: EquipmentElevatorService |
| REQ-ASSET-021 | 暖通扩展表 | EquipmentHvacasset_equipment_hvac暖通类型/制冷量/制热量/风量/制冷剂类型/充注量/能效比(EER)/性能系数(COP)/安装日期/保修到期/滤网更换周期/上次更换日期/风管类型/风管尺寸 | 高 | 已实现 | module-asset: EquipmentHvacService |
| REQ-ASSET-022 | 消防扩展表 | EquipmentFireasset_equipment_fire消防设备类型/安装面积/安装高度/探测范围/系统类型/分区编号/回路编号/是否启用联动/联动动作/巡检周期/上次/下次巡检日期/巡检结果/特殊要求 | 高 | 已实现 | module-asset: EquipmentFireService |
| REQ-ASSET-023 | 能源计量扩展表 | EquipmentEnergyasset_equipment_energy表计类型/能源类型/表计型号/规格/表常数/精度等级/抄表方式/上次读数/当前读数/单价/计费方式/通讯方式/通讯地址/检定周期/下次检定日期/检定证书 | 高 | 已实现 | module-asset: EquipmentEnergyService |
| REQ-ASSET-024 | 扩展表读写模式 | 扩展表通过主设备ID路径读写GET/PUT /{id}/elevator采用saveOrUpdate模式存在则更新不存在则新建 | 高 | 已实现 | module-asset: Equipment*Service |
| REQ-ASSET-025 | 无扩展表设备类型 | PLUMBING/ELECTRICAL/SECURITY/LANDSCAPE/KITCHEN/OTHER无扩展表使用主表通用字段+attributes JSON扩展 | 中 | 已实现 | module-asset: Equipment.attributes |
#### 2.3.3 设备健康评分
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-ASSET-030 | 健康评分算法 | 健康度 = 基础分(100) - 故障扣分 - 维保扣分 - 年龄扣分最低0分。故障扣分=故障次数(近30天)x5无上限维保扣分=(1-维保完成率)x20上限20分年龄扣分=设备年龄(年)x2上限10分 | 高 | 已实现[Beta] | module-asset: EquipmentHealthServiceImpl |
| REQ-ASSET-031 | 5级健康等级 | EXCELLENT(优秀,[90,100))/GOOD(良好,[75,90))/FAIR(一般,[60,75))/POOR(较差,[40,60))/CRITICAL(危急,[0,40)) | 高 | 已实现[Beta] | module-asset: HealthLevel |
| REQ-ASSET-032 | MTBF计算 | 平均故障间隔时间 = 运行时间(小时) / 故障次数计算周期默认30天可自定义仅1次故障时使用默认期间天数x24小时无故障返回0 | 中 | 已实现[Beta] | module-asset: EquipmentHealthServiceImpl |
| REQ-ASSET-033 | MTTR计算 | 平均修复时间 = 总修复时间(小时) / 修复次数仅统计已完成修复的故障记录无修复记录返回0 | 中 | 已实现[Beta] | module-asset: EquipmentHealthServiceImpl |
| REQ-ASSET-034 | 健康评分查询 | 支持获取设备最新健康度、健康度历史、手动触发计算 | 中 | 已实现[Beta] | module-asset: EquipmentHealthController |
| REQ-ASSET-035 | 维保完成率计算 | 维保完成率用于健康评分扣分当前TODO标记暂返回1.0 | 中 | 部分实现 | module-asset: EquipmentHealthServiceImpl |
#### 2.3.4 故障历史
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-ASSET-040 | 故障记录 | 支持记录设备故障故障类型4种SUDDEN(突发)/SCHEDULED(计划停机)/WARNING(预警)/OTHER(其他)故障等级4级LOW(轻微)/MEDIUM(一般)/HIGH(严重)/CRITICAL(危急)修复结果4种FIXED(已修复)/PARTIAL_FIXED(部分修复)/REPLACED(更换新设备)/PENDING(待处理) | 高 | 已实现 | module-asset: EquipmentHealthController |
| REQ-ASSET-041 | 故障自动计算 | 记录故障时自动计算:修复时长=(repairEndTime-repairStartTime)/60分钟转小时停机时长=(repairStartTime-failureTime)/60分钟转小时 | 中 | 已实现 | module-asset: EquipmentFailureHistory |
| REQ-ASSET-042 | 故障历史查询 | 支持按设备ID查询故障历史列表 | 中 | 已实现 | module-asset: EquipmentHealthController |
| REQ-ASSET-043 | 故障自动工单 | 故障记录时自动创建维修工单(事件驱动) | 中 | 未实现 | - |
#### 2.3.5 归属主体管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-ASSET-050 | 归属主体CRUD | 支持创建/查询/更新/删除归属主体主体类型3种COMPANY(公司)/OWNER(业主)/RENTAL_COMPANY(租赁公司),含主体名称/编码/联系人/联系电话/联系地址/营业执照/法人代表/合同编号/合同起止日期/租赁费用 | 高 | 已实现 | module-asset: OwnershipEntityController |
| REQ-ASSET-051 | 归属主体查询 | 支持按类型查询归属主体、获取全部未删除主体 | 中 | 已实现 | module-asset: OwnershipEntityController |
| REQ-ASSET-052 | 归属主体逻辑删除 | 删除操作为逻辑删除isDeleted标记查询时过滤已删除记录 | 高 | 已实现 | module-asset: OwnershipEntityController |
| REQ-ASSET-053 | 设备归属冗余 | Equipment表同时存储owningEntityId和owningEntityName避免频繁关联查询 | 中 | 已实现 | module-asset: Equipment |
#### 2.3.6 特种设备管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-ASSET-060 | 特种设备标记 | 设备主表含specialEquipmentType特种设备类型和specialEquipmentCert特种设备证书字段 | 中 | 已实现 | module-asset: Equipment |
| REQ-ASSET-061 | 年检周期管理 | 设备含inspectionCycle年检周期/月和nextInspectionDate下次年检日期字段 | 中 | 已实现 | module-asset: Equipment |
| REQ-ASSET-062 | 特种设备列表查询 | 支持查询项目下的特种设备列表 | 中 | 已实现 | module-mdm: SpaceNodeController.getSpecialEquipmentList |
| REQ-ASSET-063 | 即将年检预警 | 支持查询即将年检设备默认90天内按项目筛选 | 中 | 已实现 | module-mdm: SpaceNodeController.getExpiringInspectionEquipment |
| REQ-ASSET-064 | 维保到期定时提醒 | 后端定时任务检查维保合同到期/年检到期,自动发送提醒通知 | 中 | 未实现 | - |
---
### 2.4 运营与服务域
#### 2.4.1 工单管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-OPS-001 | 工单创建 | 支持创建工单工单编号自动生成格式WO-YYYYMMDD-XXXX4位序号按日递增工单来源6种OWNER(业主报修)/MAINTENANCE(维保计划)/INSPECTION(巡检触发)/FAULT(故障触发)/REGULATORY(法规巡检)/MANUAL(手动创建)工单类型6种REPAIR/INSPECTION/SECURITY/CLEANING/PROPERTY/CONSULTATION | 高 | 已实现 | module-wo: WorkOrderController |
| REQ-OPS-002 | 工单查询 | 支持查询工单列表可按projectId/equipmentId/source/type/status/assignedTo筛选参数互斥按优先级依次判断支持按ID查询工单详情 | 高 | 已实现 | module-wo: WorkOrderController |
| REQ-OPS-003 | 工单状态流转 | 6种状态PENDING(待分配)->ASSIGNED(已派单)->IN_PROGRESS(执行中)->COMPLETED(已完成)->VERIFIED(已验收)CANCELLED(已取消PENDING/ASSIGNED/IN_PROGRESS可转入)COMPLETED/VERIFIED不可取消 | 高 | 已实现 | module-wo: WorkOrderService |
| REQ-OPS-004 | 工单派单 | POST /{id}/assign指定负责人(assignedTo)/服务商(assignedVendor)/派单日期(assignedDate)状态PENDING->ASSIGNED | 高 | 已实现 | module-wo: WorkOrderController |
| REQ-OPS-005 | 工单执行 | POST /{id}/start记录实际开始时间(actualStart=now())状态ASSIGNED->IN_PROGRESS | 高 | 已实现 | module-wo: WorkOrderController |
| REQ-OPS-006 | 工单完成 | POST /{id}/complete记录故障原因/解决方案/处理结果/费用(人工费+备件费=总费用),自动计算实际工时(actualHours=Duration.between(actualStart,actualEnd))状态IN_PROGRESS->COMPLETED | 高 | 已实现 | module-wo: WorkOrderController |
| REQ-OPS-007 | 工单验收 | POST /{id}/verify记录验收人(verifiedBy)/评分(rating,1-5星)/备注(remark)状态COMPLETED->VERIFIED | 高 | 已实现 | module-wo: WorkOrderController |
| REQ-OPS-008 | 工单取消 | POST /{id}/cancelPENDING/ASSIGNED/IN_PROGRESS可取消COMPLETED/VERIFIED不可取消抛出异常"无法取消已完成的工单" | 中 | 已实现 | module-wo: WorkOrderController |
| REQ-OPS-009 | 工单优先级 | 4种优先级LOW/MEDIUM(默认)/HIGH/URGENT | 高 | 已实现 | module-wo: WorkOrder |
| REQ-OPS-010 | 工单明细管理 | 支持查询/批量添加工单明细WorkOrderItem明细类型3种PART(备件)/INSPECTION_ITEM(巡检项)/CHECKPOINT(检查点),含名称/数量/单位/单价/总价/是否正常/观察记录/建议 | 中 | 已实现 | module-wo: WorkOrderController |
| REQ-OPS-011 | 工单统计 | 支持工单多维度统计:总数/待分配/已派单/执行中/已完成/已验收/已取消/今日完成/今日创建/逾期/平均完成工时/平均评分/按来源分布/按类型分布/按优先级分布 | 中 | 已实现 | module-wo: WorkOrderController |
| REQ-OPS-012 | 工单挂起与恢复 | 支持工单挂起SUSPENDED状态和恢复操作任意执行中状态可挂起 | 中 | 未实现 | - |
| REQ-OPS-013 | 工单退回 | 支持已派单工单退回重分配RETURNED状态ASSIGNED状态可退回 | 中 | 未实现 | - |
| REQ-OPS-014 | 工单流转记录 | 记录工单每次状态变更的流转历史WorkOrderFlow实体 | 中 | 未实现 | - |
| REQ-OPS-015 | 工单报修人信息 | 工单含报修人信息字段reporterId/reporterName/reporterPhone/reporterAddress | 中 | 未实现 | - |
| REQ-OPS-016 | 工单分页查询 | 工单列表接口支持分页返回当前为全量List返回 | 中 | 未实现 | - |
#### 2.4.2 维保计划
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-OPS-020 | 维保计划创建 | 支持创建维保计划,计划编码自动生成(唯一),计划名称必填,关联设备(equipmentId)必填计划类型2种PREVENTIVE(预防性)/CORRECTIVE(纠正性),周期天数(cycleDays),预估工时,指定服务商 | 高 | 已实现 | module-wo: MaintenancePlan |
| REQ-OPS-021 | 维保计划状态管理 | 计划状态3种ACTIVE(启用)/INACTIVE(停用)/SUSPENDED(暂停)删除行为为逻辑删除将状态设为INACTIVE | 高 | 已实现 | module-wo: MaintenancePlan |
| REQ-OPS-022 | 维保计划周期调度 | 通过cycleDays计算下次执行日期(nextDate),上次执行日期(lastDate) | 中 | 已实现 | module-wo: MaintenancePlan |
| REQ-OPS-023 | 维保计划自动调度 | 定时任务根据维保计划周期自动生成维保任务 | 中 | 未实现 | - |
#### 2.4.3 维保任务
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-OPS-030 | 维保任务创建 | 支持创建维保任务任务编号自动生成格式EQ-YYYYMMDD-XXXX关联设备(equipmentId)必填任务类型3种PREVENTIVE(预防性)/CORRECTIVE(纠正性)/EMERGENCY(紧急维修) | 高 | 已实现 | module-wo: MaintenanceTaskController |
| REQ-OPS-031 | 维保任务状态流转 | 6种状态PENDING->ASSIGNED->IN_PROGRESS->COMPLETED->VERIFIEDCANCELLED(PENDING/ASSIGNED/IN_PROGRESS可转入),与工单状态机一致 | 高 | 已实现 | module-wo: MaintenanceTaskService |
| REQ-OPS-032 | 4种触发方式 | 触发类型4种PLAN(计划触发)/INSPECTION(巡检触发)/FAULT(故障触发)/MANUAL(手动创建) | 高 | 已实现 | module-wo: MaintenanceTask |
| REQ-OPS-033 | 自动优先级判定 | 紧急维修类型->URGENT故障触发+紧急关键词(困人/漏水/停电/火灾/爆炸/漏电/冒烟/故障停机)->URGENT故障触发无紧急关键词->HIGH巡检触发->HIGH计划触发->MEDIUM其他->MEDIUM | 高 | 已实现 | module-wo: MaintenanceTaskServiceImpl.autoDeterminePriority |
| REQ-OPS-034 | 双完成接口 | 简版完成POST /{id}/complete处理结果/实际工时/总费用/完成人详版完成POST /{id}/complete-details含故障原因/解决方案/使用备件(JSONB)/人工费/备件费 | 中 | 已实现 | module-wo: MaintenanceTaskController |
| REQ-OPS-035 | 维保任务验收 | POST /{id}/verify记录验收人/评分(1-5)/备注独立评分接口POST /{id}/rate | 中 | 已实现 | module-wo: MaintenanceTaskController |
| REQ-OPS-036 | 完成后设备联动 | 维保任务完成时自动更新设备信息:维保商=任务服务商;预防性维护更新下次巡检日期(now()+inspectionCycle默认30天);异常容错(更新设备失败不影响工单完成) | 高 | 已实现 | module-wo: MaintenanceTaskServiceImpl |
| REQ-OPS-037 | 维保任务统计 | 支持多维度统计:总数/待分配/已派单/执行中/已完成/已验收/已取消/今日完成/今日创建/逾期/平均完成工时/平均评分/按优先级分布/按触发类型分布/人工费总计/备件费总计/费用总计 | 中 | 已实现 | module-wo: MaintenanceTaskController |
| REQ-OPS-038 | 使用备件记录 | 维保任务完成时可记录使用备件列表partsUsed JSONB含备件ID/名称/数量/单价/总价 | 中 | 已实现 | module-wo: MaintenanceTask |
#### 2.4.4 巡检管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-OPS-040 | 巡检模板管理 | 支持创建/查询/更新/复制巡检模板模板编码自动生成唯一模板状态2种ACTIVE/INACTIVE模板含检查项列表@Transient非持久化通过templateId关联InspectionItem | 高 | 已实现 | module-wo: InspectionTemplate |
| REQ-OPS-041 | 巡检项管理 | 检查项通过templateId关联模板含检查项名称/描述/检查方法/检查标准/是否必检(默认true)/是否需要正常判定(默认true)/排序号 | 高 | 已实现 | module-wo: InspectionItem |
| REQ-OPS-042 | 巡检签到 | 巡检记录支持签到信息:签到时间(checkInTime)/签到位置(checkInLocation)/签到照片(checkInPhoto) | 中 | 已实现 | module-mdm: InspectionRecord |
| REQ-OPS-043 | 巡检异常上报 | 巡检记录支持异常问题列表problems JSONB含问题描述/照片/严重程度(LOW/MEDIUM/HIGH) | 中 | 已实现 | module-mdm: InspectionRecord |
| REQ-OPS-044 | 巡检扫码签到 | 支持扫描设备二维码进行巡检签到,记录位置信息 | 中 | 未实现 | - |
#### 2.4.5 备件管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-OPS-050 | 备件分类管理 | 支持创建/查询备件分类分类编码唯一支持树形分类parentId自关联含分类名称/描述/排序号 | 高 | 已实现 | module-mdm: SparePartController |
| REQ-OPS-051 | 备件台账CRUD | 支持创建/查询/更新/删除备件,备件编码唯一,含名称/分类/规格型号/计量单位/安全库存(默认0)/当前库存(默认0)/单价/供应商/供应商联系方式/存放位置/状态(ACTIVE/INACTIVE) | 高 | 已实现 | module-mdm: SparePartController |
| REQ-OPS-052 | 入库操作 | POST /in-stock增加库存记录备件ID/数量/操作人/备注更新currentStock记录SparePartRecord(类型IN含操作后余额balance) | 高 | 已实现 | module-mdm: SparePartController |
| REQ-OPS-053 | 出库操作 | POST /out-stock减少库存记录备件ID/数量/关联工单ID(可选)/操作人/备注校验库存不能为负更新currentStock记录SparePartRecord(类型OUT) | 高 | 已实现 | module-mdm: SparePartController |
| REQ-OPS-054 | 低库存预警 | 当currentStock < safeStock时触发预警GET /low-stock返回低于安全库存的备件列表 | | 已实现 | module-mdm: SparePartController |
| REQ-OPS-055 | 出入库记录查询 | 支持查询指定备件的所有出入库记录流水 | | 已实现 | module-mdm: SparePartController |
| REQ-OPS-056 | 盘点与调整 | 支持盘点(CHECK)和调整(ADJUST)操作记录SparePartRecord | | 已实现 | module-mdm: SparePartRecord(RecordType) |
#### 2.4.6 能耗管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-OPS-060 | 计量点管理 | 支持创建/查询/更新/删除计量点计量点编码自动生成EM+yyyyMMddHHmmss冲突时追加后缀能源类型6种LIGHTING(照明插座用电)/HVAC(空调用电)/POWER(动力用电)/SPECIAL(特殊用电)/WATER(给排水)/GAS(燃气)关联空间节点含额定容量/单价(4位小数精度)/状态(ACTIVE/INACTIVE) | | 已实现 | module-mdm: EnergyController |
| REQ-OPS-061 | 能耗抄表录入 | POST /consumption录入能耗数据{meterId, currentReading, recordedBy}校验仪表状态必须ACTIVE(错误码6102)/当前读数不能小于上次读数(错误码6103)/仪表必须存在(错误码6101)自动获取上次读数(首次为0)自动计算消耗量(current-previous)自动计算费用(consumption x unitPrice单价为空时为0)默认记录方式MANUAL | | 已实现 | module-mdm: EnergyConsumptionService |
| REQ-OPS-062 | 能耗记录查询 | 支持按计量点查询能耗记录可按日期范围(startDate/endDate)筛选 | | 已实现 | module-mdm: EnergyController |
| REQ-OPS-063 | 按类型统计能耗 | GET /statistics/by-type按项目+月份统计各能源类型消耗量注意当前实现将总消耗全部归入LIGHTING类型存在已知缺陷 | | 部分实现 | module-mdm: EnergyConsumptionService |
| REQ-OPS-064 | 单位面积能耗 | GET /statistics/unit-consumption计算总能耗/总建筑面积 | | 已实现 | module-mdm: EnergyConsumptionService |
| REQ-OPS-065 | IoT自动抄表 | 支持对接IoT平台自动采集能耗数据RecordMethod.IOT | | 未实现 | - |
| REQ-OPS-066 | 前后端能源类型统一 | 后端LIGHTING/HVAC/POWER/SPECIAL/WATER/GAS与前端ELECTRICITY/WATER/GAS/CENTRAL_HEATING/CENTRAL_COOLING需对齐 | | 未实现 | - |
---
### 2.5 财务与收费域
#### 2.5.1 收费项目管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-FIN-001 | 收费项目实体 | FeeItem实体含code/name/type/billingMethod/unitPrice/unit/billDay/dueDay/overdueDay/enableLateFee/lateFeeRate/maxLateFee收费类型8种PROPERTY/PARKING/WATER/ELECTRICITY/GAS/HEATING/REPAIR_FUND/OTHER计费方式4种FIXED/AREA/USAGE/CUSTOM | | 未实现 | - |
| REQ-FIN-002 | 收费项目CRUD | 支持创建/查询/更新/禁用收费项目 | | 未实现 | - |
#### 2.5.2 收费账单管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-FIN-010 | 账单实体 | FeeBill实体含billNo/feeItemId/spaceNodeId/ownerId/billPeriod/billDate/dueDate/overdueDate/usageAmount/amount/lateFee/discount/payableAmount/paidAmount/status账单状态5种UNPAID/PARTIAL_PAID/PAID/OVERDUE/CANCELLED | | 未实现 | - |
| REQ-FIN-011 | 账单自动生成 | 根据收费项目规则按账期自动生成账单 | | 未实现 | - |
| REQ-FIN-012 | 账单状态流转 | UNPAID->PARTIAL_PAID->PAID / OVERDUE->CANCELLED | 高 | 未实现 | - |
| REQ-FIN-013 | 批量账单生成 | 一次性为项目所有业主生成账单 | 中 | 未实现 | - |
| REQ-FIN-014 | 账单导出 | 导出Excel/PDF格式账单 | 中 | 未实现 | - |
#### 2.5.3 支付记录管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-FIN-020 | 支付记录实体 | FeePayment实体含paymentNo/amount/method/thirdPartyNo/status/failReason/paymentTime支付方式5种WECHAT/ALIPAY/CASH/BANK_TRANSFER/CARD支付状态4种PENDING/SUCCESS/FAILED/REFUNDED | 高 | 未实现 | - |
| REQ-FIN-021 | 线下收款登记 | 支持登记线下收款记录 | 高 | 未实现 | - |
| REQ-FIN-022 | 支付记录查询 | 支持查询支付记录列表 | 中 | 未实现 | - |
#### 2.5.4 退款管理
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-FIN-030 | 退款实体 | FeeRefund实体含refundNo/amount/reason/status/approverId/approveTime/thirdPartyRefundNo/refundTime退款状态4种PENDING/APPROVED/REJECTED/REFUNDED | 中 | 未实现 | - |
| REQ-FIN-031 | 退款流程 | 退款申请->审批->执行 | 中 | 未实现 | - |
#### 2.5.5 费用催缴与滞纳金
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-FIN-040 | 费用催缴定时任务 | 到期提醒3天内、逾期催缴、周汇总 | 中 | 未实现 | - |
| REQ-FIN-041 | 滞纳金自动计算 | 逾期天数 x 日利率,不超过上限 | 中 | 未实现 | - |
#### 2.5.6 能耗计费
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-FIN-050 | 能耗数据与账单对接 | 将EnergyConsumption的amount作为按用量计费的账单数据来源实现能耗抄表->费用计算->账单生成的闭环 | 高 | 未实现 | - |
| REQ-FIN-051 | 按面积计费 | 根据房产面积 x 单价计算物业费 | 中 | 未实现 | - |
| REQ-FIN-052 | 固定金额计费 | 每月固定金额的收费项目(如停车费) | 中 | 未实现 | - |
| REQ-FIN-053 | 支付网关对接 | 微信支付/支付宝SDK集成 | 中 | 未实现 | - |
| REQ-FIN-054 | 财务报表 | 收费统计/欠费分析/收入趋势 | 低 | 未实现 | - |
---
### 2.6 前端交互域
#### 2.6.1 登录与权限控制流程
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-UI-001 | 登录页面 | /auth/Login.vue输入用户名+密码调用POST /api/auth/login存储Token到本地跳转至主页 | 高 | 已实现 | ether-admin: Login.vue |
| REQ-UI-002 | 前端权限指令 | v-permission指令根据用户角色/权限控制元素显示隐藏 | 高 | 已实现 | ether-admin: v-permission |
| REQ-UI-003 | 路由权限守卫 | 前端路由守卫,根据用户权限动态渲染菜单和路由 | 高 | 已实现 | ether-admin: router |
| REQ-UI-004 | Token管理优化 | 双Token机制accessToken+refreshToken、加密存储 | 高 | 未实现 | OPT-SEC-001 |
| REQ-UI-005 | XSS防护增强 | xss库过滤、白名单配置 | 高 | 未实现 | OPT-SEC-002 |
| REQ-UI-006 | CSRF防护 | CSRF Token、SameSite Cookie | 高 | 未实现 | OPT-SEC-003 |
#### 2.6.2 项目切换与数据隔离
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-UI-010 | 项目选择 | 登录后获取用户项目列表GET /api/auth/users/{id}/projects用户选择项目后续请求携带X-Project-ID Header | 高 | 已实现 | ether-admin |
| REQ-UI-011 | 项目切换 | 支持在已参与的项目间切换,切换后刷新当前页面数据 | 高 | 已实现 | ether-admin |
| REQ-UI-012 | 菜单动态渲染 | 根据用户角色和项目配置(ProjectConfig功能开关)动态渲染菜单 | 高 | 已实现 | ether-admin |
#### 2.6.3 各模块页面交互规范
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 | 对应代码模块 |
|--------|----------|----------|--------|----------|-------------|
| REQ-UI-020 | 用户管理页面 | /system/Users.vue + /system/UserDetail.vue用户列表(分页/搜索/状态筛选)/创建用户/编辑/删除/修改密码/分配角色/查看项目 | 高 | 已实现 | ether-admin |
| REQ-UI-021 | 角色管理页面 | /system/Roles.vue角色列表(分页/搜索)/创建/编辑/删除/分配权限/查看关联用户 | 高 | 已实现 | ether-admin |
| REQ-UI-022 | 权限管理页面 | /system/Permissions.vue权限列表(分页/搜索)/创建/编辑/删除/按类型筛选/查看菜单权限 | 高 | 已实现 | ether-admin |
| REQ-UI-023 | 部门管理页面 | /system/Depts.vue部门树展示/创建/编辑/删除(需先删除子部门)/查看成员/按类型筛选 | 高 | 已实现 | ether-admin |
| REQ-UI-024 | 审计日志页面 | /system/Audit.vue日志列表(分页/模块/操作类型/用户名/日期范围筛选)/查看统计/模块和操作类型下拉 | 中 | 已实现 | ether-admin |
| REQ-UI-025 | 系统设置页面 | /system/Settings.vue查看所有配置项(键值对)/单个或批量更新配置值 | 中 | 已实现 | ether-admin |
| REQ-UI-026 | 设备列表页面 | EquipmentList.vue设备台账主列表含筛选/新增/编辑/删除/导入导出/批量删除 | 高 | 已实现 | ether-admin |
| REQ-UI-027 | 设备详情页面 | EquipmentDetail.vue设备完整信息展示(基本信息/技术参数/维保/财务/照片/文档) | 高 | 已实现 | ether-admin |
| REQ-UI-028 | 设备健康页面 | EquipmentHealth.vue健康度评分/趋势图/MTBF/MTTR/故障历史 | 中 | 已实现 | ether-admin |
| REQ-UI-029 | 工单管理页面 | WorkOrder.vue工单列表/新建/详情/派单/执行/完成/验收/取消 | 高 | 已实现 | ether-admin |
| REQ-UI-030 | 维保计划页面 | PlanList.vue维保计划列表/新建/编辑/停用 | 高 | 已实现 | ether-admin |
| REQ-UI-031 | 维保任务页面 | TaskList.vue维保任务列表/接受/开始/完成/取消 | 高 | 已实现 | ether-admin |
| REQ-UI-032 | 能耗管理页面 | MeterList.vue + ConsumptionRecord.vue + EnergyStatistics.vue计量点管理/能耗录入/能耗统计 | 中 | 已实现 | ether-admin |
| REQ-UI-033 | 列表虚拟滚动 | 后端分页、虚拟表格优化长列表性能 | 中 | 未实现 | OPT-PERF-001 |
| REQ-UI-034 | 请求优化 | 取消重复请求、请求缓存 | 中 | 未实现 | OPT-PERF-002 |
| REQ-UI-035 | WebSocket替代轮询 | 实时通信、断线重连 | 低 | 未实现 | OPT-PERF-003 |
| REQ-UI-036 | 响应式设计 | CSS媒体查询、移动端适配 | 低 | 未实现 | OPT-UX-002 |
| REQ-UI-037 | 国际化支持 | vue-i18n、中英文切换 | 低 | 未实现 | OPT-UX-005 |
---
## 三、跨域业务流程需求
### 3.1 业主报修全流程
**流程描述**:业主发起报修到工单验收评价的完整闭环。
| 步骤 | 操作 | 涉及域 | 涉及功能点 | 实现状态 |
|------|------|--------|-----------|----------|
| 1 | 业主认证身份 | 身份与权限域 | REQ-AUTH-051 住户认证流程 | 已实现 |
| 2 | 业主选择项目 | 前端交互域 | REQ-UI-010 项目选择 | 已实现 |
| 3 | 业主定位设备 | 空间与项目域 | REQ-MDM-013 空间节点查询 | 已实现 |
| 4 | 创建报修工单 | 运营与服务域 | REQ-OPS-001 工单创建(source=OWNER) | 已实现 |
| 5 | 工单派单 | 运营与服务域 | REQ-OPS-004 工单派单 | 已实现 |
| 6 | 维保人员执行 | 运营与服务域 | REQ-OPS-005 工单执行 -> REQ-OPS-006 工单完成 | 已实现 |
| 7 | 工单验收 | 运营与服务域 | REQ-OPS-007 工单验收 | 已实现 |
| 8 | 业主评价 | 运营与服务域 | REQ-OPS-007 工单验收(评分) | 已实现 |
| - | 业主端小程序 | 前端交互域 | 业主端23项特性(APP-O01~O23) | 未实现 |
### 3.2 设备全生命周期管理
**流程描述**:设备从采购安装到报废退役的全生命周期管理。
| 步骤 | 操作 | 涉及域 | 涉及功能点 | 实现状态 |
|------|------|--------|-----------|----------|
| 1 | 设备采购登记 | 设备与资产域 | REQ-ASSET-001 设备创建(purchaseDate/purchasePrice) | 已实现 |
| 2 | 设备安装就位 | 设备与资产域 | REQ-ASSET-004 设备与空间关联 + REQ-ASSET-020~023 扩展表录入 | 已实现 |
| 3 | 设备运行监控 | 设备与资产域 | REQ-ASSET-030~034 健康评分/MTBF/MTTR | 已实现[Beta] |
| 4 | 预防性维保 | 运营与服务域 | REQ-OPS-020~022 维保计划 + REQ-OPS-030~036 维保任务 | 已实现 |
| 5 | 定期巡检 | 运营与服务域 | REQ-OPS-040~043 巡检模板/签到/异常上报 | 已实现 |
| 6 | 故障处理 | 设备与资产域 | REQ-ASSET-040~042 故障记录 | 已实现 |
| 7 | 故障触发工单 | 运营与服务域 | REQ-OPS-001 工单创建(source=FAULT) | 已实现 |
| 8 | 设备报废 | 设备与资产域 | REQ-ASSET-001 设备状态变更为SCRAPPED | 已实现 |
### 3.3 预防性维保调度流程
**流程描述**:从维保计划制定到维保执行验收的完整调度闭环。
| 步骤 | 操作 | 涉及域 | 涉及功能点 | 实现状态 |
|------|------|--------|-----------|----------|
| 1 | 制定维保计划 | 运营与服务域 | REQ-OPS-020 维保计划创建(type=PREVENTIVE) | 已实现 |
| 2 | 设置周期规则 | 运营与服务域 | REQ-OPS-022 维保计划周期调度(cycleDays/nextDate) | 已实现 |
| 3 | 自动生成维保任务 | 运营与服务域 | REQ-OPS-023 维保计划自动调度 | 未实现 |
| 4 | 手动创建维保任务 | 运营与服务域 | REQ-OPS-030 维保任务创建(triggerType=PLAN) | 已实现 |
| 5 | 分配维保人员 | 运营与服务域 | REQ-OPS-031 维保任务状态流转(ASSIGNED) | 已实现 |
| 6 | 执行维保 | 运营与服务域 | REQ-OPS-034 维保任务双完成接口 | 已实现 |
| 7 | 维保验收 | 运营与服务域 | REQ-OPS-035 维保任务验收 | 已实现 |
| 8 | 更新设备记录 | 设备与资产域 | REQ-OPS-036 完成后设备联动 | 已实现 |
### 3.4 巡检异常处理流程
**流程描述**:巡检发现异常到问题解决的完整处理流程。
| 步骤 | 操作 | 涉及域 | 涉及功能点 | 实现状态 |
|------|------|--------|-----------|----------|
| 1 | 配置巡检模板 | 运营与服务域 | REQ-OPS-040 巡检模板管理 | 已实现 |
| 2 | 执行巡检签到 | 运营与服务域 | REQ-OPS-042 巡检签到 | 已实现 |
| 3 | 发现异常上报 | 运营与服务域 | REQ-OPS-043 巡检异常上报 | 已实现 |
| 4 | 创建维修工单 | 运营与服务域 | REQ-OPS-001 工单创建(source=INSPECTION) | 已实现 |
| 5 | 工单处理 | 运营与服务域 | REQ-OPS-004~007 工单派单/执行/完成/验收 | 已实现 |
| 6 | 复检确认 | 运营与服务域 | REQ-MDM-033 巡检记录管理(再次巡检) | 已实现 |
### 3.5 能耗计费流程
**流程描述**:从能耗抄表到费用收取的完整流程。
| 步骤 | 操作 | 涉及域 | 涉及功能点 | 实现状态 |
|------|------|--------|-----------|----------|
| 1 | 配置计量点 | 运营与服务域 | REQ-OPS-060 计量点管理(含单价) | 已实现 |
| 2 | 能耗抄表 | 运营与服务域 | REQ-OPS-061 能耗抄表录入 | 已实现 |
| 3 | 费用计算 | 运营与服务域 | REQ-OPS-061 自动计算费用(consumption x unitPrice) | 已实现 |
| 4 | 生成账单 | 财务与收费域 | REQ-FIN-050 能耗数据与账单对接 | 未实现 |
| 5 | 业主缴费 | 财务与收费域 | REQ-FIN-020~022 支付记录管理 | 未实现 |
| 6 | 能耗统计分析 | 运营与服务域 | REQ-OPS-063~064 能耗统计 | 部分实现 |
---
## 四、非功能需求
### 4.1 安全需求
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 |
|--------|----------|----------|--------|----------|
| REQ-NFR-001 | 密码加密 | 用户密码使用BCrypt算法加密存储不存储明文 | 高 | 已实现 |
| REQ-NFR-002 | JWT认证 | 使用HMAC-SHA256算法生成JWT TokenToken含userId/username/roles过期时间可配置默认24小时 | 高 | 已实现 |
| REQ-NFR-003 | 登录失败锁定 | 5次登录失败后锁定账户10分钟基于Redis实现 | 高 | 已实现 |
| REQ-NFR-004 | 密码强度校验 | 8-20位必须包含大小写字母+数字+特殊字符,弱密码黑名单检测 | 高 | 已实现 |
| REQ-NFR-005 | 项目数据隔离 | 基于X-Project-ID Header实现项目级数据隔离DataScopeService四级数据范围过滤 | 高 | 已实现 |
| REQ-NFR-006 | 操作审计 | AOP切面自动记录操作日志异步持久化30天查询窗口 | 高 | 已实现 |
| REQ-NFR-007 | 敏感字段脱敏 | 审计日志中敏感字段自动脱敏(如密码、身份证号) | 中 | 已实现 |
| REQ-NFR-008 | XSS防护 | 前端输入过滤、白名单配置 | 高 | 未实现 |
| REQ-NFR-009 | CSRF防护 | CSRF Token、SameSite Cookie | 高 | 未实现 |
| REQ-NFR-010 | 敏感信息保护 | 移除敏感Header、错误信息脱敏 | 中 | 未实现 |
### 4.2 性能需求
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 |
|--------|----------|----------|--------|----------|
| REQ-NFR-020 | 分页查询 | 所有列表接口支持分页查询,避免全量数据返回 | 高 | 部分实现(工单列表为全量返回) |
| REQ-NFR-021 | 异步日志 | 审计日志通过线程池异步保存,不影响业务接口响应时间 | 高 | 已实现 |
| REQ-NFR-022 | 数据库索引 | 关键查询字段建立索引(审计日志/空间节点/设备/工单/能耗记录等) | 高 | 已实现 |
| REQ-NFR-023 | 列表虚拟滚动 | 前端长列表使用虚拟滚动技术减少DOM节点 | 中 | 未实现 |
| REQ-NFR-024 | 请求去重与缓存 | 前端取消重复请求、请求结果缓存 | 中 | 未实现 |
| REQ-NFR-025 | WebSocket实时通信 | 替代轮询,实现工单状态变更实时推送 | 低 | 未实现 |
### 4.3 可用性需求
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 |
|--------|----------|----------|--------|----------|
| REQ-NFR-030 | 多项目切换 | 用户可在参与的项目间自由切换,切换后数据自动刷新 | 高 | 已实现 |
| REQ-NFR-031 | 角色权限动态菜单 | 根据用户角色和项目配置动态渲染菜单和路由 | 高 | 已实现 |
| REQ-NFR-032 | 前端权限指令 | v-permission指令控制页面元素显示隐藏 | 高 | 已实现 |
| REQ-NFR-033 | 表单分步优化 | 复杂表单使用Steps组件分步验证 | 中 | 未实现 |
| REQ-NFR-034 | 加载状态优化 | 骨架屏、防抖等加载状态优化 | 中 | 未实现 |
| REQ-NFR-035 | 列表交互增强 | 批量操作、视图切换 | 低 | 未实现 |
### 4.4 可扩展性需求
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 |
|--------|----------|----------|--------|----------|
| REQ-NFR-040 | JSONB扩展 | 设备attributes/巡检items&problems/工单photos&partsUsed等使用JSONB存储支持灵活扩展 | 高 | 已实现 |
| REQ-NFR-041 | 扩展表模式 | 设备主表+4张扩展表模式新增设备类型只需添加扩展表 | 高 | 已实现 |
| REQ-NFR-042 | 自定义配置 | 项目配置(ProjectConfig)支持功能开关和customConfig JSON | 高 | 已实现 |
| REQ-NFR-043 | 系统键值配置 | SysConfig支持运行时动态参数调整 | 中 | 已实现 |
| REQ-NFR-044 | 数据访问授权 | DataAccess通用数据访问控制支持细粒度授权扩展 | 中 | 已实现 |
### 4.5 兼容性需求
| 需求ID | 需求名称 | 需求描述 | 优先级 | 实现状态 |
|--------|----------|----------|--------|----------|
| REQ-NFR-050 | 浏览器兼容 | 管理后台支持Chrome/Firefox/Edge/Safari最新2个主版本 | 高 | 已实现 |
| REQ-NFR-051 | 移动端适配 | 员工APP和业主小程序基于uni-app跨端框架支持iOS/Android | 高 | 未实现(框架待搭建) |
| REQ-NFR-052 | 响应式设计 | 管理后台支持不同屏幕尺寸的响应式布局 | 中 | 未实现 |
---
## 五、需求追踪矩阵
### 5.1 身份与权限域
| 需求ID | 名称 | 优先级 | 实现状态 | 设计文档 | 代码模块 |
|--------|------|--------|----------|----------|----------|
| REQ-AUTH-001 | 用户创建 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController |
| REQ-AUTH-002 | 用户查询 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController |
| REQ-AUTH-003 | 用户更新 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController |
| REQ-AUTH-004 | 用户删除 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: UserController |
| REQ-AUTH-005 | 密码修改 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController |
| REQ-AUTH-006 | 多类型用户扩展 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: EnterpriseUser/ProjectStaff/Resident |
| REQ-AUTH-007 | 用户角色分配 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController |
| REQ-AUTH-008 | 用户项目关联 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: UserController |
| REQ-AUTH-010 | 角色管理 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: RoleController |
| REQ-AUTH-011 | 权限管理 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: PermissionController |
| REQ-AUTH-012 | 角色权限分配 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: RoleController |
| REQ-AUTH-013 | 四级数据范围 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: DataScopeService |
| REQ-AUTH-014 | 双层角色分配 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuthService |
| REQ-AUTH-015 | 项目级角色查询 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: RoleController |
| REQ-AUTH-016 | 角色关联用户查询 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: RoleController |
| REQ-AUTH-017 | 权限树端点 | 中 | 未实现 | - | - |
| REQ-AUTH-018 | 权限校验端点 | 中 | 未实现 | - | - |
| REQ-AUTH-019 | 用户菜单端点 | 中 | 未实现 | - | - |
| REQ-AUTH-020 | 用户权限查询端点 | 中 | 未实现 | - | - |
| REQ-AUTH-021 | 角色业务属性 | 低 | 未实现 | - | - |
| REQ-AUTH-022 | 权限菜单路由属性 | 低 | 未实现 | - | - |
| REQ-AUTH-030 | 部门管理 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: DeptController |
| REQ-AUTH-031 | 部门树查询 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: DeptController |
| REQ-AUTH-032 | 部门成员查询 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: DeptController |
| REQ-AUTH-033 | 按类型查询部门 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: DeptController |
| REQ-AUTH-034 | 部门删除约束 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: DeptService |
| REQ-AUTH-040 | 项目成员列表 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectMemberController |
| REQ-AUTH-041 | 可用成员查询 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectMemberController |
| REQ-AUTH-042 | 添加项目成员 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectMemberController |
| REQ-AUTH-043 | 移除项目成员 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectMemberController |
| REQ-AUTH-044 | 项目员工班次 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectStaff |
| REQ-AUTH-045 | 项目员工角色 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectStaffRole |
| REQ-AUTH-050 | 住户信息管理 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: Resident |
| REQ-AUTH-051 | 住户认证流程 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: Resident |
| REQ-AUTH-052 | 住户房屋绑定 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ResidentSpace |
| REQ-AUTH-053 | 房屋空间管理 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: Space |
| REQ-AUTH-060 | 用户登录 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuthController |
| REQ-AUTH-061 | 用户登出 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuthController |
| REQ-AUTH-062 | Token刷新 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuthController |
| REQ-AUTH-063 | 获取当前用户 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuthController |
| REQ-AUTH-064 | JWT Token规范 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: JwtTokenProvider |
| REQ-AUTH-065 | 登录失败锁定 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: LoginAttemptService |
| REQ-AUTH-066 | 项目上下文传递 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: ProjectContextInterceptor |
| REQ-AUTH-070 | 操作日志记录 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: OperationLogAspect |
| REQ-AUTH-071 | 异步持久化 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuditLogService |
| REQ-AUTH-072 | 审计日志查询 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: AuditLogController |
| REQ-AUTH-073 | 模块与操作类型 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: AuditLog |
| REQ-AUTH-074 | 日志统计 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: AuditLogController |
| REQ-AUTH-075 | 日志归档 | 低 | 部分实现 | REVERSE-AUTH.md | module-auth: AuditLogService |
| REQ-AUTH-080 | 键值配置管理 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: SysConfigController |
| REQ-AUTH-081 | 密码策略配置 | 高 | 已实现 | REVERSE-AUTH.md | module-auth: PasswordStrengthValidator |
| REQ-AUTH-082 | 数据访问授权 | 中 | 已实现 | REVERSE-AUTH.md | module-auth: DataAccessController |
### 5.2 空间与项目域
| 需求ID | 名称 | 优先级 | 实现状态 | 设计文档 | 代码模块 |
|--------|------|--------|----------|----------|----------|
| REQ-MDM-001 | 项目创建 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController |
| REQ-MDM-002 | 项目查询 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController |
| REQ-MDM-003 | 项目更新与删除 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController |
| REQ-MDM-004 | 项目状态流转 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController |
| REQ-MDM-005 | 状态变更历史 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectStatusHistory |
| REQ-MDM-006 | 项目统计 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController |
| REQ-MDM-007 | 项目配置管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectConfigController |
| REQ-MDM-008 | 项目成员管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectMemberController |
| REQ-MDM-009 | 项目删除检查 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: ProjectController |
| REQ-MDM-010 | 空间节点创建 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeController |
| REQ-MDM-011 | 15种节点类型 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNode |
| REQ-MDM-012 | 树形结构维护 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeService |
| REQ-MDM-013 | 空间节点查询 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeController |
| REQ-MDM-014 | 空间节点更新与删除 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeController |
| REQ-MDM-015 | 面积信息管理 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNode |
| REQ-MDM-016 | 地理信息管理 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNode |
| REQ-MDM-017 | 设备扩展模式 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNode |
| REQ-MDM-018 | 扩展属性JSON | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNode |
| REQ-MDM-019 | 空间编码自动生成 | 中 | 未实现 | - | - |
| REQ-MDM-020 | 节点移动 | 中 | 未实现 | - | - |
| REQ-MDM-021 | 祖先/子孙查询 | 低 | 未实现 | - | - |
| REQ-MDM-022 | 空间统计分析 | 低 | 未实现 | - | - |
| REQ-MDM-023 | PostGIS空间查询 | 低 | 未实现 | - | - |
| REQ-MDM-024 | 地图服务 | 低 | 未实现 | - | - |
| REQ-MDM-025 | 空间节点导入导出 | 中 | 未实现 | - | - |
| REQ-MDM-030 | 巡检标准项CRUD | 高 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionItemController |
| REQ-MDM-031 | 标准项查询筛选 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionItemService |
| REQ-MDM-032 | 巡检模板管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionTemplateController |
| REQ-MDM-033 | 巡检记录管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionRecordController |
| REQ-MDM-034 | 巡检记录查询 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionRecordService |
### 5.3 设备与资产域
| 需求ID | 名称 | 优先级 | 实现状态 | 设计文档 | 代码模块 |
|--------|------|--------|----------|----------|----------|
| REQ-ASSET-001 | 设备创建 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController |
| REQ-ASSET-002 | 设备查询 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController |
| REQ-ASSET-003 | 设备更新与删除 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController |
| REQ-ASSET-004 | 设备与空间关联 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment |
| REQ-ASSET-005 | 系统类型分类 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment |
| REQ-ASSET-006 | 设备统计 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController |
| REQ-ASSET-007 | 设备导入 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController |
| REQ-ASSET-008 | 设备导出 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentController |
| REQ-ASSET-009 | 设备照片管理 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment |
| REQ-ASSET-010 | 设备文档管理 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment |
| REQ-ASSET-011 | 设备二维码 | 中 | 未实现 | - | - |
| REQ-ASSET-012 | 设备规格字段 | 低 | 未实现 | - | - |
| REQ-ASSET-020 | 电梯扩展表 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentElevatorService |
| REQ-ASSET-021 | 暖通扩展表 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentHvacService |
| REQ-ASSET-022 | 消防扩展表 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentFireService |
| REQ-ASSET-023 | 能源计量扩展表 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentEnergyService |
| REQ-ASSET-024 | 扩展表读写模式 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment*Service |
| REQ-ASSET-025 | 无扩展表设备类型 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment |
| REQ-ASSET-030 | 健康评分算法 | 高 | 已实现[Beta] | REVERSE-ASSET.md | module-asset: EquipmentHealthServiceImpl |
| REQ-ASSET-031 | 5级健康等级 | 高 | 已实现[Beta] | REVERSE-ASSET.md | module-asset: HealthLevel |
| REQ-ASSET-032 | MTBF计算 | 中 | 已实现[Beta] | REVERSE-ASSET.md | module-asset: EquipmentHealthServiceImpl |
| REQ-ASSET-033 | MTTR计算 | 中 | 已实现[Beta] | REVERSE-ASSET.md | module-asset: EquipmentHealthServiceImpl |
| REQ-ASSET-034 | 健康评分查询 | 中 | 已实现[Beta] | REVERSE-ASSET.md | module-asset: EquipmentHealthController |
| REQ-ASSET-035 | 维保完成率计算 | 中 | 部分实现 | REVERSE-ASSET.md | module-asset: EquipmentHealthServiceImpl |
| REQ-ASSET-040 | 故障记录 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentHealthController |
| REQ-ASSET-041 | 故障自动计算 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentFailureHistory |
| REQ-ASSET-042 | 故障历史查询 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: EquipmentHealthController |
| REQ-ASSET-043 | 故障自动工单 | 中 | 未实现 | - | - |
| REQ-ASSET-050 | 归属主体CRUD | 高 | 已实现 | REVERSE-ASSET.md | module-asset: OwnershipEntityController |
| REQ-ASSET-051 | 归属主体查询 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: OwnershipEntityController |
| REQ-ASSET-052 | 归属主体逻辑删除 | 高 | 已实现 | REVERSE-ASSET.md | module-asset: OwnershipEntityController |
| REQ-ASSET-053 | 设备归属冗余 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment |
| REQ-ASSET-060 | 特种设备标记 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment |
| REQ-ASSET-061 | 年检周期管理 | 中 | 已实现 | REVERSE-ASSET.md | module-asset: Equipment |
| REQ-ASSET-062 | 特种设备列表查询 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeController |
| REQ-ASSET-063 | 即将年检预警 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SpaceNodeController |
| REQ-ASSET-064 | 维保到期定时提醒 | 中 | 未实现 | - | - |
### 5.4 运营与服务域
| 需求ID | 名称 | 优先级 | 实现状态 | 设计文档 | 代码模块 |
|--------|------|--------|----------|----------|----------|
| REQ-OPS-001 | 工单创建 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController |
| REQ-OPS-002 | 工单查询 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController |
| REQ-OPS-003 | 工单状态流转 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderService |
| REQ-OPS-004 | 工单派单 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController |
| REQ-OPS-005 | 工单执行 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController |
| REQ-OPS-006 | 工单完成 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController |
| REQ-OPS-007 | 工单验收 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController |
| REQ-OPS-008 | 工单取消 | 中 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController |
| REQ-OPS-009 | 工单优先级 | 高 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrder |
| REQ-OPS-010 | 工单明细管理 | 中 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController |
| REQ-OPS-011 | 工单统计 | 中 | 已实现 | REVERSE-OPS.md | module-wo: WorkOrderController |
| REQ-OPS-012 | 工单挂起与恢复 | 中 | 未实现 | - | - |
| REQ-OPS-013 | 工单退回 | 中 | 未实现 | - | - |
| REQ-OPS-014 | 工单流转记录 | 中 | 未实现 | - | - |
| REQ-OPS-015 | 工单报修人信息 | 中 | 未实现 | - | - |
| REQ-OPS-016 | 工单分页查询 | 中 | 未实现 | - | - |
| REQ-OPS-020 | 维保计划创建 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenancePlan |
| REQ-OPS-021 | 维保计划状态管理 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenancePlan |
| REQ-OPS-022 | 维保计划周期调度 | 中 | 已实现 | REVERSE-OPS.md | module-wo: MaintenancePlan |
| REQ-OPS-023 | 维保计划自动调度 | 中 | 未实现 | - | - |
| REQ-OPS-030 | 维保任务创建 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskController |
| REQ-OPS-031 | 维保任务状态流转 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskService |
| REQ-OPS-032 | 4种触发方式 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTask |
| REQ-OPS-033 | 自动优先级判定 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskServiceImpl |
| REQ-OPS-034 | 双完成接口 | 中 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskController |
| REQ-OPS-035 | 维保任务验收 | 中 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskController |
| REQ-OPS-036 | 完成后设备联动 | 高 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskServiceImpl |
| REQ-OPS-037 | 维保任务统计 | 中 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTaskController |
| REQ-OPS-038 | 使用备件记录 | 中 | 已实现 | REVERSE-OPS.md | module-wo: MaintenanceTask |
| REQ-OPS-040 | 巡检模板管理 | 高 | 已实现 | REVERSE-OPS.md | module-wo: InspectionTemplate |
| REQ-OPS-041 | 巡检项管理 | 高 | 已实现 | REVERSE-OPS.md | module-wo: InspectionItem |
| REQ-OPS-042 | 巡检签到 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionRecord |
| REQ-OPS-043 | 巡检异常上报 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: InspectionRecord |
| REQ-OPS-044 | 巡检扫码签到 | 中 | 未实现 | - | - |
| REQ-OPS-050 | 备件分类管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController |
| REQ-OPS-051 | 备件台账CRUD | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController |
| REQ-OPS-052 | 入库操作 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController |
| REQ-OPS-053 | 出库操作 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController |
| REQ-OPS-054 | 低库存预警 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController |
| REQ-OPS-055 | 出入库记录查询 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartController |
| REQ-OPS-056 | 盘点与调整 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: SparePartRecord |
| REQ-OPS-060 | 计量点管理 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: EnergyController |
| REQ-OPS-061 | 能耗抄表录入 | 高 | 已实现 | REVERSE-MDM.md | module-mdm: EnergyConsumptionService |
| REQ-OPS-062 | 能耗记录查询 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: EnergyController |
| REQ-OPS-063 | 按类型统计能耗 | 中 | 部分实现 | REVERSE-MDM.md | module-mdm: EnergyConsumptionService |
| REQ-OPS-064 | 单位面积能耗 | 中 | 已实现 | REVERSE-MDM.md | module-mdm: EnergyConsumptionService |
| REQ-OPS-065 | IoT自动抄表 | 低 | 未实现 | - | - |
| REQ-OPS-066 | 前后端能源类型统一 | 中 | 未实现 | - | - |
### 5.5 财务与收费域
| 需求ID | 名称 | 优先级 | 实现状态 | 设计文档 | 代码模块 |
|--------|------|--------|----------|----------|----------|
| REQ-FIN-001 | 收费项目实体 | 高 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-002 | 收费项目CRUD | 高 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-010 | 账单实体 | 高 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-011 | 账单自动生成 | 高 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-012 | 账单状态流转 | 高 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-013 | 批量账单生成 | 中 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-014 | 账单导出 | 中 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-020 | 支付记录实体 | 高 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-021 | 线下收款登记 | 高 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-022 | 支付记录查询 | 中 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-030 | 退款实体 | 中 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-031 | 退款流程 | 中 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-040 | 费用催缴定时任务 | 中 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-041 | 滞纳金自动计算 | 中 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-050 | 能耗数据与账单对接 | 高 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-051 | 按面积计费 | 中 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-052 | 固定金额计费 | 中 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-053 | 支付网关对接 | 中 | 未实现 | REVERSE-FINANCE.md | - |
| REQ-FIN-054 | 财务报表 | 低 | 未实现 | REVERSE-FINANCE.md | - |
### 5.6 需求统计汇总
| 业务域 | 已实现 | 部分实现 | 未实现 | 合计 |
|--------|--------|----------|--------|------|
| 身份与权限域 | 37 | 1 | 6 | 44 |
| 空间与项目域 | 23 | 0 | 7 | 30 |
| 设备与资产域 | 28 | 1 | 4 | 33 |
| 运营与服务域 | 36 | 1 | 9 | 46 |
| 财务与收费域 | 0 | 0 | 19 | 19 |
| 前端交互域 | 14 | 0 | 7 | 21 |
| 非功能需求 | 12 | 1 | 8 | 21 |
| **合计** | **150** | **4** | **60** | **214** |
**实现率**:已实现 70.1% | 部分实现 1.9% | 未实现 28.0%
---
> **文档说明**: 本文档基于7份源文档整合生成所有需求项均标注唯一ID和实现状态。已实现功能以反推文档REVERSE-*.md中的实际代码为准未实现功能从原需求文档和特性清单中提取。需求描述力求具体到可验证程度。