fix(douyu): 加固高价值三态迁移与状态口径
修复迁移中断重跑、旧快照回填覆盖、降级将 unknown 误写成可兑换,以及迁移前 CK 已失效账号未作废旧结论的问题。统一 CK error 的展示与筛选口径,补齐旧快照迁移和兑换兜底反向用例,并同步高价值结论时间语义。同时纳入 .gitignore 更新。
This commit is contained in:
+13
-5
@@ -90,6 +90,8 @@ CK 本体和健康结果都在账号上:
|
||||
|
||||
列表只返回紧凑的三态 `high_value`(`state` + 每套的 `owned`/`available`/`unknown`),
|
||||
不返回整份快照,避免响应体积膨胀。
|
||||
`high_value_checked_at` 是“最近一次形成高价值结论”的时钟,结论本身可以为
|
||||
`unknown`;它不表示每次执行都成功读到了可用的官方 `status`。
|
||||
一键查询本身是只读聚合,不直接修改生命周期状态;官方兑换记录会以
|
||||
`source=official_sync` 幂等补入事件流。
|
||||
|
||||
@@ -118,7 +120,8 @@ CK 本体和健康结果都在账号上:
|
||||
两套都降为 `unknown`,等下一次真的读到官方 `storehome` 才写回。
|
||||
作废发生在**数据层**(CK 检测结论落定处),不是展示层:CK 恢复之后展示层
|
||||
就不再降级了,只在展示层降级会让陈旧的「可换」重新变绿。
|
||||
`error`(查不到)不作废 —— 查不到不等于账号出问题了。
|
||||
`error`(查不到)既不作废数据,也不在展示层降级 —— 查不到不等于账号状态变了;
|
||||
它继续显示上一次有效结论,并计入「高价值但 CK 异常」筛选。
|
||||
|
||||
### 高价值的三类「查不到」必须分开
|
||||
|
||||
@@ -127,13 +130,18 @@ CK 本体和健康结果都在账号上:
|
||||
| 筛选 | 判据 | 含义 |
|
||||
| --- | --- | --- |
|
||||
| `unqueried` | `overview_queried_at IS NULL` | 从没跑过一键查询(**旧口径**,保留不变) |
|
||||
| `high_value_never` | `high_value_checked_at IS NULL` | 从没成功读到官方商城(商城接口失败 / 没配 `manualID`) |
|
||||
| `high_value_unknown` | `checked_at` 非空,但已过期或状态是 `unknown` | 查过,但当前结论不可信 |
|
||||
| `high_value_never` | `high_value_checked_at IS NULL` | 从没形成过高价值结论(商城接口失败 / 没配 `manualID`) |
|
||||
| `high_value_unknown` | `checked_at` 非空,但已过期或状态是 `unknown` | 形成过结论,但当前结论未知或不可信 |
|
||||
|
||||
`high_value_never` 必须单独成档:账号可能查过其它资料、只是商城接口对它
|
||||
稳定失败。它既不满足 `unqueried`(资料查过),也不满足 `high_value_unknown`
|
||||
`high_value_never` 必须单独成档:账号可能查过其它资料、只是从未形成高价值结论。
|
||||
它既不满足 `unqueried`(资料查过),也不满足 `high_value_unknown`
|
||||
(那条要求 `checked_at` 非空)—— 不单独筛的话,这批账号在界面上**无处可寻**。
|
||||
|
||||
0065 迁移会把旧 `overview_snapshot` 回填成新三态。旧快照没保存原始
|
||||
`status` 时状态保守写 `unknown`,但保留旧查询时间作为结论时钟,让这批账号
|
||||
进入 6 小时慢速重试;迁移前已经 `CK invalid` 的账号也一律回填为 `unknown`。
|
||||
没有旧快照的账号则保持 `checked_at=NULL`。
|
||||
|
||||
## 自动化策略
|
||||
|
||||
- CK 巡检按账号选行,不按登录历史选行。
|
||||
|
||||
Reference in New Issue
Block a user