diff --git a/backend/internal/handler/platform_lewan.go b/backend/internal/handler/platform_lewan.go index 72e5f9b..22d66e3 100644 --- a/backend/internal/handler/platform_lewan.go +++ b/backend/internal/handler/platform_lewan.go @@ -152,4 +152,3 @@ func (h *PlatformLewanHandler) BatchSyncLewanProducts(c *gin.Context) { } response.OK(c, gin.H{"synced_count": count}) } - diff --git a/backend/internal/pkg/applog/applog.go b/backend/internal/pkg/applog/applog.go index aefcfce..bcd6715 100644 --- a/backend/internal/pkg/applog/applog.go +++ b/backend/internal/pkg/applog/applog.go @@ -273,4 +273,3 @@ func NewGormLogger(mode string) logger.Interface { }, ) } - diff --git a/backend/internal/pkg/lewan/client.go b/backend/internal/pkg/lewan/client.go index 5b1ea4c..bd669d2 100644 --- a/backend/internal/pkg/lewan/client.go +++ b/backend/internal/pkg/lewan/client.go @@ -58,19 +58,19 @@ type ResponseEnvelope struct { // Product 代表乐玩平台商品 type Product struct { - ID string `json:"id"` - CategoryId string `json:"categoryId"` - CategoryName string `json:"categoryName"` - Name string `json:"name"` - Summary string `json:"summary"` - ThumbnailUrl string `json:"thumbnailUrl"` - Stock int64 `json:"stock"` - RoleDeliveryLimit *int `json:"roleDeliveryLimit"` - DeliveryType string `json:"deliveryType"` // LINK_BINDING, EMAIL_BINDING - EffectiveUnitPrice string `json:"effectiveUnitPrice"` - AccessMode string `json:"accessMode"` // PURCHASE, VIEW - UpdatedAt string `json:"updatedAt"` - ProductVersion string `json:"productVersion"` + ID string `json:"id"` + CategoryId string `json:"categoryId"` + CategoryName string `json:"categoryName"` + Name string `json:"name"` + Summary string `json:"summary"` + ThumbnailUrl string `json:"thumbnailUrl"` + Stock int64 `json:"stock"` + RoleDeliveryLimit *int `json:"roleDeliveryLimit"` + DeliveryType string `json:"deliveryType"` // LINK_BINDING, EMAIL_BINDING + EffectiveUnitPrice string `json:"effectiveUnitPrice"` + AccessMode string `json:"accessMode"` // PURCHASE, VIEW + UpdatedAt string `json:"updatedAt"` + ProductVersion string `json:"productVersion"` } type ProductListResult struct { diff --git a/backend/internal/router/router.go b/backend/internal/router/router.go index 3a0fcdd..e365cd4 100644 --- a/backend/internal/router/router.go +++ b/backend/internal/router/router.go @@ -34,8 +34,8 @@ type Handlers struct { OpenAPIKey string OpenAPISecret string OpenSignSkew int64 - OpenAPIDebug bool - UploadDir string + OpenAPIDebug bool + UploadDir string // CORSAllowedOrigins 跨域来源白名单;为空时使用本地开发默认来源。 CORSAllowedOrigins []string diff --git a/backend/internal/service/fulfillment_test.go b/backend/internal/service/fulfillment_test.go index 6f6ffeb..10c3103 100644 --- a/backend/internal/service/fulfillment_test.go +++ b/backend/internal/service/fulfillment_test.go @@ -465,9 +465,9 @@ func TestFulfillmentCancelRejectedWhenSubmittedUpstream(t *testing.T) { // 已提交上游(provider_order_no 非空)的失败订单禁止取消,避免退款后上游仍发货。 submitted := create("client-cancel-submitted") if err := db.Model(&model.FulfillmentOrder{}).Where("id = ?", submitted.ID).Updates(map[string]interface{}{ - "order_status": model.OrderStatusShipFailed, + "order_status": model.OrderStatusShipFailed, "provider_order_no": "PROV-UPSTREAM-001", - "failure_reason": "上游角色校验失败", + "failure_reason": "上游角色校验失败", }).Error; err != nil { t.Fatalf("seed submitted failed order: %v", err) } diff --git a/backend/internal/service/merchant_catalog.go b/backend/internal/service/merchant_catalog.go index 995ea79..1350a40 100644 --- a/backend/internal/service/merchant_catalog.go +++ b/backend/internal/service/merchant_catalog.go @@ -507,4 +507,3 @@ func (s *MerchantService) BatchSyncLewanProductsToCatalog(items []SyncLewanProdu } return count, nil } -