From 4f23ae389d6f0e1360388ee1f91254644a757e2c Mon Sep 17 00:00:00 2001 From: yml2213 Date: Mon, 5 Oct 2026 19:31:43 +0800 Subject: [PATCH] =?UTF-8?q?fix(rock):=20=E8=A1=A5=E5=85=85=E4=B9=B0?= =?UTF-8?q?=E5=AE=B6=E6=9B=B4=E6=96=B0UID=E6=97=B6Token=E6=9C=9F=E6=9C=9BU?= =?UTF-8?q?ID=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0=EF=BC=8C=E4=BF=9D?= =?UTF-8?q?=E9=9A=9C=E8=87=AA=E5=BB=BA=E5=8F=91=E8=B4=A7=E9=A1=B5=E9=87=8D?= =?UTF-8?q?=E5=85=A5=E4=B8=80=E8=87=B4=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/service/rock_service.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backend/internal/service/rock_service.go b/backend/internal/service/rock_service.go index 49e466b..5763252 100644 --- a/backend/internal/service/rock_service.go +++ b/backend/internal/service/rock_service.go @@ -344,6 +344,14 @@ func (s *RockService) AssignTokenForOrder(ctx context.Context, orderNo, expected return nil, nil, err } + if err == nil { + trimmedUID := strings.TrimSpace(expectedUID) + if trimmedUID != "" && token.ExpectedUID != trimmedUID { + token.ExpectedUID = trimmedUID + _ = s.db.WithContext(ctx).Model(&token).Update("expected_uid", trimmedUID).Error + } + } + // 2. 若尚未分配,锁定一个可用 Token (行锁防并发超卖) if errors.Is(err, gorm.ErrRecordNotFound) { err = s.db.WithContext(ctx).Transaction(func(tx *gorm.DB) error {