From c86a189795ee673739b4be5027b895c671d8f944 Mon Sep 17 00:00:00 2001 From: matst80 Date: Tue, 14 Oct 2025 21:36:52 +0200 Subject: [PATCH] parsestock --- cmd/cart/cart-grain.go | 33 ++++++++++++++------------------- cmd/cart/product-fetcher.go | 9 +++++++-- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/cmd/cart/cart-grain.go b/cmd/cart/cart-grain.go index 84192ab..7b0b911 100644 --- a/cmd/cart/cart-grain.go +++ b/cmd/cart/cart-grain.go @@ -30,25 +30,20 @@ type ItemMeta struct { } type CartItem struct { - Id uint32 `json:"id"` - ItemId uint32 `json:"itemId,omitempty"` - ParentId uint32 `json:"parentId,omitempty"` - Sku string `json:"sku"` - - Price Price `json:"price"` - TotalPrice Price `json:"totalPrice"` - - OrgPrice *Price `json:"orgPrice,omitempty"` - Stock StockStatus `json:"stock"` - Quantity int `json:"qty"` - Discount *Price `json:"discount,omitempty"` - - Disclaimer string `json:"disclaimer,omitempty"` - - ArticleType string `json:"type,omitempty"` - - StoreId *string `json:"storeId,omitempty"` - Meta ItemMeta `json:"meta,omitempty"` + Id uint32 `json:"id"` + ItemId uint32 `json:"itemId,omitempty"` + ParentId uint32 `json:"parentId,omitempty"` + Sku string `json:"sku"` + Price Price `json:"price"` + TotalPrice Price `json:"totalPrice"` + OrgPrice *Price `json:"orgPrice,omitempty"` + Stock StockStatus `json:"stock"` + Quantity int `json:"qty"` + Discount *Price `json:"discount,omitempty"` + Disclaimer string `json:"disclaimer,omitempty"` + ArticleType string `json:"type,omitempty"` + StoreId *string `json:"storeId,omitempty"` + Meta *ItemMeta `json:"meta,omitempty"` } type CartDelivery struct { diff --git a/cmd/cart/product-fetcher.go b/cmd/cart/product-fetcher.go index 1ed6861..23ea6fd 100644 --- a/cmd/cart/product-fetcher.go +++ b/cmd/cart/product-fetcher.go @@ -4,6 +4,8 @@ import ( "encoding/json" "fmt" "net/http" + "strconv" + "strings" messages "git.tornberg.me/go-cart-actor/pkg/messages" "github.com/matst80/slask-finder/pkg/index" @@ -52,10 +54,13 @@ func ToItemAddMessage(item *index.DataItem, storeId *string, qty int, country st } stock := StockStatus(0) - centralStockValue, ok := item.GetNumberFieldValue(3) + centralStockValue, ok := item.GetStringFieldValue(3) if storeId == nil { if ok { - stock = StockStatus(centralStockValue) + pureNumber := strings.Replace(centralStockValue, "+", "", -1) + if centralStock, err := strconv.ParseInt(pureNumber, 10, 64); err == nil { + stock = StockStatus(centralStock) + } } } else { storeStock, ok := item.Stock.GetStock()[*storeId]