|
@@ -323,19 +323,19 @@ func NewBillingSession(c *gin.Context, relayInfo *relaycommon.RelayInfo, preCons
|
|
|
case "subscription_first":
|
|
case "subscription_first":
|
|
|
fallthrough
|
|
fallthrough
|
|
|
default:
|
|
default:
|
|
|
- hasSub, err := model.HasActiveUserSubscription(relayInfo.UserId)
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- return nil, types.NewError(err, types.ErrorCodeQueryDataError, types.ErrOptionWithSkipRetry())
|
|
|
|
|
|
|
+ hasSub, subCheckErr := model.HasActiveUserSubscription(relayInfo.UserId)
|
|
|
|
|
+ if subCheckErr != nil {
|
|
|
|
|
+ return nil, types.NewError(subCheckErr, types.ErrorCodeQueryDataError, types.ErrOptionWithSkipRetry())
|
|
|
}
|
|
}
|
|
|
if !hasSub {
|
|
if !hasSub {
|
|
|
return tryWallet()
|
|
return tryWallet()
|
|
|
}
|
|
}
|
|
|
- session, err := trySubscription()
|
|
|
|
|
- if err != nil {
|
|
|
|
|
- if err.GetErrorCode() == types.ErrorCodeInsufficientUserQuota {
|
|
|
|
|
|
|
+ session, apiErr := trySubscription()
|
|
|
|
|
+ if apiErr != nil {
|
|
|
|
|
+ if apiErr.GetErrorCode() == types.ErrorCodeInsufficientUserQuota {
|
|
|
return tryWallet()
|
|
return tryWallet()
|
|
|
}
|
|
}
|
|
|
- return nil, err
|
|
|
|
|
|
|
+ return nil, apiErr
|
|
|
}
|
|
}
|
|
|
return session, nil
|
|
return session, nil
|
|
|
}
|
|
}
|