修复已用完套餐展示
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m43s

This commit is contained in:
2026-09-08 17:19:30 +08:00
parent a48ff5d782
commit ff25586dc9
7 changed files with 95 additions and 10 deletions

View File

@@ -346,7 +346,7 @@ func (s *Service) buildCardResolveResponse(ctx context.Context, card *model.IotC
// fillPackageInfo 填充当前主套餐信息到响应中
func (s *Service) fillPackageInfo(ctx context.Context, resp *dto.AssetResolveResponse, carrierType string, carrierID uint) {
usage, err := s.packageUsageStore.GetActiveMainPackage(ctx, carrierType, carrierID)
usage, err := s.packageUsageStore.GetCurrentMainPackage(ctx, carrierType, carrierID)
if err != nil || usage == nil {
return
}
@@ -892,7 +892,7 @@ func buildAssetPackageHistoryNode(node *assetquery.PackageHistoryNode, packageMa
return item
}
// GetCurrentPackage 获取资产当前生效的主套餐
// GetCurrentPackage 获取资产当前可展示的主套餐
// callerAccountType: 调用方账号类型,"platform" 时返回成本价paid_amount其他类型不返回
func (s *Service) GetCurrentPackage(ctx context.Context, assetType string, id uint, callerAccountType string) (*dto.AssetPackageResponse, error) {
carrierType := assetType
@@ -900,14 +900,14 @@ func (s *Service) GetCurrentPackage(ctx context.Context, assetType string, id ui
carrierType = "iot_card"
}
usage, err := s.packageUsageStore.GetActiveMainPackage(ctx, carrierType, id)
usage, err := s.packageUsageStore.GetCurrentMainPackage(ctx, carrierType, id)
if err != nil {
// 记录不存在表示当前无生效套餐,属于正常业务状态,返回 nil 而非错误
// 记录不存在表示当前无套餐,属于正常业务状态,返回 nil 而非错误
// 其他 DB 错误才作为服务端错误处理
if stderrors.Is(err, gorm.ErrRecordNotFound) {
return nil, nil
}
return nil, errors.Wrap(errors.CodeDatabaseError, err, "查询当前生效套餐失败")
return nil, errors.Wrap(errors.CodeDatabaseError, err, "查询当前套餐失败")
}
return s.buildAssetPackageResponse(ctx, usage, callerAccountType), nil