feat(huya): 增加协作单礼包字典与名称编辑

This commit is contained in:
yml2213
2026-11-07 16:54:01 +08:00
parent afcbff2207
commit efa8bf2a46
12 changed files with 1183 additions and 44 deletions
+24
View File
@@ -1051,6 +1051,30 @@ unverified ──探针成功──▶ valid ──探针失败──▶ invalid
2. **不要让人工直写 `recharged` / `points_error`**:这两个状态必须由核账产生,否则积分快照与状态会各说各话。
3. **换 CK 不等于资料缺失**:`set_ck()` 只重置 `ck_status`;核账会强制重验,若绑定账号/角色变了整组报错,不会误落旧组。
### 11.13 2026-11-07 第十轮:礼包名称字典与历史改名级联
需求原文:"斗鱼的外部协作单增加了一个礼包名称编辑功能,虎牙也需要这个功能。"
虎牙原来只有「实时活动礼包缓存」和台账历史名:活动接口拉不到、旧礼包下线或名称录错时,
没有管理员可维护的标准口径。现在新增与斗鱼同级的礼包字典,同时保留实时礼包这条旧路径。
| 面 | 落地 |
| --- | --- |
| 数据模型 | 迁移 `20261107_0067`:`huya_collab_gifts`(名称唯一 / 所需积分 / 排序 / 启停 / 备注 / 操作人)。订单仍存礼包名字符串,不改成外键 |
| 后端 | `GET/POST /huya/collab-gifts`、`PUT/DELETE /huya/collab-gifts/{gift_id}`;查看走 `huya:collab:view`,写操作走 `huya:collab:manage` |
| 改名 | 字典改名会级联所有历史订单的 `gift_name`(含归档行),避免筛选里同时出现新旧两个名字;审计记录字段 diff 与实际同步行数 |
| 积分边界 | 改字典积分**不回填**历史订单的 `required_points` 快照;只影响之后新建或换礼包时自动带出的值 |
| 删除 | 仍有订单使用该礼包名时拒绝删除并提示改用停用;未被引用的字典行可删 |
| 前端 | 工具栏新增「礼包管理」;新建、补资料、详情和表格内联选择统一合并「实时活动礼包 + 启用的标准字典」,实时接口为空时仍可选字典项 |
| 保留旧路径 | 实时礼包缓存、强制刷新礼包、常用礼包按钮和现有订单历史值都保留;实时价格优先,缺失时回落到字典积分 |
**四条边界**:
1. **字典是标准口径,不是库存快照**:活动接口返回的实时价格 / 库存仍以接口为准,字典只补名称与积分兜底。
2. **改名必须级联**:订单里存的是名称字符串;只改字典会让同一礼包在筛选和历史单里分成两个值。
3. **积分不追改历史**:`required_points` 是下单时的核账快照,改字典不能改变已经完成的充值核账依据。
4. **删不掉的礼包用停用**:停用只影响新选择,不隐藏历史订单,也不会让旧数据失去可读名称。
---
## 12. 风险