refactor(huya): 协作台账 failed 状态展示名「兑换失败」→「抢购失败」(枚举值不变)
This commit is contained in:
@@ -341,7 +341,7 @@ def batch_query_external_order_activity(
|
||||
"""勾选多行查询积分 + 兑换记录(**串行带间隔**,防风控)。
|
||||
|
||||
每行都会落一条生命周期快照;「已上脚本」的单按查询结果自动改状态
|
||||
(查到礼包 → 抢购成功;没查到 → 兑换失败),其它状态只记录不动状态。
|
||||
(查到礼包 → 抢购成功;没查到 → 抢购失败),其它状态只记录不动状态。
|
||||
"""
|
||||
try:
|
||||
orders = collab.list_orders_by_ids(db, req.ids)
|
||||
@@ -479,7 +479,7 @@ def query_external_order_activity(
|
||||
"""查这一单的积分 + 兑换记录(单行「查询」按钮):写一条生命周期快照。
|
||||
|
||||
「已上脚本」的单按查询结果自动改状态:查到这一单的礼包 → 抢购成功;
|
||||
接口通了但没查到 → 兑换失败;接口没通 → 不动(数据不够不许瞎判)。
|
||||
接口通了但没查到 → 抢购失败;接口没通 → 不动(数据不够不许瞎判)。
|
||||
"""
|
||||
try:
|
||||
order = collab.get_order(db, order_id)
|
||||
|
||||
@@ -78,7 +78,7 @@ ORDER_STATUS_LABELS = {
|
||||
# 抢购跑到结果:查兑换记录能确认(自动改)也可以人工切(2026-10-16 用户把「已完成」改叫这个)
|
||||
STATUS_DONE: "抢购成功",
|
||||
# 旁路终态:抢购后查兑换记录,没查到这一单的礼包 → 判失败(人工确认后可作废或回退重试)
|
||||
STATUS_FAILED: "兑换失败",
|
||||
STATUS_FAILED: "抢购失败",
|
||||
STATUS_VOID: "已作废",
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ def is_forward_status(from_status: str, target: str) -> bool:
|
||||
|
||||
- 流程链内:目标阶段序号 **≥ 当前** 就是向前(含原地重复设置,幂等);
|
||||
- `void`(作废):任意流程内状态都能进;
|
||||
- `failed`(兑换失败):流程内任意状态都能进(兑换记录查出来没有就是没有);
|
||||
- `failed`(抢购失败):流程内任意状态都能进(兑换记录查出来没有就是没有);
|
||||
- 从 `void` / `failed` 回到流程内:**必须** rollback(这两步是"要人工再确认一次"的)。
|
||||
"""
|
||||
if target == STATUS_VOID or target == STATUS_FAILED:
|
||||
@@ -1268,7 +1268,7 @@ def query_order_activity(
|
||||
| 情况 | verdict | 业务状态 |
|
||||
| --- | --- | --- |
|
||||
| 兑换记录里有这一单的礼包 | ``success`` | 「已上脚本」的单 → 自动「抢购成功」 |
|
||||
| 接口通了,但记录里没有这个礼包 | ``failed`` | 「已上脚本」的单 → 自动「兑换失败」 |
|
||||
| 接口通了,但记录里没有这个礼包 | ``failed`` | 「已上脚本」的单 → 自动「抢购失败」 |
|
||||
| 接口没通 / 这单没填礼包名 | ``unknown`` | **不动**(数据不够,不许瞎判) |
|
||||
|
||||
只有 ``已上脚本`` 的单会被自动改状态 —— 抢购是上脚本之后的事,其它阶段去改属于误判;
|
||||
|
||||
@@ -51,12 +51,12 @@ const STATUS_META: Record<HuyaCollabStatus, { label: string; color: string }> =
|
||||
scripted: { label: '已上脚本', color: 'purple' },
|
||||
// 抢购成功(枚举值仍是 done):从「已上脚本」查到兑换记录 → 自动进这一步
|
||||
done: { label: '抢购成功', color: 'success' },
|
||||
// 旁路终态:抢购后查兑换记录没查到这一单的礼包
|
||||
failed: { label: '兑换失败', color: 'red' },
|
||||
// 旁路终态:抢购后查兑换记录没查到这一单的礼包(枚举值仍是 failed)
|
||||
failed: { label: '抢购失败', color: 'red' },
|
||||
void: { label: '已作废', color: 'error' },
|
||||
};
|
||||
|
||||
/** 判定结论的配色(生命周期时间线用) */
|
||||
/** 判定结论的配色(生命周期时间线用):与「业务状态名」分开,这里说的是"兑换记录里查到没有" */
|
||||
const VERDICT_META: Record<string, { label: string; color: string }> = {
|
||||
success: { label: '兑换成功', color: 'success' },
|
||||
failed: { label: '兑换失败', color: 'error' },
|
||||
@@ -70,11 +70,11 @@ const STATUS_ORDER_OPTIONS: { value: HuyaCollabStatus; label: string }[] = [
|
||||
{ value: 'recharged', label: '已充值' },
|
||||
{ value: 'scripted', label: '已上脚本' },
|
||||
{ value: 'done', label: '抢购成功' },
|
||||
{ value: 'failed', label: '兑换失败' },
|
||||
{ value: 'failed', label: '抢购失败' },
|
||||
{ value: 'void', label: '已作废' },
|
||||
];
|
||||
|
||||
/** 「回退」能选的目标:只在流程链里选(要进「已作废 / 兑换失败」走「改状态」或「作废」入口) */
|
||||
/** 「回退」能选的目标:只在流程链里选(要进「已作废 / 抢购失败」走「改状态」或「作废」入口) */
|
||||
const FLOW_STATUS_OPTIONS = STATUS_ORDER_OPTIONS.filter(
|
||||
(option) => option.value !== 'failed' && option.value !== 'void',
|
||||
);
|
||||
@@ -1172,7 +1172,7 @@ export default function HuyaCollabPage() {
|
||||
|
||||
return (
|
||||
<Space direction="vertical" size={12} style={{ width: '100%' }}>
|
||||
{/* 卡片用 flex 平分:状态多了一个「兑换失败」,固定 span=4 会换行参差不齐 */}
|
||||
{/* 卡片用 flex 平分:状态多了一个「抢购失败」,固定 span=4 会换行参差不齐 */}
|
||||
<Row gutter={12}>
|
||||
<Col flex="1"><Card size="small"><Statistic title="全部" value={summary?.total ?? 0} /></Card></Col>
|
||||
<Col flex="1">
|
||||
@@ -1505,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' });
|
||||
@@ -1557,7 +1557,7 @@ export default function HuyaCollabPage() {
|
||||
</Button>
|
||||
)}
|
||||
<Text type="secondary" style={{ fontSize: 12 }}>
|
||||
每次查询都会追加一条快照(只追加、不修改);「已上脚本」的单会按结论自动改成「抢购成功」或「兑换失败」。
|
||||
每次查询都会追加一条快照(只追加、不修改);「已上脚本」的单会按结论自动改成「抢购成功」或「抢购失败」。
|
||||
</Text>
|
||||
</Space>
|
||||
{!detail.has_cookie && (
|
||||
|
||||
Reference in New Issue
Block a user