From 5619e6943ba33ee33019cbb798b9ed9b985dd738 Mon Sep 17 00:00:00 2001 From: chiguyong Date: Sun, 26 Apr 2026 18:52:35 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 01-REQUIREMENTS/FEATURE_LIST.md | 202 ++--- 02-DESIGN/BEST-PRACTICES-REPORT.md | 345 ++++++++ 02-DESIGN/CONSISTENCY-REPORT.md | 698 ++++++++++++++++ 02-DESIGN/domains/REVERSE-ASSET.md | 903 ++++++++++++++++++++ 02-DESIGN/domains/REVERSE-AUTH.md | 925 ++++++++++++++++++++ 02-DESIGN/domains/REVERSE-FINANCE.md | 426 ++++++++++ 02-DESIGN/domains/REVERSE-MDM.md | 1158 ++++++++++++++++++++++++++ 02-DESIGN/domains/REVERSE-OPS.md | 914 ++++++++++++++++++++ 8 files changed, 5472 insertions(+), 99 deletions(-) create mode 100644 02-DESIGN/BEST-PRACTICES-REPORT.md create mode 100644 02-DESIGN/CONSISTENCY-REPORT.md create mode 100644 02-DESIGN/domains/REVERSE-ASSET.md create mode 100644 02-DESIGN/domains/REVERSE-AUTH.md create mode 100644 02-DESIGN/domains/REVERSE-FINANCE.md create mode 100644 02-DESIGN/domains/REVERSE-MDM.md create mode 100644 02-DESIGN/domains/REVERSE-OPS.md diff --git a/01-REQUIREMENTS/FEATURE_LIST.md b/01-REQUIREMENTS/FEATURE_LIST.md index bca8326..394c0ef 100644 --- a/01-REQUIREMENTS/FEATURE_LIST.md +++ b/01-REQUIREMENTS/FEATURE_LIST.md @@ -25,29 +25,29 @@ | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------- | -------------------- | --------- | --------------------------- | ------- | -| APP-O01 | 项目初始化与框架搭建 | ✅ 已完成 | uni-app项目初始化、基础配置 | - | -| APP-O02 | 微信登录授权 | ✅ 已完成 | 微信授权登录、OpenID获取 | APP-O01 | -| APP-O03 | 手机号绑定 | ✅ 已完成 | 手机号验证、绑定流程 | APP-O02 | -| APP-O04 | 房产绑定认证 | ✅ 已完成 | 房产证认证、人脸认证 | APP-O03 | -| APP-O05 | 首页展示 | ✅ 已完成 | 待办事项、快捷入口、公告 | APP-O04 | -| APP-O06 | 在线报修申请 | ✅ 已完成 | 报修表单、图片上传 | APP-O04 | -| APP-O07 | 工单进度查询 | ✅ 已完成 | 工单状态、处理进度 | APP-O06 | -| APP-O08 | 工单历史记录 | ✅ 已完成 | 历史工单列表、详情 | APP-O06 | -| APP-O09 | 账单查询 | ✅ 已完成 | 账单列表、账单详情 | APP-O04 | +| APP-O01 | 项目初始化与框架搭建 | ⬜ 待开发 | uni-app项目初始化、基础配置 | - | +| APP-O02 | 微信登录授权 | ⬜ 待开发 | 微信授权登录、OpenID获取 | APP-O01 | +| APP-O03 | 手机号绑定 | ⬜ 待开发 | 手机号验证、绑定流程 | APP-O02 | +| APP-O04 | 房产绑定认证 | ⬜ 待开发 | 房产证认证、人脸认证 | APP-O03 | +| APP-O05 | 首页展示 | ⬜ 待开发 | 待办事项、快捷入口、公告 | APP-O04 | +| APP-O06 | 在线报修申请 | ⬜ 待开发 | 报修表单、图片上传 | APP-O04 | +| APP-O07 | 工单进度查询 | ⬜ 待开发 | 工单状态、处理进度 | APP-O06 | +| APP-O08 | 工单历史记录 | ⬜ 待开发 | 历史工单列表、详情 | APP-O06 | +| APP-O09 | 账单查询 | ⬜ 待开发 | 账单列表、账单详情 | APP-O04 | | APP-O10 | 微信支付对接 | ⬜ 待开发 | 微信支付API对接 | APP-O09 | | APP-O11 | 支付宝支付对接 | ⬜ 待开发 | 支付宝支付API对接 | APP-O10 | -| APP-O12 | 缴费记录查询 | ✅ 已完成 | 缴费历史、凭证查看 | APP-O09 | -| APP-O13 | 访客邀请 | ✅ 已完成 | 邀请表单、被访人确认 | APP-O04 | -| APP-O14 | 访客凭证生成 | ✅ 已完成 | 二维码生成、凭证展示 | APP-O13 | -| APP-O15 | 访客邀请记录 | ✅ 已完成 | 邀请历史、状态查询 | APP-O13 | -| APP-O16 | 投诉建议提交 | ✅ 已完成 | 投诉表单、图片上传 | APP-O04 | -| APP-O17 | 投诉处理进度 | ✅ 已完成 | 处理状态、结果反馈 | APP-O16 | -| APP-O18 | 消息通知中心 | ✅ 已完成 | 消息列表、已读未读 | APP-O04 | -| APP-O19 | 物业公告查看 | ✅ 已完成 | 公告列表、详情查看 | APP-O04 | -| APP-O20 | 个人中心 | ✅ 已完成 | 个人信息、设置入口 | APP-O04 | -| APP-O21 | 家庭成员管理 | ✅ 已完成 | 成员添加、权限设置 | APP-O20 | -| APP-O22 | 消息设置 | ✅ 已完成 | 推送开关、通知偏好 | APP-O20 | -| APP-O23 | 工单满意度评价 | ✅ 已完成 | 评分、评价内容提交 | APP-O06 | +| APP-O12 | 缴费记录查询 | ⬜ 待开发 | 缴费历史、凭证查看 | APP-O09 | +| APP-O13 | 访客邀请 | ⬜ 待开发 | 邀请表单、被访人确认 | APP-O04 | +| APP-O14 | 访客凭证生成 | ⬜ 待开发 | 二维码生成、凭证展示 | APP-O13 | +| APP-O15 | 访客邀请记录 | ⬜ 待开发 | 邀请历史、状态查询 | APP-O13 | +| APP-O16 | 投诉建议提交 | ⬜ 待开发 | 投诉表单、图片上传 | APP-O04 | +| APP-O17 | 投诉处理进度 | ⬜ 待开发 | 处理状态、结果反馈 | APP-O16 | +| APP-O18 | 消息通知中心 | ⬜ 待开发 | 消息列表、已读未读 | APP-O04 | +| APP-O19 | 物业公告查看 | ⬜ 待开发 | 公告列表、详情查看 | APP-O04 | +| APP-O20 | 个人中心 | ⬜ 待开发 | 个人信息、设置入口 | APP-O04 | +| APP-O21 | 家庭成员管理 | ⬜ 待开发 | 成员添加、权限设置 | APP-O20 | +| APP-O22 | 消息设置 | ⬜ 待开发 | 推送开关、通知偏好 | APP-O20 | +| APP-O23 | 工单满意度评价 | ⬜ 待开发 | 评分、评价内容提交 | APP-O06 | ### 1.2 在线支付集成 @@ -61,17 +61,17 @@ | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | ---------------- | --------- | ---------------------- | ------ | -| P1-020 | 账单导出Excel | ✅ 已完成 | 按条件导出账单列表 | - | -| P1-021 | 收费统计报表导出 | ✅ 已完成 | 收费汇总、欠费统计导出 | P1-020 | -| P1-022 | 业主缴费明细导出 | ✅ 已完成 | 单个业主缴费历史导出 | P1-020 | +| P1-020 | 账单导出Excel | ⬜ 待开发 | 按条件导出账单列表 | - | +| P1-021 | 收费统计报表导出 | ⬜ 待开发 | 收费汇总、欠费统计导出 | P1-020 | +| P1-022 | 业主缴费明细导出 | ⬜ 待开发 | 单个业主缴费历史导出 | P1-020 | ### 1.4 工单满意度评价 | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | ------------------ | --------- | -------------------- | ------ | -| P1-030 | 评价表单(业主端) | ✅ 已完成 | 满意度评分、评价内容 | P1-001 | -| P1-031 | 评价统计(管理端) | ✅ 已完成 | 满意度统计、评价分析 | P1-030 | -| P1-032 | 满意度报表 | ✅ 已完成 | 满意度趋势、对比分析 | P1-031 | +| P1-030 | 评价表单(业主端) | ⬜ 待开发 | 满意度评分、评价内容 | P1-001 | +| P1-031 | 评价统计(管理端) | ⬜ 待开发 | 满意度统计、评价分析 | P1-030 | +| P1-032 | 满意度报表 | ⬜ 待开发 | 满意度趋势、对比分析 | P1-031 | --- @@ -81,28 +81,28 @@ | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------- | -------------------- | --------- | ---------------------------- | ------- | -| APP-E01 | 项目初始化与框架搭建 | ✅ 已完成 | uni-app项目初始化、基础配置 | - | -| APP-E02 | 用户登录 | ✅ 已完成 | 员工账号登录、Token管理 | APP-E01 | -| APP-E03 | 工作台首页 | ✅ 已完成 | 待办事项、今日统计、快捷入口 | APP-E02 | -| APP-E04 | 待办事项展示 | ✅ 已完成 | 待处理工单、待执行巡检 | APP-E03 | -| APP-E05 | 工单列表 | ✅ 已完成 | 工单列表、状态筛选 | APP-E02 | -| APP-E06 | 工单详情 | ✅ 已完成 | 工单详情、处理记录 | APP-E05 | -| APP-E07 | 工单接单 | ✅ 已完成 | 接单确认、状态更新 | APP-E06 | -| APP-E08 | 工单处理 | ✅ 已完成 | 处理记录、照片上传 | APP-E07 | -| APP-E09 | 工单完成 | ✅ 已完成 | 完成确认、结果提交 | APP-E08 | -| APP-E10 | 扫码报修 | ✅ 已完成 | 扫描设备二维码、快速创建工单 | APP-E05 | -| APP-E11 | 巡检任务列表 | ✅ 已完成 | 任务列表、状态筛选 | APP-E02 | -| APP-E12 | 巡检任务执行 | ✅ 已完成 | 检查项目、照片上传 | APP-E11 | -| APP-E13 | 巡检扫码签到 | ✅ 已完成 | 扫码签到、位置记录 | APP-E12 | -| APP-E14 | 巡检异常上报 | ✅ 已完成 | 异常描述、照片上传 | APP-E12 | -| APP-E15 | 访客登记 | ✅ 已完成 | 身份核验、信息录入 | APP-E02 | -| APP-E16 | 访客凭证验证 | ✅ 已完成 | 扫码验证、通行放行 | APP-E15 | -| APP-E17 | 通行记录 | ✅ 已完成 | 进出记录、历史查询 | APP-E15 | -| APP-E18 | 消息通知 | ✅ 已完成 | 工单通知、巡检提醒 | APP-E02 | -| APP-E19 | 个人中心 | ✅ 已完成 | 个人信息、设置入口 | APP-E02 | -| APP-E20 | 工作统计 | ✅ 已完成 | 工单统计、巡检统计 | APP-E19 | -| APP-E21 | 离线数据存储 | ✅ 已完成 | 本地缓存、离线操作 | APP-E01 | -| APP-E22 | 地理位置上报 | ✅ 已完成 | 位置获取、定时上报 | APP-E02 | +| APP-E01 | 项目初始化与框架搭建 | ⬜ 待开发 | uni-app项目初始化、基础配置 | - | +| APP-E02 | 用户登录 | ⬜ 待开发 | 员工账号登录、Token管理 | APP-E01 | +| APP-E03 | 工作台首页 | ⬜ 待开发 | 待办事项、今日统计、快捷入口 | APP-E02 | +| APP-E04 | 待办事项展示 | ⬜ 待开发 | 待处理工单、待执行巡检 | APP-E03 | +| APP-E05 | 工单列表 | ⬜ 待开发 | 工单列表、状态筛选 | APP-E02 | +| APP-E06 | 工单详情 | ⬜ 待开发 | 工单详情、处理记录 | APP-E05 | +| APP-E07 | 工单接单 | ⬜ 待开发 | 接单确认、状态更新 | APP-E06 | +| APP-E08 | 工单处理 | ⬜ 待开发 | 处理记录、照片上传 | APP-E07 | +| APP-E09 | 工单完成 | ⬜ 待开发 | 完成确认、结果提交 | APP-E08 | +| APP-E10 | 扫码报修 | ⬜ 待开发 | 扫描设备二维码、快速创建工单 | APP-E05 | +| APP-E11 | 巡检任务列表 | ⬜ 待开发 | 任务列表、状态筛选 | APP-E02 | +| APP-E12 | 巡检任务执行 | ⬜ 待开发 | 检查项目、照片上传 | APP-E11 | +| APP-E13 | 巡检扫码签到 | ⬜ 待开发 | 扫码签到、位置记录 | APP-E12 | +| APP-E14 | 巡检异常上报 | ⬜ 待开发 | 异常描述、照片上传 | APP-E12 | +| APP-E15 | 访客登记 | ⬜ 待开发 | 身份核验、信息录入 | APP-E02 | +| APP-E16 | 访客凭证验证 | ⬜ 待开发 | 扫码验证、通行放行 | APP-E15 | +| APP-E17 | 通行记录 | ⬜ 待开发 | 进出记录、历史查询 | APP-E15 | +| APP-E18 | 消息通知 | ⬜ 待开发 | 工单通知、巡检提醒 | APP-E02 | +| APP-E19 | 个人中心 | ⬜ 待开发 | 个人信息、设置入口 | APP-E02 | +| APP-E20 | 工作统计 | ⬜ 待开发 | 工单统计、巡检统计 | APP-E19 | +| APP-E21 | 离线数据存储 | ⬜ 待开发 | 本地缓存、离线操作 | APP-E01 | +| APP-E22 | 地理位置上报 | ⬜ 待开发 | 位置获取、定时上报 | APP-E02 | ### 2.2 设备二维码功能 @@ -137,30 +137,30 @@ | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | ------------ | --------- | ------------------------ | ------ | -| P3-001 | 租户信息管理 | ✅ 已完成 | 企业租户基本信息、联系人 | - | -| P3-002 | 租赁合同管理 | ✅ 已完成 | 合同签约、续约、终止 | P3-001 | -| P3-003 | 合同到期提醒 | ✅ 已完成 | 提前3个月提醒续约 | P3-002 | +| P3-001 | 租户信息管理 | ⬜ 待开发 | 企业租户基本信息、联系人 | - | +| P3-002 | 租赁合同管理 | ⬜ 待开发 | 合同签约、续约、终止 | P3-001 | +| P3-003 | 合同到期提醒 | ⬜ 待开发 | 提前3个月提醒续约 | P3-002 | ### 3.2 合同管理 | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | ------------ | --------- | ------------------------ | ------ | -| P3-010 | 合同信息管理 | ✅ 已完成 | 合同CRUD、基本信息管理 | - | -| P3-011 | 合同审批流程 | ✅ 已完成 | 提交审批、审批通过/拒绝 | P3-010 | -| P3-012 | 合同签订确认 | ✅ 已完成 | 签订日期、生效日期记录 | P3-011 | -| P3-013 | 合同费用明细 | ✅ 已完成 | 费用项目、单价、计费方式 | P3-010 | -| P3-014 | 合同变更管理 | ✅ 已完成 | 变更申请、审批、记录 | P3-012 | -| P3-015 | 合同到期预警 | ✅ 已完成 | 定时任务、到期提醒 | P3-012 | -| P3-016 | 合同续签功能 | ✅ 已完成 | 续签新合同、关联原合同 | P3-015 | -| P3-017 | 合同终止功能 | ✅ 已完成 | 提前终止、费用结算 | P3-012 | +| P3-010 | 合同信息管理 | ⬜ 待开发 | 合同CRUD、基本信息管理 | - | +| P3-011 | 合同审批流程 | ⬜ 待开发 | 提交审批、审批通过/拒绝 | P3-010 | +| P3-012 | 合同签订确认 | ⬜ 待开发 | 签订日期、生效日期记录 | P3-011 | +| P3-013 | 合同费用明细 | ⬜ 待开发 | 费用项目、单价、计费方式 | P3-010 | +| P3-014 | 合同变更管理 | ⬜ 待开发 | 变更申请、审批、记录 | P3-012 | +| P3-015 | 合同到期预警 | ⬜ 待开发 | 定时任务、到期提醒 | P3-012 | +| P3-016 | 合同续签功能 | ⬜ 待开发 | 续签新合同、关联原合同 | P3-015 | +| P3-017 | 合同终止功能 | ⬜ 待开发 | 提前终止、费用结算 | P3-012 | ### 3.3 车位管理 | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | ------------- | --------- | ---------------------- | ------ | -| P3-020 | 车位信息管理 | ✅ 已完成 | 车位基本信息、状态管理 | - | -| P3-021 | 车位租赁/出售 | ✅ 已完成 | 车位租赁、出售管理 | P3-020 | -| P3-022 | 车位状态监控 | ✅ 已完成 | 车位使用状态监控 | P3-020 | +| P3-020 | 车位信息管理 | ⬜ 待开发 | 车位基本信息、状态管理 | - | +| P3-021 | 车位租赁/出售 | ⬜ 待开发 | 车位租赁、出售管理 | P3-020 | +| P3-022 | 车位状态监控 | ⬜ 待开发 | 车位使用状态监控 | P3-020 | ### 3.4 能耗管理 @@ -222,41 +222,41 @@ | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | -------------- | --------- | -------------------- | ------ | -| P4-050 | 知识库分类管理 | ✅ 已完成 | 分类树形结构管理 | - | -| P4-051 | 知识库文章管理 | ✅ 已完成 | 文章CRUD、发布管理 | P4-050 | -| P4-052 | 知识库搜索功能 | ✅ 已完成 | 关键词搜索、热门文章 | P4-051 | +| P4-050 | 知识库分类管理 | ⬜ 待开发 | 分类树形结构管理 | - | +| P4-051 | 知识库文章管理 | ⬜ 待开发 | 文章CRUD、发布管理 | P4-050 | +| P4-052 | 知识库搜索功能 | ⬜ 待开发 | 关键词搜索、热门文章 | P4-051 | ### 4.7 公告管理 | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | ------------ | --------- | -------------------- | ------ | -| P4-060 | 公告发布管理 | ✅ 已完成 | 公告CRUD、发布管理 | - | -| P4-061 | 公告推送通知 | ✅ 已完成 | 推送通知接口 | P4-060 | -| P4-062 | 公告阅读统计 | ✅ 已完成 | 浏览量统计、阅读分析 | P4-060 | +| P4-060 | 公告发布管理 | ⬜ 待开发 | 公告CRUD、发布管理 | - | +| P4-061 | 公告推送通知 | ⬜ 待开发 | 推送通知接口 | P4-060 | +| P4-062 | 公告阅读统计 | ⬜ 待开发 | 浏览量统计、阅读分析 | P4-060 | ### 4.8 投诉建议管理 | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | ------------ | --------- | -------------------------- | ------ | -| P4-070 | 投诉建议提交 | ✅ 已完成 | 投诉建议表单提交 | - | -| P4-071 | 投诉处理流程 | ✅ 已完成 | 指派、受理、处理、关闭流程 | P4-070 | -| P4-072 | 投诉统计分析 | ✅ 已完成 | 投诉统计、满意度分析 | P4-071 | +| P4-070 | 投诉建议提交 | ⬜ 待开发 | 投诉建议表单提交 | - | +| P4-071 | 投诉处理流程 | ⬜ 待开发 | 指派、受理、处理、关闭流程 | P4-070 | +| P4-072 | 投诉统计分析 | ⬜ 待开发 | 投诉统计、满意度分析 | P4-071 | ### 4.9 满意度调查 | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | -------------- | --------- | ------------------ | ------ | -| P4-080 | 满意度调查创建 | ✅ 已完成 | 调查问卷创建管理 | - | -| P4-081 | 满意度调查回应 | ✅ 已完成 | 用户回应提交 | P4-080 | -| P4-082 | 满意度统计分析 | ✅ 已完成 | 评分分布、统计报表 | P4-081 | +| P4-080 | 满意度调查创建 | ⬜ 待开发 | 调查问卷创建管理 | - | +| P4-081 | 满意度调查回应 | ⬜ 待开发 | 用户回应提交 | P4-080 | +| P4-082 | 满意度统计分析 | ⬜ 待开发 | 评分分布、统计报表 | P4-081 | ### 4.10 问卷调查 | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | ------------ | --------- | ------------------ | ------ | -| P4-090 | 问卷创建管理 | ✅ 已完成 | 问卷CRUD、发布管理 | - | -| P4-091 | 问卷回应收集 | ✅ 已完成 | 用户回应提交收集 | P4-090 | -| P4-092 | 问卷结果分析 | ✅ 已完成 | 回应统计、问题分析 | P4-091 | +| P4-090 | 问卷创建管理 | ⬜ 待开发 | 问卷CRUD、发布管理 | - | +| P4-091 | 问卷回应收集 | ⬜ 待开发 | 用户回应提交收集 | P4-090 | +| P4-092 | 问卷结果分析 | ⬜ 待开发 | 回应统计、问题分析 | P4-091 | ## 五、第五阶段特性(智能化升级) @@ -264,18 +264,18 @@ | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | ------------ | --------- | -------------------------- | ------ | -| P5-001 | 位置距离计算 | ✅ 已完成 | 计算维修人员与工单位置距离 | - | -| P5-002 | 技能匹配算法 | ✅ 已完成 | 根据工单类型匹配技能 | P5-001 | -| P5-003 | 工作负载均衡 | ✅ 已完成 | 均衡分配工单 | P5-002 | -| P5-004 | 派单规则配置 | ✅ 已完成 | 可配置派单规则 | P5-003 | +| P5-001 | 位置距离计算 | ⬜ 待开发 | 计算维修人员与工单位置距离 | - | +| P5-002 | 技能匹配算法 | ⬜ 待开发 | 根据工单类型匹配技能 | P5-001 | +| P5-003 | 工作负载均衡 | ⬜ 待开发 | 均衡分配工单 | P5-002 | +| P5-004 | 派单规则配置 | ⬜ 待开发 | 可配置派单规则 | P5-003 | ### 5.2 综合运营大屏 | 编号 | 特性名称 | 状态 | 说明 | 依赖 | | ------ | ---------- | --------- | ----------------- | ------ | -| P5-010 | 数据可视化 | ✅ 已完成 | ECharts数据可视化 | - | -| P5-011 | 实时监控 | ✅ 已完成 | 实时数据刷新 | P5-010 | -| P5-012 | 大屏展示 | ✅ 已完成 | 大屏适配展示 | P5-011 | +| P5-010 | 数据可视化 | ⬜ 待开发 | ECharts数据可视化 | - | +| P5-011 | 实时监控 | ⬜ 待开发 | 实时数据刷新 | P5-010 | +| P5-012 | 大屏展示 | ⬜ 待开发 | 大屏适配展示 | P5-011 | --- @@ -449,34 +449,35 @@ | 状态 | 数量 | 占比 | | --------- | ------- | -------- | -| ✅ 已完成 | 147 | 65.0% | -| ⬜ 待开发 | 85 | 37.6% | -| ⏸️ 已暂停 | 7 | 3.1% | +| ✅ 已完成 | 47 | 20.3% | +| ⬜ 待开发 | 178 | 76.7% | +| ⏸️ 已暂停 | 7 | 3.0% | | **合计** | **232** | **100%** | **说明**: -- 已完成特性:147个(77个归档 + 70个阶段特性) -- 待开发特性:9个(第四阶段集成平台)+ 45个(APP端)+ 20个(前端优化改进)+ 11个(非居物业增强) +- 已完成特性:47个(均有实际代码实现,含归档特性) +- 待开发特性:178个(含APP端45个、物业核心业务43个、前端优化20个、非居物业增强11个、第三方集成9个等) - 已暂停特性:7个 +- **2026-04-17 修正**:将无代码实现的特性从"已完成"修正为"待开发",修正前标记147已完成,修正后47已完成 ### 8.2 按阶段统计 | 阶段 | 待开发 | 已完成 | 合计 | | ------------------------ | ------ | ------- | ------- | | 第一阶段(业主端小程序) | 23 | 0 | 23 | -| 第一阶段(其他) | 0 | 17 | 17 | +| 第一阶段(其他) | 6 | 11 | 17 | | 第二阶段(物业员工APP) | 22 | 0 | 22 | | 第二阶段(其他) | 0 | 18 | 18 | -| 第三阶段 | 0 | 10 | 10 | -| 第四阶段 | 9 | 18 | 27 | -| 第五阶段 | 0 | 7 | 7 | -| 已完成归档 | 0 | 77 | 77 | +| 第三阶段 | 13 | 0 | 13 | +| 第四阶段 | 27 | 0 | 27 | +| 第五阶段 | 7 | 0 | 7 | +| 已完成归档 | 0 | 47 | 47 | | 前端优化改进 | 20 | 0 | 20 | | **非居物业设备增强** | **11** | **0** | **11** | -| **合计** | **85** | **147** | **232** | +| **合计** | **129** | **76** | **205** | -**注**: 暂停功能 7 个不计入排期 +**注**: 暂停功能 7 个不计入排期,另有27个第四/五阶段特性原标记已完成现修正为待开发 ### 8.3 工作量统计 @@ -599,8 +600,11 @@ | 2026-02-24 | 同步文档:补充设备维保管理特性(FEATURE-C090~096) | - | | 2026-02-24 | 同步文档:补充访客管理特性(FEATURE-C100~104) | - | | 2026-02-24 | 更新统计数字:已完成147个,待开发74个 | - | -| 2026-03-23 | 新增非居物业设备管理增强需求(FEATURE-C110~120) | - | -| 2026-03-23 | 更新统计数字:已完成147个,待开发85个,总计232个 | - | +| 2026-03-23 | 新增非居物业设备管理增强需求(FEATURE-C110~120) | - | +| 2026-03-23 | 更新统计数字:已完成147个,待开发85个,总计232个 | - | +| 2026-04-17 | **重大修正**:将无代码实现的特性从"已完成"修正为"待开发" | - | +| 2026-04-17 | 修正范围:业主端小程序21项、员工端APP22项、费用报表3项、满意度评价3项、租户/合同10项、车位3项、知识库3项、公告3项、投诉3项、满意度3项、问卷3项、智能派单4项、运营大屏3项 | - | +| 2026-04-17 | 更新统计数字:已完成47个(实际有代码),待开发178个,总计232个 | - | --- diff --git a/02-DESIGN/BEST-PRACTICES-REPORT.md b/02-DESIGN/BEST-PRACTICES-REPORT.md new file mode 100644 index 0000000..f10fea7 --- /dev/null +++ b/02-DESIGN/BEST-PRACTICES-REPORT.md @@ -0,0 +1,345 @@ +# Ether PMS 行业最佳实践评估报告 + +> **评估日期**: 2026-04-23 +> **评估范围**: Ether 物业管理系统全栈(ether-pms + ether-admin) +> **对标体系**: 物业管理行业标杆(万物云、绿城服务)、RESTful API 最佳实践、OWASP Top 10、Vue3 生态最佳实践、Clean Code 原则 +> **数据来源**: 5份反推设计文档 + 实际代码审查 + +--- + +## 评估总览 + +| 评估维度 | 评分 | 等级 | +|---------|------|------| +| 数据模型设计 | 3.0/5 | ⭐⭐⭐ | +| API设计 | 2.5/5 | ⭐⭐½ | +| 安全设计 | 3.5/5 | ⭐⭐⭐½ | +| 业务流程 | 2.5/5 | ⭐⭐½ | +| 前端架构 | 3.0/5 | ⭐⭐⭐ | +| 代码质量 | 2.5/5 | ⭐⭐½ | +| **综合评分** | **2.8/5** | **⭐⭐⭐** | + +--- + +## 一、数据模型设计评估 + +**评分: 3.0/5** + +### 1.1 优点 + +1. **主表+扩展表模式设计合理**:设备模块采用 Equipment 主表 + 4张专业扩展表(Elevator/Hvac/Fire/Energy)的设计,既保证了公共字段的统一管理,又支持了专业参数的灵活扩展,符合物业管理行业设备分类管理的实际需求 +2. **多租户项目隔离机制完善**:通过 UserProject 关联 + ProjectStaff 扩展 + X-Project-ID Header + DataScopeService 四层隔离,实现了项目级数据隔离,满足物业公司多项目运营的核心需求 +3. **四级数据范围设计**:ALL / PROJECT / DEPARTMENT / SELF 四级数据范围,覆盖了物业管理行业从集团到个人的权限层级 +4. **逻辑删除策略统一**:Equipment、OwnershipEntity、SpaceNode 等核心实体均采用 isDeleted 软删除,避免数据误删导致业务中断 +5. **JSONB 扩展字段**:Equipment.attributes、Equipment.photos、Equipment.documents 使用 JSONB 存储,为非结构化数据提供了灵活扩展能力 +6. **树形结构支持**:SpaceNode 采用 treePath 字符串路径模式,支持层级空间管理(项目→楼栋→单元→楼层→房间) + +### 1.2 不足 + +1. **未使用 PostgreSQL JSONB 原生类型**:SpaceNode.attributes 定义为 String(2000) 而非 JSONB 类型,无法利用 PostgreSQL 的 GIN 索引和 JSON 查询能力,查询性能和灵活性受限 +2. **缺少数据库索引设计文档**:除 AuditLog 外,其他实体未见明确的索引策略定义。WorkOrder、Equipment 等高频查询表缺少复合索引规划 +3. **树形结构方案选型欠佳**:SpaceNode 使用 treePath 字符串(如 `/1/2/3/`),查询子孙节点需 LIKE 匹配,大数据量下性能堪忧。未考虑 PostgreSQL ltree 扩展或闭包表方案 +4. **数据冗余未受控**:Equipment 表同时存储 owningEntityId 和 owningEntityName,属于非规范化的冗余设计,缺乏同步更新机制 +5. **审计字段不一致**:部分实体(User、Dept)手动管理 createdAt/updatedAt,部分(SysConfig、AuditLog)使用 @CreationTimestamp/@UpdateTimestamp,策略不统一 +6. **缺少唯一约束**:SpaceNode 原设计有 UNIQUE(project_id, code),实际实现中无 code 列也无唯一约束,数据完整性依赖应用层 +7. **财务域实体完全缺失**:FeeItem、FeeBill、FeePayment、FeeRefund 四大核心财务实体未实现,无法支撑收费管理业务 + +### 1.3 改进建议 + +| 优先级 | 建议 | 说明 | +|--------|------|------| +| P0 | 将 SpaceNode.attributes 改为 JSONB 类型 | 利用 PostgreSQL 原生 JSON 查询能力,添加 GIN 索引 | +| P0 | 为高频查询表添加复合索引 | WorkOrder(project_id, status)、Equipment(project_id, equipment_type)、SpaceNode(project_id, node_type) | +| P0 | 实现财务域四大核心实体 | FeeItem / FeeBill / FeePayment / FeeRefund,对标万物云收费管理模型 | +| P1 | 评估 SpaceNode 树形结构升级方案 | 考虑 ltree 扩展或闭包表,支持高效祖先/子孙查询 | +| P1 | 统一审计字段策略 | 全部采用 JPA Auditing(@CreatedDate/@LastModifiedDate + AuditorAware) | +| P1 | 消除 Equipment 冗余字段 | 移除 owningEntityName,通过 JOIN 查询获取 | +| P2 | 添加数据库唯一约束 | SpaceNode(project_id, code)、Equipment(project_id, equipment_code) | +| P2 | 引入数据库迁移工具 | 使用 Flyway/Liquibase 管理数据库版本演进 | + +--- + +## 二、API设计评估 + +**评分: 2.5/5** + +### 2.1 优点 + +1. **RESTful 风格基本遵循**:CRUD 操作使用 POST/GET/PUT/DELETE 对应创建/读取/更新/删除,资源路径命名合理(如 `/api/wo/work-orders`) +2. **统一错误响应格式**:通过 ErrorCode 枚举 + BusinessException + GlobalExceptionHandler 实现了统一的错误响应结构(code + message + data) +3. **错误码体系设计合理**:按模块分段(1xxx 认证、2xxx 用户、3xxx 角色、4xxx 权限、5xxx 项目、6xxx 空间、7xxx 文件),便于定位问题 +4. **工单状态操作使用子资源**:`POST /{id}/assign`、`POST /{id}/start`、`POST /{id}/complete` 等状态变更操作采用子资源路径,语义清晰 +5. **设备扩展表 API 设计优雅**:`GET /{id}/elevator`、`PUT /{id}/hvac` 通过主设备 ID 路径访问扩展表,RESTful 风格良好 + +### 2.2 不足 + +1. **无 API 版本管理**:原设计使用 `/api/v1/auth`,实际实现为 `/api/auth`,缺少版本号。API 变更时无法向后兼容,将影响所有客户端 +2. **分页不统一**:WorkOrder 返回 `List` 全量数据(代码注释标注"高风险,可能导致 OOM"),而 User 使用 Page 分页。分页参数和响应格式不统一 +3. **HTTP 状态码使用不当**:GlobalExceptionHandler 中,非标准 HTTP 状态码的业务错误码(如 1001、2001)默认返回 HTTP 200,客户端无法通过 HTTP 状态码判断请求是否成功 +4. **缺少 HATEOAS 支持**:API 响应无链接信息,客户端需硬编码 URL 路径 +5. **部分 API 绕过 Service 层**:OwnershipEntityController 直接注入 Repository,违反分层架构原则 +6. **前后端 API 不一致**:维保计划存在两套前端 API(maintenance.ts + maintenance-plan.ts),触发类型枚举前后端不匹配 +7. **缺少 API 文档**:未集成 Swagger/SpringDoc,API 文档依赖人工维护的反推设计文档 + +### 2.3 改进建议 + +| 优先级 | 建议 | 说明 | +|--------|------|------| +| P0 | 统一分页查询 | 所有列表接口使用 Pageable 参数 + PageResponse 响应,WorkOrder 优先改造 | +| P0 | 修复 HTTP 状态码映射 | 业务错误码 4xx/5xx 应映射为对应 HTTP 状态码,非标准码保持 200 但在 body 中体现 | +| P1 | 引入 API 版本管理 | URL 路径版本 `/api/v2/` 或 Header 版本 `Accept: application/vnd.ether.v2+json` | +| P1 | 集成 SpringDoc/OpenAPI | 自动生成 API 文档,确保文档与代码同步 | +| P1 | 修复 OwnershipEntityController 分层违规 | 补充 Service 层 | +| P2 | 统一前后端枚举定义 | 维保触发类型、设备类型等枚举前后端对齐 | +| P2 | 添加 HATEOAS 链接 | 至少在分页响应中添加 next/prev 链接 | + +--- + +## 三、安全设计评估 + +**评分: 3.5/5** + +### 3.1 优点 + +1. **BCrypt 密码加密**:使用 Spring Security PasswordEncoder(BCrypt),自动处理盐值,安全性高 +2. **旧密码格式检测与强制重置**:PasswordService 检测非 BCrypt 格式密码(MD5/SHA-1),返回 false 强制用户重置,支持密码算法平滑迁移 +3. **密码强度校验完善**:支持可配置的长度、大小写、数字、特殊字符要求,弱密码黑名单检测 +4. **登录失败锁定机制**:基于 Redis 实现,5次失败锁定10分钟,防止暴力破解 +5. **JWT 认证流程完整**:Token 生成→验证→刷新流程闭环,Claims 包含 userId/username/roles +6. **审计日志异步持久化**:通过 `@OperationLog` 注解 + AOP 切面 + 线程池异步保存,不影响业务性能 +7. **密码字段 @JsonIgnore**:User.password 和 User.salt 使用 @JsonIgnore,防止序列化泄露 +8. **SQL 注入防护**:使用 JPA + 参数化查询,天然防止 SQL 注入 +9. **数据库异常信息脱敏**:GlobalExceptionHandler 捕获 DataAccessException 时不暴露 SQL 语句和数据库细节 + +### 3.2 不足 + +1. **JWT 无刷新 Token 机制**:仅有单一 Access Token,无 Refresh Token 体系。Token 过期后需重新登录,用户体验差且安全性不足(长有效期 Token 被窃取风险高) +2. **JWT Secret 硬编码风险**:JwtTokenProvider 的密钥配置需确认是否外置到环境变量,若硬编码在源码中则存在泄露风险 +3. **审计日志可篡改**:sys_audit_log 表无防篡改机制(如签名校验、只追加约束),管理员可直接修改或删除日志 +4. **90天归档策略为直接删除**:审计日志归档实际实现为删除,不符合合规要求(物业管理行业审计日志需保留3-5年) +5. **CORS 配置未明确**:未见明确的 CORS 策略配置,可能存在跨域安全风险 +6. **CSRF 防护缺失**:使用 JWT + Bearer Token 方式,虽 CSRF 风险较低,但未做额外防护 +7. **敏感数据未脱敏**:用户手机号、身份证号等敏感字段无脱敏处理,API 响应中明文返回 +8. **DataScopeService 仅提供判断方法**:未实现 SQL 自动注入,数据过滤依赖业务层手动调用,存在遗漏风险 +9. **登录响应返回角色列表**:LoginService 在响应中返回 roles 列表,信息量偏多,可能被利用进行权限探测 + +### 3.3 改进建议 + +| 优先级 | 建议 | 说明 | +|--------|------|------| +| P0 | 实现 Refresh Token 机制 | Access Token 短有效期(15-30分钟)+ Refresh Token 长有效期(7天),Redis 存储 Refresh Token | +| P0 | 审计日志改为只追加 | 数据库层面添加触发器或应用层约束,禁止 UPDATE/DELETE 审计日志 | +| P0 | 审计日志归档而非删除 | 90天后导出至对象存储(OSS/S3),保留3-5年 | +| P1 | 敏感数据脱敏 | 手机号中间4位掩码、身份证号掩码,使用 Jackson 自定义序列化器 | +| P1 | JWT Secret 外置 | 密钥存储在环境变量或 Vault 中,禁止硬编码 | +| P1 | DataScopeService 实现 SQL 自动注入 | 通过 MyBatis Interceptor 或 JPA Specification 自动拼接数据过滤条件 | +| P2 | 配置 CORS 策略 | 明确允许的 Origin、Methods、Headers | +| P2 | 登录响应精简 | 移除 roles 列表,改为独立接口查询 | + +--- + +## 四、业务流程评估 + +**评分: 2.5/5** + +### 4.1 优点 + +1. **工单状态机设计清晰**:PENDING → ASSIGNED → IN_PROGRESS → COMPLETED → VERIFIED 六状态流转,覆盖物业管理核心工单流程 +2. **维保任务自动优先级判定**:基于触发类型 + 紧急关键词(困人/漏水/停电/火灾等)自动判定 URGENT/HIGH/MEDIUM 优先级,符合物业管理应急响应需求 +3. **维保任务完成后联动更新设备**:完成维保后自动更新设备维保商和下次巡检日期,实现业务闭环 +4. **设备健康评分算法完整**:基于故障扣分 + 维保扣分 + 年龄扣分的综合评分,含 MTBF/MTTR 计算,对标行业设备管理标准 +5. **设备导入校验完善**:文件类型、大小、行数、编码四重校验,防止批量导入异常数据 +6. **巡检模板管理**:支持模板复制、必检项标记、排序控制,满足标准化巡检需求 + +### 4.2 不足 + +1. **工单状态机缺少关键状态**:无 SUSPENDED(挂起)、RETURNED(退回)状态,无法处理工单暂停和退回重分配场景,这是物业管理行业常见需求 +2. **无工单流转记录**:WorkOrderFlow 实体未实现,无法追溯工单状态变更历史,影响问题排查和绩效统计 +3. **SLA 管理完全缺失**:无响应时间、处理时间、超时升级机制。万物云等标杆企业均有 SLA 体系(如紧急工单30分钟响应、一般工单2小时响应) +4. **消息通知系统未实现**:NotificationChannel/Template/Rule/History 四大实体均未实现,工单派单、超时、完成等关键节点无通知,严重影响运营效率 +5. **财务收费流程完全缺失**:FeeItem/FeeBill/FeePayment 未实现,无账单生成、支付流程、欠费催缴能力,这是物业管理最核心的业务流程 +6. **设备二维码未实现**:原需求要求设备二维码标识,实际未实现,影响设备巡检扫码和业主报修体验 +7. **IoT 集成未实现**:设备监控、自动告警、数据采集等 IoT 能力缺失,无法实现预测性维保 +8. **维保到期定时提醒未实现**:仅前端展示下次维保日期,无后端定时任务推送提醒 +9. **健康评分算法存在 Bug**:calculateEquipmentAge() 错误使用 SpaceNode.maintenanceContractStart 而非 Equipment.installationDate;projectId 硬编码为全零 UUID +10. **前后端状态不一致**:前端维保任务含 ACCEPTED 状态,后端无此状态;前端触发类型(MANUAL/SCHEDULED/AUTOMATIC)与后端(PLAN/INSPECTION/FAULT/MANUAL)不匹配 + +### 4.3 改进建议 + +| 优先级 | 建议 | 说明 | +|--------|------|------| +| P0 | 实现财务收费核心流程 | FeeItem → FeeBill → FeePayment,支持按面积/用量/固定金额计费 | +| P0 | 实现消息通知系统 | 工单派单/超时/完成通知,支持站内信、短信、推送 | +| P0 | 修复健康评分算法 Bug | 修正设备年龄计算和 projectId 硬编码问题 | +| P1 | 添加工单挂起/退回状态 | SUSPENDED + RETURNED,支持工单暂停和退回重分配 | +| P1 | 实现工单流转记录 | WorkOrderFlow 实体,记录每次状态变更的操作人、时间、备注 | +| P1 | 实现 SLA 管理 | 定义各类型工单的响应时间和处理时间,超时自动升级 | +| P1 | 统一前后端状态和枚举 | 维保任务状态、触发类型等前后端对齐 | +| P2 | 实现设备二维码 | 生成二维码关联设备,支持扫码巡检和报修 | +| P2 | 实现维保到期定时提醒 | Spring Scheduled 任务 + 消息通知 | +| P2 | IoT 集成规划 | 设计 IoT 数据接入层,支持设备监控和自动告警 | + +--- + +## 五、前端架构评估 + +**评分: 3.0/5** + +### 5.1 优点 + +1. **Vue3 Composition API + TypeScript**:使用 `