feat(M08-B): 补保洁照片上传和自动建单
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# M08-B 保洁端
|
||||
# M08-B 保洁端
|
||||
|
||||
## 本次工程增量
|
||||
|
||||
@@ -9,6 +9,15 @@
|
||||
- 小程序新增 `pages/cleaner/tasks`,调用真实 app-api 展示任务大厅、我的任务、待结算统计,并支持接单、开始和提交照片 URL 验收。
|
||||
- `scripts/check-miniapp-m08-a.mjs` 扩展为同时检查 M08-A 顾客端与 M08-B 保洁端页面注册和真实接口调用。
|
||||
|
||||
## 2026-06-26 增量
|
||||
|
||||
- `/app-api/cleaning/tasks/:taskId/photos` 接入受控图片上传:保洁员必须登录且拥有当前任务,任务状态必须为 `STARTED` 或 `REJECTED`,上传后复用 `MediaStorage` 压缩为 WebP 并返回固定 `https://api.txyundm.cn/uploads/...` URL。
|
||||
- `/app-api/cleaning/tasks/:taskId/submit` 改为必须提交至少一张照片;`REJECTED` 任务允许再次提交,提交后清空驳回原因并记录事件。
|
||||
- 新增 `/app-api/cleaning/tasks/:taskId/rework`,保洁员可将本人 `REJECTED` 任务重新转为 `STARTED`,清空旧照片和驳回原因,进入补做流程。
|
||||
- `OrderStateRepository` 在订单状态进入 `FINISHED` 时通过同一事务调用 `CleaningTaskRepository.createForFinishedOrder`,按 `order_id` 唯一键幂等创建 `WAITING` 保洁任务并写入 `AUTO_CREATE` 事件。
|
||||
- 小程序保洁端将手工照片 URL 文本框改为相机/相册选择图片,上传成功后再提交验收;驳回任务显示原因并提供“重做”入口。
|
||||
- 修复 `marketing-benefit-service.test.mjs` 中固定订单时间导致 2026-06-26 后自然过期的问题,改为相对未来时间,避免测试随日期漂移失效。
|
||||
|
||||
## 验收结果
|
||||
|
||||
- `npm run build`(`backend/`):PASS。
|
||||
@@ -17,12 +26,17 @@
|
||||
- `node tests/migration-contract.test.mjs`:PASS。
|
||||
- `node tests/migration-runner.test.mjs`:PASS。
|
||||
- `npm test`(`backend/`):PASS。
|
||||
- 2026-06-26 追加验证:
|
||||
- `node tests/cleaning-route.test.mjs`:PASS,覆盖 `rework` 和照片上传路由。
|
||||
- `npm test -- --runInBand`(`backend/`):PASS。
|
||||
- `node scripts/check-miniapp-m08-a.mjs`:PASS。
|
||||
|
||||
## 状态
|
||||
|
||||
M08-B 进入 `PARTIAL`。本次完成保洁端任务大厅、我的任务、接单、开始、提交验收和统计的基础工程闭环;照片真实上传、驳回补做、订单结束自动建任务、管理员指派、超时回收和结算单仍待继续。M08-A 的真机合法域名、真实微信支付和实物开门验证按外部条件阻塞保留,不阻断 M08-B 工程推进。
|
||||
M08-B 保持 `PARTIAL`。当前已完成保洁端任务大厅、我的任务、接单、开始、照片上传、提交验收、驳回补做、订单结束自动建任务和统计基础工程闭环;管理员指派、超时回收、多保洁员模式、验收通过/驳回管理入口和结算单仍待继续。M08-A 的真机合法域名、真实微信支付和实物开门验证按外部条件阻塞保留,不阻断 M08-B 工程推进。
|
||||
|
||||
## 提交
|
||||
|
||||
- 工程提交:`2a4dcd0`
|
||||
- 工程提交:`329cfcd`
|
||||
- 远端校验:待本轮 push 后执行 `HEAD == origin/main`。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user