This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# Change: 更新套餐管理中的角色化流量展示与零售价约束
|
||||
|
||||
## Why
|
||||
|
||||
当前套餐管理列表会向所有账号展示真流量、虚流量和虚流量比例,但最新业务要求代理账号和企业账号不再看到虚流量拆分口径,只保留总量视图,避免暴露不必要的内部计量细节。
|
||||
|
||||
同时,代理侧“修改零售价”弹窗缺少成本价展示和建议售价上限约束,前端当前也没有把“建议售价的 2 倍”作为输入上限,会导致代理录入超出业务允许范围的零售价。
|
||||
|
||||
## What Changes
|
||||
|
||||
- 为套餐管理列表补充按账号类型展示流量字段的规则:
|
||||
- 当 `user_type` 为 `3`(代理账号)或 `4`(企业账号)时,隐藏“虚流量”和“虚流量比例”列
|
||||
- 同一视角下,将列表中的“真流量”列文案改为“总流量”
|
||||
- 该“总流量”继续使用接口返回的 `real_data_mb` 展示
|
||||
- 为代理侧“修改零售价”弹窗补充价格展示和校验规则:
|
||||
- 在“单位:元”提示前展示当前套餐的成本价
|
||||
- 展示提示文案:`零售价不能大于建议售价 * 2 = xxx`
|
||||
- 将零售价输入框最大值设置为同一上限
|
||||
- 表单校验阻止提交超过该上限的零售价
|
||||
- 不修改套餐管理相关后端接口路径、字段结构或权限模型
|
||||
|
||||
## Impact
|
||||
|
||||
- Affected specs:
|
||||
- `package-management`
|
||||
- Affected code:
|
||||
- `src/views/package-management/package-list/index.vue`
|
||||
- Dependencies:
|
||||
- 套餐列表接口继续返回 `real_data_mb`、`virtual_data_mb`、`suggested_retail_price`、`cost_price`
|
||||
- 当前登录用户信息继续提供 `user_type`
|
||||
- Notes:
|
||||
- 本提案默认“可修改零售价”的套餐记录会返回 `suggested_retail_price`;如果后端允许为空,实施阶段需要补充兜底交互
|
||||
@@ -0,0 +1,46 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: 套餐列表流量字段按账号类型展示
|
||||
|
||||
系统 SHALL 根据当前登录账号类型控制套餐管理列表中的流量相关字段展示。
|
||||
|
||||
#### Scenario: 代理账号和企业账号隐藏虚流量拆分信息
|
||||
|
||||
- **GIVEN** 当前登录账号的 `user_type` 为 `3` 或 `4`
|
||||
- **WHEN** 用户访问套餐管理列表
|
||||
- **THEN** 系统显示标签为 `总流量` 的列表列
|
||||
- **AND** 该列使用接口返回的 `real_data_mb` 作为展示值
|
||||
- **AND** 系统不显示 `虚流量` 列
|
||||
- **AND** 系统不显示 `虚流量比例` 列
|
||||
|
||||
#### Scenario: 其他账号继续显示虚流量拆分信息
|
||||
|
||||
- **GIVEN** 当前登录账号的 `user_type` 不为 `3` 且不为 `4`
|
||||
- **WHEN** 用户访问套餐管理列表
|
||||
- **THEN** 系统继续显示标签为 `真流量` 的列表列
|
||||
- **AND** 系统继续显示 `虚流量` 列
|
||||
- **AND** 系统继续显示 `虚流量比例` 列
|
||||
|
||||
### Requirement: 修改零售价时展示成本价并限制上限
|
||||
|
||||
系统 SHALL 在“修改零售价”弹窗中展示成本价,并基于建议售价限制可输入和可提交的零售价。
|
||||
|
||||
#### Scenario: 打开弹窗时展示成本价和上限提示
|
||||
|
||||
- **GIVEN** 用户具备修改零售价权限
|
||||
- **AND** 所选套餐的 `cost_price` 为 `1000` 分
|
||||
- **AND** 所选套餐的 `suggested_retail_price` 为 `2000` 分
|
||||
- **WHEN** 用户打开“修改零售价”弹窗
|
||||
- **THEN** 系统显示该套餐的成本价为 `¥10.00`
|
||||
- **AND** 系统在“单位:元”提示前展示成本价信息
|
||||
- **AND** 系统显示提示 `零售价不能大于建议售价 * 2 = 40.00`
|
||||
- **AND** 零售价输入框的最大值为 `40.00`
|
||||
|
||||
#### Scenario: 超过建议售价两倍时阻止提交
|
||||
|
||||
- **GIVEN** 用户具备修改零售价权限
|
||||
- **AND** 当前套餐零售价上限为 `40.00` 元
|
||||
- **WHEN** 用户输入大于 `40.00` 的零售价并提交
|
||||
- **THEN** 系统阻止提交
|
||||
- **AND** 系统显示“零售价不能大于建议售价 * 2”对应的校验提示
|
||||
- **AND** 系统不得调用修改零售价接口
|
||||
@@ -0,0 +1,6 @@
|
||||
## 1. Implementation
|
||||
|
||||
- [x] 1.1 调整套餐管理列表列配置,对 `user_type` 为 `3` 和 `4` 的账号隐藏“虚流量”“虚流量比例”,并将“真流量”列改名为“总流量”
|
||||
- [x] 1.2 扩展“修改零售价”弹窗状态,携带并展示成本价与建议售价计算出的零售价上限
|
||||
- [x] 1.3 为零售价输入框增加 `suggested_retail_price * 2` 的最大值约束,并在表单校验中阻止超过上限的提交
|
||||
- [x] 1.4 验证代理账号、企业账号与其他账号在套餐列表中的流量列展示差异,以及零售价弹窗的上限提示与提交流程
|
||||
Reference in New Issue
Block a user