package handlers import ( "time" "mengyastore-backend/internal/models" "mengyastore-backend/internal/storage" ) // 以下类型仅用于 swag/OpenAPI 描述,与实际 handler 返回值形状对齐。 type SwaggerErrorBody struct { Error string `json:"error"` } type SwaggerValidBody struct { Valid bool `json:"valid"` } type SwaggerProductListBody struct { Data []models.Product `json:"data"` } type SwaggerProductOneBody struct { Data models.Product `json:"data"` } type SwaggerOrdersBody struct { Data []models.Order `json:"data"` } type SwaggerSMTPWrap struct { Data storage.SMTPConfig `json:"data"` } type SwaggerStringOKBody struct { Data string `json:"data"` } type SwaggerBoolOKWrap struct { Data SwaggerBoolOK `json:"data"` } type SwaggerBoolOK struct { OK bool `json:"ok"` } type SwaggerProductViewWrap struct { Data SwaggerProductViewData `json:"data"` } type SwaggerProductViewData struct { ID string `json:"id"` ViewCount int `json:"viewCount"` Counted bool `json:"counted"` } type SwaggerStatsWrap struct { Data SwaggerStatsData `json:"data"` } type SwaggerStatsData struct { TotalOrders int `json:"totalOrders"` TotalVisits int `json:"totalVisits"` } type SwaggerVisitWrap struct { Data SwaggerVisitData `json:"data"` } type SwaggerVisitData struct { TotalVisits int `json:"totalVisits"` Counted bool `json:"counted"` } type SwaggerMaintenanceWrap struct { Data SwaggerMaintenanceData `json:"data"` } type SwaggerMaintenanceData struct { Maintenance bool `json:"maintenance"` Reason string `json:"reason"` } type SwaggerCheckoutWrap struct { Data SwaggerCheckoutData `json:"data"` } type SwaggerCheckoutData struct { OrderID string `json:"orderId"` QrCodeURL string `json:"qrCodeUrl"` ProductID string `json:"productId"` ProductQty int `json:"productQty"` ViewCount int `json:"viewCount"` Status string `json:"status"` PaymentMethod string `json:"paymentMethod"` PaymentExpectedTotal float64 `json:"paymentExpectedTotal,omitempty"` PaymentQrURLs []string `json:"paymentQrUrls,omitempty"` PaymentExpiresAt *time.Time `json:"paymentExpiresAt,omitempty"` } type SwaggerConfirmWrap struct { Data SwaggerConfirmData `json:"data"` } type SwaggerConfirmData struct { OrderID string `json:"orderId"` Status string `json:"status"` DeliveryMode string `json:"deliveryMode"` DeliveredCodes []string `json:"deliveredCodes"` IsManual bool `json:"isManual"` } type SwaggerPaymentStatusWrap struct { Data SwaggerPaymentStatusData `json:"data"` } type SwaggerPaymentStatusData struct { Status string `json:"status"` ExpectedTotal float64 `json:"expectedTotal"` PaymentExpiresAt *time.Time `json:"paymentExpiresAt"` PaymentMethod string `json:"paymentMethod"` } type SwaggerWebhookMengyaResp struct { OK bool `json:"ok"` Matched bool `json:"matched"` MatchedOrderID string `json:"matched_order_id,omitempty"` } type SwaggerCancelWrap struct { Data SwaggerCancelMsg `json:"data"` } type SwaggerCancelMsg struct { OK bool `json:"ok"` Message string `json:"message,omitempty"` } type SwaggerWishlistWrap struct { Data SwaggerWishlistItems `json:"data"` } type SwaggerWishlistItems struct { Items []string `json:"items"` } type SwaggerMessagesWrap struct { Data SwaggerMessagesInner `json:"data"` } type SwaggerMessagesInner struct { Messages []models.ChatMessage `json:"messages"` } type SwaggerOneChatMsgWrap struct { Data SwaggerSingleChatWrap `json:"data"` } type SwaggerSingleChatWrap struct { Message models.ChatMessage `json:"message"` }