2.4 KiB
2.4 KiB
ADDED Requirements
Requirement: 换货新资产手机号绑定冲突提示
后台创建换货和确认完成 SHALL 在错误码 1202 时读取错误业务响应的 data.phone,用一次文本弹窗提示解除关联的后台入口;处理 MUST 覆盖正常 HTTP 承载的业务失败和 HTTP 错误响应,不自动解绑、预查扫码记录或扩大权限。
Scenario: 1202 返回手机号
- WHEN
POST /api/admin/exchanges或POST /api/admin/exchanges/{id}/complete返回code=1202且含data.phone - THEN 页面 MUST 提示「新资产已绑定手机号 {phone},请先到『手机号资产关联』解除后再提交」
- AND 默认错误提示与该弹窗 MUST NOT 重复展示
- AND 手机号 MUST 只作为文本渲染,不写日志或持久化
- AND 前端 MUST NOT 自动调用单条、批量或 CSV 解绑接口
Scenario: 号码缺失或无管理权限
- WHEN 1202 响应不含有效号码,或用户没有关联管理入口权限
- THEN 页面 MUST 显示不含
undefined的解除指引,无号码时不自行猜测 - AND 无管理权限时 MUST 提示联系有权限人员,不暴露越权操作按钮
Requirement: 换货冲突后保持数据并允许手动重试
1202 失败后后台 SHALL 保留当前创建表单或后端原完成状态,解除关联后允许用户手动再次提交。非 1202 错误 MUST 保留原统一反馈及业务判断。
Scenario: 创建失败保留表单
- WHEN 创建换货因 1202 被拒绝
- THEN 当前新旧资产、原因、换货类型和其他表单值 MUST 保留
- AND loading MUST 结束,取消提示 MUST NOT 被当作成功
- AND 用户解除关联后 MUST 可手动再次提交原接口
Scenario: 确认完成被拒绝
- WHEN 确认完成接口因 1202 被拒绝
- THEN 页面 MUST 刷新原换货单,并保持后端「已发货待确认」状态
- AND MUST NOT 乐观标记换货完成或清空当前单据
- AND 用户解除关联后 MUST 可手动重新确认
Scenario: 其他错误及原流程不变
- WHEN 换货接口返回非 1202 错误,包括退款拦截、权限失败、迁移失败或网络错误
- THEN 页面 MUST 继续按原业务文案及统一错误分类反馈,不重复弹错
- AND MUST NOT 新增依据扫码历史或退款状态的前置拒绝逻辑
- AND 当前换货迁移字段、角色限制和接口成功行为 MUST 保持不变