# Capability: 分配成本价历史管理 ## Purpose 本 capability 定义如何记录和查询套餐分配的成本价变更历史,支持审计和纠纷处理,确保历史记录不可篡改。 ## Requirements ### Requirement: 成本价调整时记录历史 系统 SHALL 在代理调整套餐分配的成本价时,创建成本价变更历史记录。历史记录 MUST 包含:旧成本价、新成本价、变更原因、变更人、生效时间。 #### Scenario: 单个调整时创建历史记录 - **WHEN** 代理将套餐A的成本价从10000分调整为11000分,原因为"市场调价" - **THEN** 系统创建历史记录:old = 10000, new = 11000, reason = "市场调价" #### Scenario: 批量调整时批量创建历史记录 - **WHEN** 代理批量调整100个套餐的成本价 - **THEN** 系统创建100条历史记录 #### Scenario: 历史记录包含变更人信息 - **WHEN** 用户ID为456的代理调整成本价 - **THEN** 历史记录的 changed_by = 456 #### Scenario: 历史记录记录生效时间 - **WHEN** 代理在2026-01-28 10:00:00调整成本价 - **THEN** 历史记录的 effective_from = 2026-01-28 10:00:00 --- ### Requirement: 查询成本价变更历史 系统 SHALL 允许代理查询指定套餐分配的成本价变更历史,按生效时间倒序排列。 #### Scenario: 查询套餐分配的成本价历史 - **WHEN** 代理查询分配ID为123的成本价历史 - **THEN** 系统返回该分配的所有成本价变更记录,最新变更在最前 #### Scenario: 历史记录包含完整变更信息 - **WHEN** 查询成本价历史 - **THEN** 每条记录包含:旧成本价、新成本价、变更原因、变更人、生效时间 #### Scenario: 支持按时间范围筛选历史 - **WHEN** 代理查询2026年1月的成本价变更 - **THEN** 系统返回effective_from在2026-01-01至2026-01-31之间的记录 --- ### Requirement: 支持审计和纠纷处理 成本价历史记录 SHALL 支持审计和纠纷处理,系统 MUST 保证历史记录不可篡改(只能创建,不能修改或删除)。 #### Scenario: 历史记录不可修改 - **WHEN** 尝试修改已创建的历史记录 - **THEN** 系统拒绝操作 #### Scenario: 历史记录不可删除 - **WHEN** 尝试删除已创建的历史记录 - **THEN** 系统拒绝操作