fix(rock): 补充买家更新UID时Token期望UID同步更新,保障自建发货页重入一致性
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user