before parse update
This commit is contained in:
parent
2185f7f03c
commit
41a3552a97
|
|
@ -24,7 +24,7 @@ var (
|
|||
mainImportWG, famAndSellerWG sync.WaitGroup
|
||||
families []gm.AttributeFamily
|
||||
sellers = make(map[string]gm.MarketplaceSeller)
|
||||
attributesMap = make(map[string]gm.Attribute)
|
||||
AttributesMap = make(map[string]gm.Attribute)
|
||||
)
|
||||
|
||||
func StartImport(w http.ResponseWriter, route *http.Request) {
|
||||
|
|
@ -81,7 +81,7 @@ func StartImport(w http.ResponseWriter, route *http.Request) {
|
|||
}
|
||||
|
||||
for _, atrattribute := range attributes {
|
||||
attributesMap[atrattribute.Code] = atrattribute
|
||||
AttributesMap[atrattribute.Code] = atrattribute
|
||||
}
|
||||
}()
|
||||
|
||||
|
|
@ -226,13 +226,13 @@ func ImportProduct(product models.Product, db *gorm.DB) error {
|
|||
}
|
||||
|
||||
attributes, mainProductFlat := prepearAttributesWithFlat(&product)
|
||||
colorOption := gm.GetAttributeOption(db, attributesMap["color"].ID, product.Color)
|
||||
colorOption := gm.GetAttributeOption(db, AttributesMap["color"].ID, product.Color)
|
||||
mainProductFlat.Color = int(colorOption.ID)
|
||||
mainProductFlat.ColorLabel = product.Color
|
||||
var productImages []gm.ProductImage
|
||||
attributes = append(attributes, []gm.ProductAttributeValue{
|
||||
{AttributeID: attributesMap["color"].ID, IntegerValue: int(colorOption.ID)},
|
||||
{AttributeID: attributesMap["meta_keywords"].ID, TextValue: keywords, Channel: "default", Locale: "tm"}}...)
|
||||
{AttributeID: AttributesMap["color"].ID, IntegerValue: int(colorOption.ID)},
|
||||
{AttributeID: AttributesMap["meta_keywords"].ID, TextValue: keywords, Channel: "default", Locale: "tm"}}...)
|
||||
|
||||
for _, element := range product.Images {
|
||||
productImages = append(productImages, gm.ProductImage{Type: "cdn", Path: element})
|
||||
|
|
@ -255,11 +255,11 @@ func ImportProduct(product models.Product, db *gorm.DB) error {
|
|||
}
|
||||
|
||||
if len(product.ColorVariants) > 0 {
|
||||
iproduct.SuperAttributes = append(iproduct.SuperAttributes, attributesMap["color"])
|
||||
iproduct.SuperAttributes = append(iproduct.SuperAttributes, AttributesMap["color"])
|
||||
}
|
||||
|
||||
if len(product.SizeVariants) > 0 {
|
||||
iproduct.SuperAttributes = append(iproduct.SuperAttributes, attributesMap["size"])
|
||||
iproduct.SuperAttributes = append(iproduct.SuperAttributes, AttributesMap["size"])
|
||||
}
|
||||
|
||||
if len(iproduct.SuperAttributes) > 0 {
|
||||
|
|
@ -299,7 +299,7 @@ func ImportProduct(product models.Product, db *gorm.DB) error {
|
|||
description += "<p>" + desc.Description + "</p>"
|
||||
}
|
||||
|
||||
colorOption := gm.GetAttributeOption(db, attributesMap["color"].ID, colorVariant.Color)
|
||||
colorOption := gm.GetAttributeOption(db, AttributesMap["color"].ID, colorVariant.Color)
|
||||
|
||||
if len(colorVariant.SizeVariants) > 0 {
|
||||
|
||||
|
|
@ -307,24 +307,24 @@ func ImportProduct(product models.Product, db *gorm.DB) error {
|
|||
|
||||
sku := fmt.Sprintf("%s-%s-%d-col-size", colorVariant.ProductGroupID, colorVariant.ProductNumber, sizeVariant.ItemNumber)
|
||||
|
||||
sizeOption := gm.GetAttributeOption(db, attributesMap["size"].ID, sizeVariant.AttributeValue)
|
||||
sizeOption := gm.GetAttributeOption(db, AttributesMap["size"].ID, sizeVariant.AttributeValue)
|
||||
|
||||
productNumber := fmt.Sprintf("%s-%d", colorVariant.ProductNumber, sizeVariant.ItemNumber)
|
||||
|
||||
attributes := []gm.ProductAttributeValue{
|
||||
{AttributeID: attributesMap["source"].ID, TextValue: colorVariant.URLKey},
|
||||
{AttributeID: attributesMap["favoritesCount"].ID, IntegerValue: colorVariant.FavoriteCount},
|
||||
{AttributeID: attributesMap["sku"].ID, TextValue: sku},
|
||||
{AttributeID: attributesMap["product_number"].ID, TextValue: productNumber},
|
||||
{AttributeID: attributesMap["name"].ID, TextValue: colorVariant.Name, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: attributesMap["weight"].ID, TextValue: colorVariant.Weight},
|
||||
{AttributeID: attributesMap["status"].ID, BooleanValue: true},
|
||||
//{AttributeID: attributesMap["visible_individually"].ID, BooleanValue: true, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: attributesMap["url_key"].ID, TextValue: sku},
|
||||
{AttributeID: attributesMap["meta_keywords"].ID, TextValue: keywords, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: attributesMap["description"].ID, TextValue: description, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: attributesMap["color"].ID, IntegerValue: int(colorOption.ID)},
|
||||
{AttributeID: attributesMap["size"].ID, IntegerValue: int(sizeOption.ID)},
|
||||
{AttributeID: AttributesMap["source"].ID, TextValue: colorVariant.URLKey},
|
||||
{AttributeID: AttributesMap["favoritesCount"].ID, IntegerValue: colorVariant.FavoriteCount},
|
||||
{AttributeID: AttributesMap["sku"].ID, TextValue: sku},
|
||||
{AttributeID: AttributesMap["product_number"].ID, TextValue: productNumber},
|
||||
{AttributeID: AttributesMap["name"].ID, TextValue: colorVariant.Name, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: AttributesMap["weight"].ID, TextValue: colorVariant.Weight},
|
||||
{AttributeID: AttributesMap["status"].ID, BooleanValue: true},
|
||||
//{AttributeID: AttributesMap["visible_individually"].ID, BooleanValue: true, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: AttributesMap["url_key"].ID, TextValue: sku},
|
||||
{AttributeID: AttributesMap["meta_keywords"].ID, TextValue: keywords, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: AttributesMap["description"].ID, TextValue: description, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: AttributesMap["color"].ID, IntegerValue: int(colorOption.ID)},
|
||||
{AttributeID: AttributesMap["size"].ID, IntegerValue: int(sizeOption.ID)},
|
||||
}
|
||||
|
||||
//todo assign images
|
||||
|
|
@ -351,8 +351,8 @@ func ImportProduct(product models.Product, db *gorm.DB) error {
|
|||
|
||||
if sizeVariant.Price.OriginalPrice.Value > sizeVariant.Price.DiscountedPrice.Value {
|
||||
attributes = append(attributes, []gm.ProductAttributeValue{
|
||||
{AttributeID: attributesMap["price"].ID, FloatValue: sizeVariant.Price.OriginalPrice.Value},
|
||||
{AttributeID: attributesMap["special_price"].ID, FloatValue: sizeVariant.Price.DiscountedPrice.Value},
|
||||
{AttributeID: AttributesMap["price"].ID, FloatValue: sizeVariant.Price.OriginalPrice.Value},
|
||||
{AttributeID: AttributesMap["special_price"].ID, FloatValue: sizeVariant.Price.DiscountedPrice.Value},
|
||||
}...)
|
||||
|
||||
flatVariant.Price = sizeVariant.Price.OriginalPrice.Value
|
||||
|
|
@ -361,7 +361,7 @@ func ImportProduct(product models.Product, db *gorm.DB) error {
|
|||
flatVariant.MaxPrice = sizeVariant.Price.OriginalPrice.Value
|
||||
|
||||
} else {
|
||||
attributes = append(attributes, gm.ProductAttributeValue{AttributeID: attributesMap["price"].ID, FloatValue: sizeVariant.Price.OriginalPrice.Value})
|
||||
attributes = append(attributes, gm.ProductAttributeValue{AttributeID: AttributesMap["price"].ID, FloatValue: sizeVariant.Price.OriginalPrice.Value})
|
||||
|
||||
flatVariant.Price = sizeVariant.Price.OriginalPrice.Value
|
||||
flatVariant.MinPrice = sizeVariant.Price.DiscountedPrice.Value
|
||||
|
|
@ -412,9 +412,9 @@ func ImportProduct(product models.Product, db *gorm.DB) error {
|
|||
|
||||
} else {
|
||||
|
||||
colorOption := gm.GetAttributeOption(db, attributesMap["color"].ID, colorVariant.Color)
|
||||
colorOption := gm.GetAttributeOption(db, AttributesMap["color"].ID, colorVariant.Color)
|
||||
attributes, variantFlat := collectAttributes(&colorVariant, &colorOption)
|
||||
attributes = append(attributes, gm.ProductAttributeValue{AttributeID: attributesMap["meta_keywords"].ID, TextValue: keywords, Channel: "default", Locale: "tm"})
|
||||
attributes = append(attributes, gm.ProductAttributeValue{AttributeID: AttributesMap["meta_keywords"].ID, TextValue: keywords, Channel: "default", Locale: "tm"})
|
||||
|
||||
if mainProductFlat.MinPrice > variantFlat.MinPrice || mainProductFlat.MinPrice == 0 {
|
||||
mainProductFlat.MinPrice = variantFlat.MinPrice
|
||||
|
|
@ -467,26 +467,26 @@ func ImportProduct(product models.Product, db *gorm.DB) error {
|
|||
} else if len(product.SizeVariants) > 0 {
|
||||
|
||||
weight, _ := strconv.ParseFloat(product.Weight, 64)
|
||||
colorOption := gm.GetAttributeOption(db, attributesMap["color"].ID, product.Color)
|
||||
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)
|
||||
sizeOption := gm.GetAttributeOption(db, attributesMap["size"].ID, sizeVariant.AttributeValue)
|
||||
sizeOption := gm.GetAttributeOption(db, AttributesMap["size"].ID, sizeVariant.AttributeValue)
|
||||
|
||||
attributes := []gm.ProductAttributeValue{
|
||||
{AttributeID: attributesMap["source"].ID, TextValue: product.URLKey},
|
||||
{AttributeID: attributesMap["favoritesCount"].ID, IntegerValue: product.FavoriteCount},
|
||||
{AttributeID: attributesMap["sku"].ID, TextValue: sku},
|
||||
{AttributeID: attributesMap["product_number"].ID, TextValue: fmt.Sprint(sizeVariant.ItemNumber)},
|
||||
{AttributeID: attributesMap["name"].ID, TextValue: product.Name, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: attributesMap["weight"].ID, TextValue: product.Weight},
|
||||
{AttributeID: attributesMap["status"].ID, BooleanValue: true},
|
||||
//{AttributeID: attributesMap["visible_individually"].ID, BooleanValue: true},
|
||||
{AttributeID: attributesMap["url_key"].ID, TextValue: sku},
|
||||
{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)},
|
||||
{AttributeID: AttributesMap["source"].ID, TextValue: product.URLKey},
|
||||
{AttributeID: AttributesMap["favoritesCount"].ID, IntegerValue: product.FavoriteCount},
|
||||
{AttributeID: AttributesMap["sku"].ID, TextValue: sku},
|
||||
{AttributeID: AttributesMap["product_number"].ID, TextValue: fmt.Sprint(sizeVariant.ItemNumber)},
|
||||
{AttributeID: AttributesMap["name"].ID, TextValue: product.Name, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: AttributesMap["weight"].ID, TextValue: product.Weight},
|
||||
{AttributeID: AttributesMap["status"].ID, BooleanValue: true},
|
||||
//{AttributeID: AttributesMap["visible_individually"].ID, BooleanValue: true},
|
||||
{AttributeID: AttributesMap["url_key"].ID, TextValue: sku},
|
||||
{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{
|
||||
|
|
@ -510,8 +510,8 @@ func ImportProduct(product models.Product, db *gorm.DB) error {
|
|||
|
||||
if sizeVariant.Price.OriginalPrice.Value > sizeVariant.Price.DiscountedPrice.Value {
|
||||
attributes = append(attributes, []gm.ProductAttributeValue{
|
||||
{AttributeID: attributesMap["price"].ID, FloatValue: sizeVariant.Price.OriginalPrice.Value},
|
||||
{AttributeID: attributesMap["special_price"].ID, FloatValue: sizeVariant.Price.DiscountedPrice.Value},
|
||||
{AttributeID: AttributesMap["price"].ID, FloatValue: sizeVariant.Price.OriginalPrice.Value},
|
||||
{AttributeID: AttributesMap["special_price"].ID, FloatValue: sizeVariant.Price.DiscountedPrice.Value},
|
||||
}...)
|
||||
|
||||
flatVariant.Price = sizeVariant.Price.OriginalPrice.Value
|
||||
|
|
@ -520,7 +520,7 @@ func ImportProduct(product models.Product, db *gorm.DB) error {
|
|||
flatVariant.MaxPrice = sizeVariant.Price.OriginalPrice.Value
|
||||
|
||||
} else {
|
||||
attributes = append(attributes, gm.ProductAttributeValue{AttributeID: attributesMap["price"].ID, FloatValue: sizeVariant.Price.OriginalPrice.Value})
|
||||
attributes = append(attributes, gm.ProductAttributeValue{AttributeID: AttributesMap["price"].ID, FloatValue: sizeVariant.Price.OriginalPrice.Value})
|
||||
|
||||
flatVariant.Price = sizeVariant.Price.OriginalPrice.Value
|
||||
flatVariant.MinPrice = sizeVariant.Price.DiscountedPrice.Value
|
||||
|
|
@ -635,23 +635,23 @@ func collectAttributes(variant *models.Product, option *gm.AttributeOption) ([]g
|
|||
}
|
||||
|
||||
attributes := []gm.ProductAttributeValue{
|
||||
{AttributeID: attributesMap["favoritesCount"].ID, IntegerValue: variant.FavoriteCount},
|
||||
{AttributeID: attributesMap["source"].ID, TextValue: variant.URLKey},
|
||||
{AttributeID: attributesMap["sku"].ID, TextValue: sku},
|
||||
{AttributeID: attributesMap["product_number"].ID, TextValue: variant.ProductNumber},
|
||||
{AttributeID: attributesMap["name"].ID, TextValue: variant.Name, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: attributesMap["weight"].ID, TextValue: variant.Weight},
|
||||
{AttributeID: attributesMap["status"].ID, BooleanValue: true},
|
||||
{AttributeID: attributesMap["visible_individually"].ID, BooleanValue: true},
|
||||
{AttributeID: attributesMap["url_key"].ID, TextValue: sku},
|
||||
{AttributeID: AttributesMap["favoritesCount"].ID, IntegerValue: variant.FavoriteCount},
|
||||
{AttributeID: AttributesMap["source"].ID, TextValue: variant.URLKey},
|
||||
{AttributeID: AttributesMap["sku"].ID, TextValue: sku},
|
||||
{AttributeID: AttributesMap["product_number"].ID, TextValue: variant.ProductNumber},
|
||||
{AttributeID: AttributesMap["name"].ID, TextValue: variant.Name, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: AttributesMap["weight"].ID, TextValue: variant.Weight},
|
||||
{AttributeID: AttributesMap["status"].ID, BooleanValue: true},
|
||||
{AttributeID: AttributesMap["visible_individually"].ID, BooleanValue: true},
|
||||
{AttributeID: AttributesMap["url_key"].ID, TextValue: sku},
|
||||
{AttributeID: option.AttributeID, IntegerValue: int(option.ID)},
|
||||
{AttributeID: attributesMap["description"].ID, TextValue: description, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: AttributesMap["description"].ID, TextValue: description, Channel: "default", Locale: "tm"},
|
||||
}
|
||||
|
||||
if variant.Price.OriginalPrice.Value > variant.Price.DiscountedPrice.Value {
|
||||
attributes = append(attributes, []gm.ProductAttributeValue{
|
||||
{AttributeID: attributesMap["price"].ID, FloatValue: variant.Price.OriginalPrice.Value},
|
||||
{AttributeID: attributesMap["special_price"].ID, FloatValue: variant.Price.DiscountedPrice.Value},
|
||||
{AttributeID: AttributesMap["price"].ID, FloatValue: variant.Price.OriginalPrice.Value},
|
||||
{AttributeID: AttributesMap["special_price"].ID, FloatValue: variant.Price.DiscountedPrice.Value},
|
||||
}...)
|
||||
|
||||
flat.Price = variant.Price.OriginalPrice.Value
|
||||
|
|
@ -660,7 +660,7 @@ func collectAttributes(variant *models.Product, option *gm.AttributeOption) ([]g
|
|||
flat.MaxPrice = variant.Price.OriginalPrice.Value
|
||||
|
||||
} else {
|
||||
attributes = append(attributes, gm.ProductAttributeValue{AttributeID: attributesMap["price"].ID, FloatValue: variant.Price.OriginalPrice.Value})
|
||||
attributes = append(attributes, gm.ProductAttributeValue{AttributeID: AttributesMap["price"].ID, FloatValue: variant.Price.OriginalPrice.Value})
|
||||
flat.Price = variant.Price.OriginalPrice.Value
|
||||
flat.MinPrice = variant.Price.DiscountedPrice.Value
|
||||
flat.MaxPrice = variant.Price.OriginalPrice.Value
|
||||
|
|
@ -685,16 +685,16 @@ func prepearAttributesWithFlat(data *models.Product) ([]gm.ProductAttributeValue
|
|||
//$desc = implode(array_map(fn($value): string => '<p>' . $value['description'] . '</p>', $data['descriptions']));
|
||||
|
||||
var productAttributeValues = []gm.ProductAttributeValue{
|
||||
{AttributeID: attributesMap["source"].ID, TextValue: data.URLKey},
|
||||
{AttributeID: attributesMap["favoritesCount"].ID, IntegerValue: data.FavoriteCount},
|
||||
{AttributeID: attributesMap["sku"].ID, TextValue: data.ProductGroupID},
|
||||
{AttributeID: attributesMap["product_number"].ID, TextValue: data.ProductNumber},
|
||||
{AttributeID: attributesMap["name"].ID, TextValue: data.Name, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: attributesMap["weight"].ID, TextValue: data.Weight},
|
||||
{AttributeID: attributesMap["status"].ID, BooleanValue: true},
|
||||
{AttributeID: attributesMap["visible_individually"].ID, BooleanValue: true},
|
||||
{AttributeID: attributesMap["url_key"].ID, TextValue: data.ProductGroupID},
|
||||
{AttributeID: attributesMap["description"].ID, TextValue: description, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: AttributesMap["source"].ID, TextValue: data.URLKey},
|
||||
{AttributeID: AttributesMap["favoritesCount"].ID, IntegerValue: data.FavoriteCount},
|
||||
{AttributeID: AttributesMap["sku"].ID, TextValue: data.ProductGroupID},
|
||||
{AttributeID: AttributesMap["product_number"].ID, TextValue: data.ProductNumber},
|
||||
{AttributeID: AttributesMap["name"].ID, TextValue: data.Name, Channel: "default", Locale: "tm"},
|
||||
{AttributeID: AttributesMap["weight"].ID, TextValue: data.Weight},
|
||||
{AttributeID: AttributesMap["status"].ID, BooleanValue: true},
|
||||
{AttributeID: AttributesMap["visible_individually"].ID, BooleanValue: true},
|
||||
{AttributeID: AttributesMap["url_key"].ID, TextValue: data.ProductGroupID},
|
||||
{AttributeID: AttributesMap["description"].ID, TextValue: description, Channel: "default", Locale: "tm"},
|
||||
}
|
||||
|
||||
flat := gm.ProductFlat{
|
||||
|
|
@ -719,8 +719,8 @@ func prepearAttributesWithFlat(data *models.Product) ([]gm.ProductAttributeValue
|
|||
} else {
|
||||
if data.Price.OriginalPrice.Value > data.Price.DiscountedPrice.Value {
|
||||
productAttributeValues = append(productAttributeValues, []gm.ProductAttributeValue{
|
||||
{AttributeID: attributesMap["price"].ID, FloatValue: data.Price.OriginalPrice.Value},
|
||||
{AttributeID: attributesMap["special_price"].ID, FloatValue: data.Price.DiscountedPrice.Value},
|
||||
{AttributeID: AttributesMap["price"].ID, FloatValue: data.Price.OriginalPrice.Value},
|
||||
{AttributeID: AttributesMap["special_price"].ID, FloatValue: data.Price.DiscountedPrice.Value},
|
||||
}...)
|
||||
|
||||
flat.Price = data.Price.OriginalPrice.Value
|
||||
|
|
@ -729,7 +729,7 @@ func prepearAttributesWithFlat(data *models.Product) ([]gm.ProductAttributeValue
|
|||
flat.MaxPrice = data.Price.OriginalPrice.Value
|
||||
|
||||
} else {
|
||||
productAttributeValues = append(productAttributeValues, gm.ProductAttributeValue{AttributeID: attributesMap["price"].ID, FloatValue: data.Price.OriginalPrice.Value})
|
||||
productAttributeValues = append(productAttributeValues, gm.ProductAttributeValue{AttributeID: AttributesMap["price"].ID, FloatValue: data.Price.OriginalPrice.Value})
|
||||
flat.Price = data.Price.OriginalPrice.Value
|
||||
flat.MinPrice = data.Price.OriginalPrice.Value
|
||||
flat.MaxPrice = data.Price.OriginalPrice.Value
|
||||
|
|
@ -747,8 +747,8 @@ func UpdateProduct(product models.Product, db *gorm.DB, productFlat gm.ProductFl
|
|||
|
||||
if product.Price.OriginalPrice.Value > product.Price.DiscountedPrice.Value {
|
||||
//productAttributeValues = append(productAttributeValues, []gm.ProductAttributeValue{
|
||||
// {AttributeID: attributesMap["price"].ID, FloatValue: data.Price.OriginalPrice.Value},
|
||||
// {AttributeID: attributesMap["special_price"].ID, FloatValue: data.Price.DiscountedPrice.Value},
|
||||
// {AttributeID: AttributesMap["price"].ID, FloatValue: data.Price.OriginalPrice.Value},
|
||||
// {AttributeID: AttributesMap["special_price"].ID, FloatValue: data.Price.DiscountedPrice.Value},
|
||||
//}...)
|
||||
if productFlat.Price != product.Price.OriginalPrice.Value {
|
||||
productFlat.Price = product.Price.OriginalPrice.Value
|
||||
|
|
@ -821,13 +821,13 @@ func UpdateProduct(product models.Product, db *gorm.DB, productFlat gm.ProductFl
|
|||
// FavoritesCount: uint(data.FavoriteCount),
|
||||
// }
|
||||
// return []gm.ProductAttributeValue{
|
||||
// {AttributeID: attributesMap["favoritesCount"].ID, IntegerValue: data.FavoriteCount},
|
||||
// {AttributeID: attributesMap["source"].ID, TextValue: data.URLKey},
|
||||
// {AttributeID: attributesMap["product_number"].ID, TextValue: data.ProductNumber},
|
||||
// {AttributeID: attributesMap["name"].ID, TextValue: data.Name, Channel: "default", Locale: "tm"},
|
||||
// {AttributeID: attributesMap["weight"].ID, TextValue: data.Weight},
|
||||
// {AttributeID: attributesMap["status"].ID, BooleanValue: true},
|
||||
// {AttributeID: attributesMap["visible_individually"].ID, BooleanValue: true},
|
||||
// {AttributeID: attributesMap["description"].ID, TextValue: description, Channel: "default", Locale: "tm"},
|
||||
// {AttributeID: AttributesMap["favoritesCount"].ID, IntegerValue: data.FavoriteCount},
|
||||
// {AttributeID: AttributesMap["source"].ID, TextValue: data.URLKey},
|
||||
// {AttributeID: AttributesMap["product_number"].ID, TextValue: data.ProductNumber},
|
||||
// {AttributeID: AttributesMap["name"].ID, TextValue: data.Name, Channel: "default", Locale: "tm"},
|
||||
// {AttributeID: AttributesMap["weight"].ID, TextValue: data.Weight},
|
||||
// {AttributeID: AttributesMap["status"].ID, BooleanValue: true},
|
||||
// {AttributeID: AttributesMap["visible_individually"].ID, BooleanValue: true},
|
||||
// {AttributeID: AttributesMap["description"].ID, TextValue: description, Channel: "default", Locale: "tm"},
|
||||
// },flat
|
||||
//}
|
||||
|
|
|
|||
|
|
@ -58,6 +58,20 @@ func ParseLink(w http.ResponseWriter, route *http.Request) {
|
|||
|
||||
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
helper.Error(err)
|
||||
|
||||
if len(AttributesMap) == 0 {
|
||||
var attributes, err = gm.GetAttributes(baza)
|
||||
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
for _, atrattribute := range attributes {
|
||||
AttributesMap[atrattribute.Code] = atrattribute
|
||||
}
|
||||
}
|
||||
|
||||
err = ImportProduct(jsonProduct, baza)
|
||||
} else if err == nil {
|
||||
err = UpdateProduct(jsonProduct, baza, productFlat)
|
||||
|
|
|
|||
Loading…
Reference in New Issue