fix(supply-api): 修复编译错误和测试问题

- 添加 ErrNotFound 和 ErrConcurrencyConflict 错误定义
- 修复 pgx.NullTime 替换为 *time.Time
- 修复 db.go 事务类型 (pgx.Tx vs pgxpool.Tx)
- 移除未使用的导入和变量
- 修复 NewSupplyAPI 调用参数
- 修复中间件链路 handler 类型问题
- 修复适配器类型引用 (storage.InMemoryAccountStore 等)
- 所有测试通过

Test: go test ./...
This commit is contained in:
Your Name
2026-04-01 13:03:44 +08:00
parent e5c699c6b2
commit ed0961d486
19 changed files with 329 additions and 324 deletions

View File

@@ -4,7 +4,6 @@ import (
"context"
"errors"
"fmt"
"net/netip"
"time"
"github.com/jackc/pgx/v5"
@@ -84,7 +83,7 @@ func (r *PackageRepository) GetByID(ctx context.Context, supplierID, id int64) (
`
pkg := &domain.Package{}
var startAt, endAt pgx.NullTime
var startAt, endAt *time.Time
err := r.pool.QueryRow(ctx, query, id, supplierID).Scan(
&pkg.ID, &pkg.SupplierID, &pkg.SupplierID, &pkg.Platform, &pkg.Model,
&pkg.TotalQuota, &pkg.AvailableQuota, &pkg.SoldQuota, &pkg.ReservedQuota,
@@ -103,11 +102,11 @@ func (r *PackageRepository) GetByID(ctx context.Context, supplierID, id int64) (
return nil, fmt.Errorf("failed to get package: %w", err)
}
if startAt.Valid {
pkg.StartAt = startAt.Time
if startAt != nil {
pkg.StartAt = *startAt
}
if endAt.Valid {
pkg.EndAt = endAt.Time
if endAt != nil {
pkg.EndAt = *endAt
}
return pkg, nil