完成剩余模块 Context 超时控制改造

This commit is contained in:
yml2213
2026-06-10 12:58:59 +08:00
parent d2858c529d
commit 6ae8f0e830
24 changed files with 370 additions and 323 deletions
@@ -1,6 +1,9 @@
package paymentaccount
import "errors"
import (
"context"
"errors"
)
var (
ErrDependencyUnavailable = errors.New("dependency unavailable")
@@ -19,7 +22,7 @@ func NewService(repo *Repository) *Service {
return &Service{repo: repo}
}
func (s *Service) List(userID uint64, page, pageSize int) (*PaginatedResult, error) {
func (s *Service) List(ctx context.Context, userID uint64, page, pageSize int) (*PaginatedResult, error) {
if s.repo == nil {
return nil, ErrDependencyUnavailable
}
@@ -29,52 +32,52 @@ func (s *Service) List(userID uint64, page, pageSize int) (*PaginatedResult, err
if pageSize < 1 || pageSize > 100 {
pageSize = 20
}
return s.repo.List(userID, page, pageSize)
return s.repo.List(ctx, userID, page, pageSize)
}
func (s *Service) FindByID(userID, id uint64) (*PaymentAccountDTO, error) {
func (s *Service) FindByID(ctx context.Context, userID, id uint64) (*PaymentAccountDTO, error) {
if s.repo == nil {
return nil, ErrDependencyUnavailable
}
return s.repo.FindByID(userID, id)
return s.repo.FindByID(ctx, userID, id)
}
func (s *Service) Create(userID uint64, req CreatePaymentAccountRequest) (*PaymentAccountDTO, error) {
func (s *Service) Create(ctx context.Context, userID uint64, req CreatePaymentAccountRequest) (*PaymentAccountDTO, error) {
if s.repo == nil {
return nil, ErrDependencyUnavailable
}
// 验证实名状态
if err := s.repo.ValidateRealname(userID, req.AccountName); err != nil {
if err := s.repo.ValidateRealname(ctx, userID, req.AccountName); err != nil {
return nil, err
}
// 检查账号数量限制(最多5个)
count, err := s.repo.CountByUser(userID)
count, err := s.repo.CountByUser(ctx, userID)
if err != nil {
return nil, err
}
if count >= 5 {
return nil, ErrAccountLimit
}
return s.repo.Create(userID, req)
return s.repo.Create(ctx, userID, req)
}
func (s *Service) Update(userID, id uint64, req UpdatePaymentAccountRequest) (*PaymentAccountDTO, error) {
func (s *Service) Update(ctx context.Context, userID, id uint64, req UpdatePaymentAccountRequest) (*PaymentAccountDTO, error) {
if s.repo == nil {
return nil, ErrDependencyUnavailable
}
return s.repo.Update(userID, id, req)
return s.repo.Update(ctx, userID, id, req)
}
func (s *Service) Delete(userID, id uint64) error {
func (s *Service) Delete(ctx context.Context, userID, id uint64) error {
if s.repo == nil {
return ErrDependencyUnavailable
}
return s.repo.Delete(userID, id)
return s.repo.Delete(ctx, userID, id)
}
func (s *Service) SetDefault(userID, id uint64) error {
func (s *Service) SetDefault(ctx context.Context, userID, id uint64) error {
if s.repo == nil {
return ErrDependencyUnavailable
}
return s.repo.SetDefault(userID, id)
return s.repo.SetDefault(ctx, userID, id)
}