Files
one-pipe-system/openspec/changes/update-exchange-migration-and-shop-import/proposal.md
2026-09-17 12:16:20 +08:00

42 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Change: 换货迁移状态与店铺负责人导入字段对齐AUG26-005
## Why
换货单新增业务数据迁移状态migration_status前端需要按新状态展示迁移结果不能再以 migrate_data/migration_completed/migration_balance 推断migration_status=failed 的单「确认完成」仅超管/平台账号可重试,代理/企业账号触发 403/1005。同时店铺负责人导入任务/行级接口按生成文档补齐 task_no、file_name、creator_name、started_at、completed_at、status_name 等字段,前端类型与页面展示需对齐。
## What Changes
- 换货响应字段GET /api/admin/exchanges、GET /api/admin/exchanges/{id} 以及创建/发货/完成接口返回的同一个换货对象新增 migration_statusnot_migrated/pending/migrated/failed、migration_status_name中文名不迁移/待迁移/已迁移/迁移失败、migration_failure_reason仅 migration_status=failed 时返回migrate_data、migration_completed、migration_balance 仍在、语义未变,但不再用于推断迁移结果。
- 换货列表在「状态」列之后新增「迁移状态」列中文名failed 红色标记);详情页新增迁移信息展示(迁移状态 + failed 时的失败原因)。
- 确认完成:非 failed 单沿用既有 exchange:complete 权限failed 单仅超管/平台账号可重试,代理/企业账号前端不渲染入口(后端仍 403/1005 兜底);迁移执行失败返回 code=1206换货单保持「已发货待确认」前端展示后端安全文案、修复条件后可重试。
- 导出换货导出在「状态」列之后新增「迁移状态」列15→16不导出失败原因前端导出为任务式、无列模板前端零改动。
- 店铺负责人导入:任务对象(列表/详情/创建响应)按生成文档补齐 task_no/file_name/creator_name/started_at/completed_at/status_name行级结果补齐 status_name创建任务接口返回值对齐任务对象含 id导入页展示任务编号/文件名/创建人/开始·完成时间/状态中文名。
- 无新增路由、无新增列表筛选、请求入参与权限入口不变(发货 migrate_data 仍为「是否执行迁移」,决定状态落 pending 或 not_migrated
## Not In Scope
- 后端实现failed 单权限拦截、1206 返回与迁移执行),仅前端适配。
- 导出文件内容列(换货导出列 15→16 由后端模板生成)。
- migrate_data/migration_completed/migration_balance 字段删除或语义调整。
- 换货单请求入参、列表筛选、权限编码的新增与变更。
## Impact
- Affected specs: exchange-management新增、shop-management扩展
- Affected code:
- src/api/modules/exchange.tsExchangeResponse 迁移字段与枚举)
- src/views/asset-management/exchange-management/index.vue、detail.vue
- src/types/api/shop.tsBusinessOwnerImportDetail/BusinessOwnerImportRow
- src/api/modules/shop.tscreateBusinessOwnerImport 返回值对齐)
- src/views/shop-management/business-owner-import/index.vue
- API contracts: DtoExchangeOrderResponse 新增 3 个迁移字段;店铺负责人导入任务/行级字段对齐生成文档
- Dependencies:
- docs/产品迭代8月份/换货和店铺负责人导入.md7 个换货端点 + 3 个导入端点 OpenAPI
- AUG26-005 换货迁移状态接口变动说明
- Related active changes: update-exchange-flow-direct-type同属换货流程需合并考虑add-business-user-group-management店铺负责人导入页面基础
## 待确认
- 1206 响应走 HTTP 4xx 还是 200+code=1206前端按现有统一错误处理展示后端 msg如需要定制提示如「迁移失败修复后可重试」需后端确认返回结构。
- failed 单「确认完成」的隐藏依据:按 user_type代理/企业)在前端隐藏,超管/平台显示,权限码沿用 exchange:complete。
- 导入任务创建响应含 id以生成文档为准前端改为使用返回对象的 id 打开结果抽屉。