Files
qipai/docs/api-changelog/2026-08-10-M09-B-cleaning-rules.md
T

28 lines
2.1 KiB
Markdown

# 2026-08-10 M09-B 清洁规则与照片验收 API
## 新增管理接口
- `GET /admin-api/cleaning/templates`
- 按租户和管理员门店范围返回租户、门店、房间三级清洁模板。
- 返回照片必传规则、最少/最多张数、免清洁策略、状态和版本号。
- `PUT /admin-api/cleaning/templates`
- 新建或更新同一作用范围的模板;更新时版本号递增并写审计日志。
- 配置只参与后续新任务生成,不修改既有任务快照。
- `GET /admin-api/cleaning/tasks/:taskId/submissions`
- 返回最近 20 个验收提交版本,包含版本号、状态、照片、提交备注、驳回原因、提交/验收人和时间。
- `POST /admin-api/cleaning/photos/cleanup`
- 批量清理到期且未提交的照片;先原子领取并标记孤儿,文件删除成功后再软删除记录,失败项五分钟后可重试。
## 既有接口收口
- `POST /app-api/cleaning/tasks/:taskId/photos` 只允许本人 `STARTED` 任务;文件必须为 JPEG/PNG/WebP,声明 MIME、扩展名和实际解码格式一致,原图最多 8 MiB/4000 万像素。
- 图片统一旋转、限边并重编码为 WebP,移除 EXIF/ICC 等附加元数据;存储路径固定为 `tenants/{tenantId}/stores/{storeId}`
- 每次上传写入任务照片资产,提交时再次校验租户、任务、上传人和 `PENDING` 状态,禁止复用其他任务或其他租户 URL。
- `POST /app-api/cleaning/tasks/:taskId/submit` 使用任务创建时固化的照片规则;驳回后必须先调用 `rework` 回到 `STARTED`,再提交新版本。
- `complete` / `reject` 同事务更新当前提交版本为 `ACCEPTED` / `REJECTED`,旧版本和旧照片继续保留。
- `exempt` 按任务快照中的 `DISABLED``BEFORE_START``ANY_ACTIVE` 策略执行,继续保证免清洁任务不进入结算。
## 设备安全边界
- 订单结束、取消或换房旧房间触发断电前,重新查询该房间最新有效订单;存在 `PAID``RESERVED``IN_PROGRESS` 新订单时返回 `ROOM_HAS_ACTIVE_ORDER`,不下发取消任务或插座断电。