From c431de023c356344b0f59ed8441a897b031b45bc Mon Sep 17 00:00:00 2001 From: malei Date: Thu, 16 Apr 2026 23:44:34 +0800 Subject: [PATCH] docs: sync report media model with current implementation --- 产品设计文档.md | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/产品设计文档.md b/产品设计文档.md index aafebe8..0d8ccfc 100644 --- a/产品设计文档.md +++ b/产品设计文档.md @@ -91,8 +91,6 @@ |------|------|------| | id | BIGINT | 主键 | | appointment_id | BIGINT | 预约ID | -| before_photo | VARCHAR | 服务前照片URL | -| after_photo | VARCHAR | 服务后照片URL | | remark | TEXT | 备注 | | user_id | BIGINT | 技师ID | | store_id | BIGINT | 店铺ID | @@ -104,6 +102,18 @@ | create_time | DATETIME | 创建时间 | | update_time | DATETIME | 更新时间 | +### t_report_image(报告媒体表) +| 字段 | 类型 | 说明 | +|------|------|------| +| id | BIGINT | 主键 | +| report_id | BIGINT | 关联报告ID | +| photo_url | VARCHAR(500) | 媒体URL | +| photo_type | VARCHAR(20) | before / after / during | +| sort_order | INT | 同类型内排序序号 | +| create_time | DATETIME | 创建时间 | + +> 说明:当前后端已按 `photo_type` 存储前后图与过程素材;`media_type`(photo/video)为前端语义,后端字段化会在后续迭代补齐。 + ### t_service_type(服务类型表) | 字段 | 类型 | 说明 | |------|------|------| @@ -174,12 +184,15 @@ **填写报告(进行中状态可操作):** - 服务前照片(必填) - 服务后照片(必填) +- 服务过程中素材(选填,支持补充照片/短视频) - 备注(选填) - 技师 = 开始服务时分配的用户 - 提交后锁死,不可再修改 - 一约一份报告 > **规划延伸:** 洗美报告可增加「过程短视频 + 自动生成短视频成片」,产品边界与分镜见子文档 [《洗美报告短视频成片方案(MVP)》](./洗美报告短视频成片方案.md)。 +> +> **实现对齐备注(2026-04)**:当前服务端已落库过程素材,报告查询接口对 `duringMedia` 的统一回传正在完善中。 ### 5.4 发送报告(v1 核心功能) @@ -206,6 +219,7 @@ - 品牌头部:店铺 Logo + 店铺名称 + 联系电话 + 地址 - 服务信息卡片:宠物名、服务项目、服务时间、技师名 - 前后对比照片(并排展示) +- 服务过程中素材区(照片/短视频) - 技师备注 - 底部品牌信息(即使链接被转发,店铺信息持续透出) @@ -256,9 +270,11 @@ | P0 | 预约创建 | ✅ | | P0 | 开始服务(分配技师) | ✅ | | P0 | 报告填写 | ✅ | +| P0 | 报告过程素材上传(照片/短视频) | ✅ 基础能力已接入 | | P0 | 发送报告(复制链接+下载二维码) | 🔨 本次 | | P0 | H5报告页(品牌信息强化) | 🔨 本次 | | P0 | H5报告页(链接+二维码) | ✅ | +| P1 | 报告过程素材回传(duringMedia) | 🔨 进行中 | | P0 | 老板后台(员工管理+邀请码) | ✅ 已合并到index.html | | P0 | 老板后台(预约概览) | ✅ 已合并到index.html | | P1 | 服务类型管理(老板后台) | ✅ | @@ -292,6 +308,18 @@ INSERT INTO t_service_type (store_id, name, create_time) VALUES (NULL, '洗澡+美容', NOW()), (NULL, '剪指甲', NOW()), (NULL, '驱虫', NOW()); + +-- 报告媒体表(前后图 + 过程素材) +CREATE TABLE t_report_image ( + id BIGINT PRIMARY KEY AUTO_INCREMENT, + report_id BIGINT NOT NULL COMMENT '关联报告ID', + photo_url VARCHAR(500) NOT NULL COMMENT '媒体URL', + photo_type VARCHAR(20) NOT NULL COMMENT 'before/after/during', + sort_order INT DEFAULT 0 COMMENT '同类型排序', + create_time DATETIME DEFAULT CURRENT_TIMESTAMP, + INDEX idx_report_image_report_id (report_id), + INDEX idx_report_image_report_type_sort (report_id, photo_type, sort_order) +); ``` ---