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 {