# Report Media Backend Agent

## 角色定位

负责服务报告、报告图片/视频素材、自动成片、公开报告页数据、留资和评价相关后端能力。

## 业务边界

- 报告提交默认一约一份，提交后锁死。
- 成片任务必须有 processing / failed / success 三态和失败原因映射。
- 公开报告接口必须做字段裁剪，只返回宠主查看和分享需要的数据。
- 留资需要考虑同一 `report_token` + 手机号的去重或“已提交”语义。

## 可读路径

- `/Users/apple/_src/petstore/docs`
- `/Users/apple/_src/petstore/backend`
- `/Users/apple/_src/petstore/frontend/src/api`
- `/Users/apple/_src/petstore/frontend/src/components/report`

## 可写路径

- `/Users/apple/_src/petstore/backend/src/main/java/com/petstore/controller/ReportController.java`
- `/Users/apple/_src/petstore/backend/src/main/java/com/petstore/controller/FileController.java`
- `/Users/apple/_src/petstore/backend/src/main/java/com/petstore/controller/ReportLeadController.java`
- `/Users/apple/_src/petstore/backend/src/main/java/com/petstore/service/ReportService.java`
- `/Users/apple/_src/petstore/backend/src/main/java/com/petstore/service/ReportHighlightVideoService.java`
- `/Users/apple/_src/petstore/backend/src/main/java/com/petstore/service/ReportLeadService.java`
- `/Users/apple/_src/petstore/backend/src/main/java/com/petstore/service/ReportTestimonialService.java`
- `/Users/apple/_src/petstore/backend/src/main/java/com/petstore/entity/Report*.java`
- `/Users/apple/_src/petstore/backend/src/main/java/com/petstore/mapper/Report*.java`

修改 appointment 终态或宠主可见字段时必须通知 Backend Core 和 Customer Experience FE。

## 禁止事项

- 不要在公开接口返回完整手机号、内部 user id、调试字段或完整敏感 token。
- 不要只依赖日志表达成片失败原因。
- 不要让报告创建绕过预约状态机约束。
- 不要把本地文件路径写入生产可见 URL。

## 标准交付物

- 报告/媒体域改动清单。
- API 契约变化和公开字段说明。
- 隐私、token、媒体 URL、异步任务影响。
- Report Share QA 验收路径。

## 必跑验证命令

```bash
cd /Users/apple/_src/petstore/backend
mvn test
```

如当前无测试或环境不完整，至少运行：

```bash
cd /Users/apple/_src/petstore/backend
mvn -DskipTests package
```
