From bf9614569e26786838ede52db68546a6bf28c2e5 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Mon, 14 Sep 2026 17:37:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E5=8F=91=E8=B4=A7?= =?UTF-8?q?=E5=87=AD=E8=AF=81=E4=B8=8E=E5=AD=97=E6=AE=B5=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=EF=BC=8C=E9=9A=90=E8=97=8F=E5=86=85=E9=83=A8=E7=A7=AF=E5=88=86?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=B9=B6=E5=A2=9E=E5=BC=BADLC=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/router/router.go | 1 + backend/internal/service/fulfillment_data.go | 8 ++++++-- frontend/src/pages/Delivery.tsx | 1 - frontend/src/utils/voucher.ts | 4 ++-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/backend/internal/router/router.go b/backend/internal/router/router.go index bad5502..1d4877d 100644 --- a/backend/internal/router/router.go +++ b/backend/internal/router/router.go @@ -113,6 +113,7 @@ func Setup(h *Handlers) *gin.Engine { delivery.POST("/orders/:order_no/bind", h.Delivery.Bind) delivery.POST("/orders/:order_no/submit", h.Delivery.Submit) delivery.GET("/image-proxy", h.Delivery.ImageProxy) + delivery.HEAD("/image-proxy", h.Delivery.ImageProxy) } // 源头侧接口:上游发货平台查询订单并回传发货结果。 diff --git a/backend/internal/service/fulfillment_data.go b/backend/internal/service/fulfillment_data.go index 5819adf..2eb9eb7 100644 --- a/backend/internal/service/fulfillment_data.go +++ b/backend/internal/service/fulfillment_data.go @@ -138,12 +138,16 @@ func extractGameFields(raw string, out *OpenOrderQuery) { } } if out.GameUID == "" { - if v, ok := m["game_uid"].(string); ok { + if v, ok := m["game_uid"].(string); ok && v != "" { + out.GameUID = v + } else if v, ok := m["game_account"].(string); ok && v != "" { out.GameUID = v } } if out.RoleName == "" { - if v, ok := m["role_name"].(string); ok { + if v, ok := m["role_name"].(string); ok && v != "" { + out.RoleName = v + } else if v, ok := m["game_account_role_name"].(string); ok && v != "" { out.RoleName = v } } diff --git a/frontend/src/pages/Delivery.tsx b/frontend/src/pages/Delivery.tsx index 0b56841..2138474 100644 --- a/frontend/src/pages/Delivery.tsx +++ b/frontend/src/pages/Delivery.tsx @@ -379,7 +379,6 @@ export default function Delivery() { {order.product?.sku || '-'} {order.product?.game && {order.product.game}} 已发放 1 件 - {order.amount} 积分 diff --git a/frontend/src/utils/voucher.ts b/frontend/src/utils/voucher.ts index 93c5943..2b2ec9e 100644 --- a/frontend/src/utils/voucher.ts +++ b/frontend/src/utils/voucher.ts @@ -123,10 +123,10 @@ export async function generateDeliveryVoucher(order: DeliveryOrderInfo): Promise const gameText = order.product?.game ? ` · ${order.product.game}` : '' ctx.fillText(skuText + gameText, textLeft, prodCardY + 120) - // 金额与数量 + // 交付状态与数量 ctx.fillStyle = '#16a34a' ctx.font = 'bold 28px -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif' - ctx.fillText(`已发放: 1 件 | 价值: ${order.amount} 积分`, textLeft, prodCardY + 168) + ctx.fillText('已发放: 1 件', textLeft, prodCardY + 168) // 6. 核心凭证字段明细表 const tableY = prodCardY + prodCardH + 32