From 4c2975a56a297d473f96647f10e524a7bb3f4f29 Mon Sep 17 00:00:00 2001 From: merdan Date: Mon, 5 Sep 2022 18:09:43 +0500 Subject: [PATCH] scoute flash api --- controllers/importer.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/controllers/importer.go b/controllers/importer.go index 8a6899c..076f279 100644 --- a/controllers/importer.go +++ b/controllers/importer.go @@ -223,8 +223,12 @@ func importProduct(product models.Product, db *gorm.DB) { } attributes, mainProductFlat := prepearAttributesWithFlat(&product) - - attributes = append(attributes, gm.ProductAttributeValue{AttributeID: attributesMap["meta_keywords"].ID, TextValue: keywords, Channel: "default", Locale: "tm"}) + colorOption := gm.GetAttributeOption(db, attributesMap["color"].ID, product.Color) + mainProductFlat.Color = int(colorOption.ID) + mainProductFlat.ColorLabel = product.Color + attributes = append(attributes, []gm.ProductAttributeValue{ + {AttributeID: attributesMap["color"].ID, IntegerValue: int(colorOption.ID)}, + {AttributeID: attributesMap["meta_keywords"].ID, TextValue: keywords, Channel: "default", Locale: "tm"}}...) iproduct := gm.Product{ Sku: product.ProductGroupID, @@ -447,7 +451,7 @@ func importProduct(product models.Product, db *gorm.DB) { } else if len(product.SizeVariants) > 0 { weight, _ := strconv.ParseFloat(product.Weight, 64) - + colorOption := gm.GetAttributeOption(db, attributesMap["color"].ID, product.Color) for _, sizeVariant := range product.SizeVariants { sku := fmt.Sprintf("%s-%s-%d-size", iproduct.Sku, product.ProductNumber, sizeVariant.ItemNumber) @@ -466,6 +470,7 @@ func importProduct(product models.Product, db *gorm.DB) { {AttributeID: attributesMap["meta_keywords"].ID, TextValue: keywords, Channel: "default", Locale: "tm"}, {AttributeID: attributesMap["size"].ID, IntegerValue: int(sizeOption.ID)}, {AttributeID: attributesMap["description"].ID, TextValue: mainProductFlat.Description, Channel: "default", Locale: "tm"}, + {AttributeID: attributesMap["color"].ID, IntegerValue: int(colorOption.ID)}, } flatVariant := gm.ProductFlat{ @@ -481,9 +486,10 @@ func importProduct(product models.Product, db *gorm.DB) { SizeLabel: sizeOption.AdminName, MetaKeywords: keywords, Description: mainProductFlat.Description, - // Source: product.URLKey, - FavoritesCount: uint(product.FavoriteCount), - ParentID: mainProductFlat.ID, + Color: int(colorOption.ID), + ColorLabel: product.Color, + FavoritesCount: uint(product.FavoriteCount), + ParentID: mainProductFlat.ID, } if sizeVariant.Price.OriginalPrice.Value > sizeVariant.Price.DiscountedPrice.Value {