This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
## MODIFIED Requirements
|
||||
|
||||
### Requirement: 换货迁移时更新个人客户资产绑定
|
||||
|
||||
系统 SHALL 在换货完成成功后,更新 `PersonalCustomerDevice` 的资产标识绑定关系:
|
||||
- 若旧资产存在客户绑定,绑定中的 `virtual_no` MUST 更新为新资产资产绑定键
|
||||
- 更新后客户对资产访问连续,不需重新登录即可看到新资产
|
||||
|
||||
该规则 MUST 同时适用于:
|
||||
- `shipping` 流程完成换货
|
||||
- `direct` 流程创建即完成
|
||||
|
||||
该规则 MUST NOT 仅依赖 `migrate_data=true` 才执行。
|
||||
|
||||
#### Scenario: 不迁移也要切换客户绑定
|
||||
- **WHEN** 旧资产存在个人客户绑定且执行了 `migrate_data=false` 的换货完成
|
||||
- **THEN** 系统 MUST 仍然将绑定记录的资产标识字段更新为新资产资产绑定键
|
||||
|
||||
#### Scenario: 迁移后客户绑定跟随新资产
|
||||
- **WHEN** 旧资产存在个人客户绑定且执行了 `migrate_data=true`
|
||||
- **THEN** 系统 MUST 将绑定记录的资产标识字段更新为新资产资产绑定键
|
||||
|
||||
---
|
||||
|
||||
### Requirement: 换货完成前的绑定承接校验
|
||||
|
||||
系统 SHALL 在换货完成前校验新资产是否可以承接现有个人客户绑定。
|
||||
|
||||
若旧资产存在 `PersonalCustomerDevice` 绑定,则系统 MUST 满足:
|
||||
- 新资产存在可写入绑定的资产绑定键
|
||||
- IoT 卡资产绑定键 MUST 使用新卡 `virtual_no`
|
||||
- 设备资产绑定键 MUST 优先使用新设备 `virtual_no`,为空时 MAY 使用新设备 `imei`,与现有登录绑定规则保持一致
|
||||
- 新资产绑定键当前不得存在 `status=1` 的 `PersonalCustomerDevice` 绑定记录
|
||||
- 已禁用或软删除绑定记录不视为当前绑定冲突
|
||||
|
||||
若任一条件不满足,系统 MUST 拒绝完成换货并回滚整个事务。
|
||||
|
||||
#### Scenario: 新资产无法承接绑定时回滚
|
||||
- **WHEN** 旧资产存在客户绑定,但新资产缺少可承接的资产绑定键
|
||||
- **THEN** 系统 MUST 拒绝完成换货
|
||||
- **AND** MUST 保持换货单未完成
|
||||
|
||||
#### Scenario: 新资产已有有效客户绑定时回滚
|
||||
- **WHEN** 旧资产存在客户绑定,但新资产绑定键已经存在 `status=1` 的客户绑定记录
|
||||
- **THEN** 系统 MUST 拒绝完成换货
|
||||
- **AND** MUST 回滚整个完成事务
|
||||
|
||||
---
|
||||
|
||||
### Requirement: 转新时清除个人客户绑定
|
||||
|
||||
系统 SHALL 在 H7 转新时清除该资产在 `PersonalCustomerDevice` 中的绑定关系,避免旧客户继续访问新代际资产。
|
||||
|
||||
#### Scenario: 转新后旧客户需重新绑定
|
||||
- **WHEN** 资产转新完成
|
||||
- **THEN** 系统 MUST 删除或失效对应客户绑定,使旧客户再次访问时触发重新绑定流程
|
||||
Reference in New Issue
Block a user