feat(douyin-mashida): 商品展示统一改为内部 SKU(引流标题降级)

平台 sku_order_list[].code 是商家维护的**内部 SKU**(如「幸运币2个」),
product_name 只是店铺用来**引流**的长标题(如「【测试专用】和平精英皮肤小店入口…」)。
商家按内部 SKU 认货(后续履约匹配也用它),原来的展示把引流标题当商品名,
列表/详情/兑换页三处都会让人认错货。

改为以内部 SKU 为主、引流标题降级为副信息:
- 后台订单列表「商品 / 任务」:itemTitle = 内部 SKU,skuNick = 引流标题
- 后台订单详情「商品明细」:商品 = 内部 SKU;SKU/规格 不再重复展示同一串
- 兑换中心 /redeem:商品 = 内部 SKU(粗体)+ 引流标题(灰色小字,新增 productTitle 字段)

实现只在 `source === 'douyin_mashida'` 时生效(resolveOrderItemTitle /
resolveOrderItemSkuNick 加 douyin 分支),其它平台展示逻辑不变;
用真实订单形态补了单测。
This commit is contained in:
yml2213
2026-10-09 13:31:45 +08:00
parent 3505ca4e05
commit 7834ee7bef
6 changed files with 109 additions and 3 deletions
@@ -151,7 +151,10 @@ export default function AdminOrderDetailPage() {
{item.skuNick}
</Tag>
) : null}
<span className="muted">{item.skuCode || item.skuName || '-'}</span>
{/* 商品列已是内部 SKU 时不再重复展示同一串 */}
{item.skuCode && item.skuCode !== item.itemTitle ? (
<span className="muted">{item.skuCode}</span>
) : null}
</div>
),
},
+11 -1
View File
@@ -153,7 +153,17 @@ function RedeemStatusResult({ status, message }: { status: RedeemOrderStatus; me
function RedeemSummaryDetails({ summary }: { summary: RedeemOrderView['summary'] }) {
return (
<Descriptions column={1} size="small" bordered>
<Descriptions.Item label="商品">{summary?.productName || '—'}</Descriptions.Item>
<Descriptions.Item label="商品">
<div className="cell-stack" style={{ gap: 2 }}>
<Typography.Text strong>{summary?.productName || '—'}</Typography.Text>
{/* 平台标题只是引流词,降级为副信息,避免买家误认商品 */}
{summary?.productTitle && summary.productTitle !== summary.productName ? (
<Typography.Text type="secondary" style={{ fontSize: 12 }}>
{summary.productTitle}
</Typography.Text>
) : null}
</div>
</Descriptions.Item>
<Descriptions.Item label="数量">{summary ? summary.quantity : '—'}</Descriptions.Item>
<Descriptions.Item label="金额">
{summary ? formatRedeemAmount(summary.amountFen) : '—'}
+3
View File
@@ -15,7 +15,10 @@ export type RedeemOrderStatus =
| 'verified'
export interface RedeemOrderSummary {
/** 商品名:抖音码速达口径为**内部 SKU**(平台 `code`) */
productName: string
/** 平台商品标题(引流词),仅作副信息展示 */
productTitle: string
quantity: number
amountFen: number
paidAt: string | null