fix
This commit is contained in:
@@ -229,10 +229,12 @@ func (s *ApiApplicationServiceImpl) validateApiCall(ctx context.Context, cmd *co
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 6. 验证订阅状态
|
||||
if err := s.validateSubscriptionStatus(ctx, apiUser.UserId, product); err != nil {
|
||||
// 6. 验证订阅状态并获取订阅信息
|
||||
subscription, err := s.validateSubscriptionStatus(ctx, apiUser.UserId, product)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result.SetSubscription(subscription)
|
||||
|
||||
// 7. 解密参数
|
||||
requestParams, err := crypto.AesDecrypt(cmd.Data, apiUser.SecretKey)
|
||||
@@ -1119,8 +1121,8 @@ func (s *ApiApplicationServiceImpl) validateWalletStatus(ctx context.Context, us
|
||||
return nil
|
||||
}
|
||||
|
||||
// validateSubscriptionStatus 验证订阅状态
|
||||
func (s *ApiApplicationServiceImpl) validateSubscriptionStatus(ctx context.Context, userID string, product *product_entities.Product) error {
|
||||
// validateSubscriptionStatus 验证订阅状态并返回订阅信息
|
||||
func (s *ApiApplicationServiceImpl) validateSubscriptionStatus(ctx context.Context, userID string, product *product_entities.Product) (*product_entities.Subscription, error) {
|
||||
// 1. 检查用户是否已订阅该产品
|
||||
subscription, err := s.subscriptionService.UserSubscribedProductByCode(ctx, userID, product.Code)
|
||||
if err != nil {
|
||||
@@ -1129,7 +1131,7 @@ func (s *ApiApplicationServiceImpl) validateSubscriptionStatus(ctx context.Conte
|
||||
zap.String("user_id", userID),
|
||||
zap.String("product_code", product.Code),
|
||||
zap.Error(err))
|
||||
return ErrProductNotSubscribed
|
||||
return nil, ErrProductNotSubscribed
|
||||
}
|
||||
|
||||
// 2. 检查订阅是否有效(未删除)
|
||||
@@ -1138,16 +1140,17 @@ func (s *ApiApplicationServiceImpl) validateSubscriptionStatus(ctx context.Conte
|
||||
zap.String("user_id", userID),
|
||||
zap.String("subscription_id", subscription.ID),
|
||||
zap.String("product_code", product.Code))
|
||||
return ErrSubscriptionExpired
|
||||
return nil, ErrSubscriptionExpired
|
||||
}
|
||||
|
||||
s.logger.Info("订阅状态验证通过",
|
||||
zap.String("user_id", userID),
|
||||
zap.String("subscription_id", subscription.ID),
|
||||
zap.String("product_code", product.Code),
|
||||
zap.String("subscription_price", subscription.Price.String()),
|
||||
zap.Int64("api_used", subscription.APIUsed))
|
||||
|
||||
return nil
|
||||
return subscription, nil
|
||||
}
|
||||
|
||||
// batchGetCompanyNamesForApiCalls 批量获取企业名称映射(用于API调用记录)
|
||||
|
||||
Reference in New Issue
Block a user