refactor(huya): 协作台账 done 状态展示名「已完成」→「抢购成功」(枚举值不变)

This commit is contained in:
yml2213
2026-10-16 22:06:39 +08:00
parent e8abd60734
commit fdc57752dc
4 changed files with 20 additions and 14 deletions
+2 -2
View File
@@ -341,7 +341,7 @@ def batch_query_external_order_activity(
"""勾选多行查询积分 + 兑换记录(**串行带间隔**,防风控)。
每行都会落一条生命周期快照;「已上脚本」的单按查询结果自动改状态
(查到礼包 → 已完成;没查到 → 兑换失败),其它状态只记录不动状态。
(查到礼包 → 抢购成功;没查到 → 兑换失败),其它状态只记录不动状态。
"""
try:
orders = collab.list_orders_by_ids(db, req.ids)
@@ -478,7 +478,7 @@ def query_external_order_activity(
):
"""查这一单的积分 + 兑换记录(单行「查询」按钮):写一条生命周期快照。
「已上脚本」的单按查询结果自动改状态:查到这一单的礼包 → 已完成;
「已上脚本」的单按查询结果自动改状态:查到这一单的礼包 → 抢购成功;
接口通了但没查到 → 兑换失败;接口没通 → 不动(数据不够不许瞎判)。
"""
try:
+3 -2
View File
@@ -75,7 +75,8 @@ ORDER_STATUS_LABELS = {
STATUS_BOUND: "已确认绑定",
STATUS_RECHARGED: "已充值",
STATUS_SCRIPTED: "已上脚本",
STATUS_DONE: "已完成",
# 抢购跑到结果:查兑换记录能确认(自动改)也可以人工切(2026-10-16 用户把「已完成」改叫这个)
STATUS_DONE: "抢购成功",
# 旁路终态:抢购后查兑换记录,没查到这一单的礼包 → 判失败(人工确认后可作废或回退重试)
STATUS_FAILED: "兑换失败",
STATUS_VOID: "已作废",
@@ -1266,7 +1267,7 @@ def query_order_activity(
| 情况 | verdict | 业务状态 |
| --- | --- | --- |
| 兑换记录里有这一单的礼包 | ``success`` | 「已上脚本」的单 → 自动「已完成」 |
| 兑换记录里有这一单的礼包 | ``success`` | 「已上脚本」的单 → 自动「抢购成功」 |
| 接口通了,但记录里没有这个礼包 | ``failed`` | 「已上脚本」的单 → 自动「兑换失败」 |
| 接口没通 / 这单没填礼包名 | ``unknown`` | **不动**(数据不够,不许瞎判) |
+6 -5
View File
@@ -49,7 +49,8 @@ const STATUS_META: Record<HuyaCollabStatus, { label: string; color: string }> =
bound: { label: '已确认绑定', color: 'blue' },
recharged: { label: '已充值', color: 'geekblue' },
scripted: { label: '已上脚本', color: 'purple' },
done: { label: '已完成', color: 'success' },
// 抢购成功(枚举值仍是 done):从「已上脚本」查到兑换记录 → 自动进这一步
done: { label: '抢购成功', color: 'success' },
// 旁路终态:抢购后查兑换记录没查到这一单的礼包
failed: { label: '兑换失败', color: 'red' },
void: { label: '已作废', color: 'error' },
@@ -68,7 +69,7 @@ const STATUS_ORDER_OPTIONS: { value: HuyaCollabStatus; label: string }[] = [
{ value: 'bound', label: '已确认绑定' },
{ value: 'recharged', label: '已充值' },
{ value: 'scripted', label: '已上脚本' },
{ value: 'done', label: '已完成' },
{ value: 'done', label: '抢购成功' },
{ value: 'failed', label: '兑换失败' },
{ value: 'void', label: '已作废' },
];
@@ -1194,7 +1195,7 @@ export default function HuyaCollabPage() {
</Col>
<Col flex="1">
<Card size="small">
<Statistic title="已完成" value={finished} valueStyle={{ color: '#52c41a' }} />
<Statistic title={STATUS_META.done.label} value={finished} valueStyle={{ color: '#52c41a' }} />
<Progress percent={summary?.total ? Math.round((finished / summary.total) * 100) : 0} size="small" />
</Card>
</Col>
@@ -1504,7 +1505,7 @@ export default function HuyaCollabPage() {
)}
<Button icon={<SwapOutlined />} disabled={busy}
onClick={() => {
// 默认给「下一步」,终点态(已完成 / 已作废 / 兑换失败)退回当前状态,让人自己挑
// 默认给「下一步」,终点态(抢购成功 / 已作废 / 兑换失败)退回当前状态,让人自己挑
setRollbackTarget(detail.next_status ?? detail.status);
setStatusReason('');
setStatusAction({ order: detail, mode: 'set' });
@@ -1556,7 +1557,7 @@ export default function HuyaCollabPage() {
</Button>
)}
<Text type="secondary" style={{ fontSize: 12 }}>
每次查询都会追加一条快照(只追加、不修改);「已上脚本」的单会按结论自动改成「已完成」或「兑换失败」。
每次查询都会追加一条快照(只追加、不修改);「已上脚本」的单会按结论自动改成「抢购成功」或「兑换失败」。
</Text>
</Space>
{!detail.has_cookie && (