修复 Context 改造后的编译问题

This commit is contained in:
yml2213
2026-06-10 09:43:49 +08:00
parent b377f8350b
commit 334436f381
13 changed files with 193 additions and 189 deletions
+4 -4
View File
@@ -37,7 +37,7 @@ func (h *Handler) Create(c *gin.Context) {
response.BadRequest(c, "发布信息不完整")
return
}
item, err := h.service.Create(ownerID, req)
item, err := h.service.Create(c.Request.Context(), ownerID, req)
if err != nil {
writeListingError(c, err)
return
@@ -57,7 +57,7 @@ func (h *Handler) ImportExternalUpload(c *gin.Context) {
response.BadRequest(c, "上传 JSON 格式不正确")
return
}
result, err := h.service.ImportExternalUpload(req, ExternalUploadMeta{
result, err := h.service.ImportExternalUpload(c.Request.Context(), req, ExternalUploadMeta{
IP: c.ClientIP(),
UserAgent: c.GetHeader("User-Agent"),
RawPayload: raw,
@@ -90,7 +90,7 @@ func (h *Handler) Update(c *gin.Context) {
response.BadRequest(c, "发布信息不完整")
return
}
item, err := h.service.Update(ownerID, id, req)
item, err := h.service.Update(c.Request.Context(), ownerID, id, req)
if err != nil {
writeListingError(c, err)
return
@@ -108,7 +108,7 @@ func (h *Handler) SubmitReview(c *gin.Context) {
if !ok {
return
}
item, err := h.service.SubmitReview(ownerID, id)
item, err := h.service.SubmitReview(c.Request.Context(), ownerID, id)
if err != nil {
writeListingError(c, err)
return
+16 -15
View File
@@ -1,6 +1,7 @@
package listing
import (
"context"
"encoding/json"
"errors"
"fmt"
@@ -36,7 +37,7 @@ type Service struct {
}
type ConfigReader interface {
FindValue(key string) (string, error)
FindValue(ctx context.Context, key string) (string, error)
}
const (
@@ -77,28 +78,28 @@ func NewService(repo *Repository, config ConfigReader) *Service {
return &Service{repo: repo, config: config}
}
func (s *Service) Create(ownerID uint64, req CreateRequest) (*ListingDTO, error) {
func (s *Service) Create(ctx context.Context, ownerID uint64, req CreateRequest) (*ListingDTO, error) {
if s.repo == nil {
return nil, ErrDependencyUnavailable
}
if !req.AgreedVirtualAssetSale || !req.AgreedSellerAgreement {
return nil, ErrAgreementRequired
}
rules, err := s.publishRules()
rules, err := s.publishRules(ctx)
if err != nil {
return nil, err
}
if err := validateRequest(req, rules); err != nil {
return nil, err
}
reviewRequired, err := s.reviewRequired()
reviewRequired, err := s.reviewRequired(ctx)
if err != nil {
return nil, err
}
return s.repo.Create(ownerID, req, reviewRequired)
}
func (s *Service) ImportExternalUpload(req ExternalUploadRequest, meta ExternalUploadMeta) (*ExternalUploadResponse, error) {
func (s *Service) ImportExternalUpload(ctx context.Context, req ExternalUploadRequest, meta ExternalUploadMeta) (*ExternalUploadResponse, error) {
if s.repo == nil {
return nil, ErrDependencyUnavailable
}
@@ -113,7 +114,7 @@ func (s *Service) ImportExternalUpload(req ExternalUploadRequest, meta ExternalU
if len(items) > maxExternalUploadItems {
return nil, ErrTooManyUploadItems
}
rules, err := s.publishRules()
rules, err := s.publishRules(ctx)
if err != nil {
return nil, err
}
@@ -171,29 +172,29 @@ func (s *Service) ImportExternalUpload(req ExternalUploadRequest, meta ExternalU
return resp, nil
}
func (s *Service) Update(ownerID uint64, id uint64, req UpdateRequest) (*ListingDTO, error) {
func (s *Service) Update(ctx context.Context, ownerID uint64, id uint64, req UpdateRequest) (*ListingDTO, error) {
if s.repo == nil {
return nil, ErrDependencyUnavailable
}
rules, err := s.publishRules()
rules, err := s.publishRules(ctx)
if err != nil {
return nil, err
}
if err := validateRequest(req, rules); err != nil {
return nil, err
}
reviewRequired, err := s.reviewRequired()
reviewRequired, err := s.reviewRequired(ctx)
if err != nil {
return nil, err
}
return s.repo.Update(ownerID, id, req, reviewRequired)
}
func (s *Service) SubmitReview(ownerID uint64, id uint64) (*ListingDTO, error) {
func (s *Service) SubmitReview(ctx context.Context, ownerID uint64, id uint64) (*ListingDTO, error) {
if s.repo == nil {
return nil, ErrDependencyUnavailable
}
reviewRequired, err := s.reviewRequired()
reviewRequired, err := s.reviewRequired(ctx)
if err != nil {
return nil, err
}
@@ -753,11 +754,11 @@ func hasScreenshotURL(urls []string) bool {
return false
}
func (s *Service) reviewRequired() (bool, error) {
func (s *Service) reviewRequired(ctx context.Context) (bool, error) {
if s.config == nil {
return false, nil
}
value, err := s.config.FindValue(reviewRequiredConfigKey)
value, err := s.config.FindValue(ctx, reviewRequiredConfigKey)
if err != nil {
return false, err
}
@@ -768,12 +769,12 @@ func (s *Service) reviewRequired() (bool, error) {
return required, nil
}
func (s *Service) publishRules() (publishRules, error) {
func (s *Service) publishRules(ctx context.Context) (publishRules, error) {
rules := publishRules{FireLevelMin: defaultFireLevelMin}
if s.config == nil {
return rules, nil
}
value, err := s.config.FindValue(publishOptionsConfigKey)
value, err := s.config.FindValue(ctx, publishOptionsConfigKey)
if err != nil {
return rules, err
}
@@ -61,7 +61,7 @@ func TestValidateRequestRequiresDepositAboveConsumables(t *testing.T) {
func TestCreateRequiresPublishAgreements(t *testing.T) {
service := NewService(&Repository{}, nil)
_, err := service.Create(1, CreateRequest{})
_, err := service.Create(t.Context(), 1, CreateRequest{})
if err != ErrAgreementRequired {
t.Fatalf("expected ErrAgreementRequired, got %v", err)
}