link parse fx4
This commit is contained in:
parent
dcf5f5c73c
commit
247ad16440
|
|
@ -735,6 +735,66 @@ func prepearAttributesWithFlat(data *models.Product) ([]gm.ProductAttributeValue
|
||||||
return productAttributeValues, flat
|
return productAttributeValues, flat
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func UpdateProduct(product models.Product, db *gorm.DB, productFlat gm.ProductFlat) error {
|
||||||
|
|
||||||
|
productFlat.Status = true
|
||||||
|
|
||||||
|
if len(product.ColorVariants) == 0 && len(product.SizeVariants) == 0 {
|
||||||
|
|
||||||
|
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},
|
||||||
|
//}...)
|
||||||
|
if productFlat.Price != product.Price.OriginalPrice.Value {
|
||||||
|
productFlat.Price = product.Price.OriginalPrice.Value
|
||||||
|
productFlat.MaxPrice = product.Price.OriginalPrice.Value
|
||||||
|
//db.Model(&User{}).Where("active = ?", true).Update("name", "hello")
|
||||||
|
err := db.Model(gm.ProductAttributeValue{}).
|
||||||
|
Where("attribute_id = ? AND product_id = ?", 11, productFlat.ProductID).
|
||||||
|
Update("float_value", product.Price.OriginalPrice.Value).Error
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if productFlat.SpecialPrice != product.Price.DiscountedPrice.Value {
|
||||||
|
|
||||||
|
productFlat.SpecialPrice = product.Price.DiscountedPrice.Value
|
||||||
|
productFlat.MinPrice = product.Price.DiscountedPrice.Value
|
||||||
|
err := db.Model(gm.ProductAttributeValue{}).
|
||||||
|
Where("attribute_id = ? AND product_id = ?", 13, productFlat.ProductID).
|
||||||
|
Update("float_value", product.Price.OriginalPrice.Value).Error
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if productFlat.Price != product.Price.OriginalPrice.Value {
|
||||||
|
productFlat.Price = product.Price.OriginalPrice.Value
|
||||||
|
productFlat.MaxPrice = product.Price.OriginalPrice.Value
|
||||||
|
productFlat.MinPrice = product.Price.OriginalPrice.Value
|
||||||
|
|
||||||
|
err := db.Model(gm.ProductAttributeValue{}).
|
||||||
|
Where("attribute_id = ? AND product_id = ?", 11, productFlat.ProductID).
|
||||||
|
Update("float_value", product.Price.OriginalPrice.Value).Error
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
errFlat := baza.Omit("Product", "ParentID", "CreatedAt").Save(&productFlat).Error
|
||||||
|
|
||||||
|
return errFlat
|
||||||
|
}
|
||||||
|
|
||||||
//func productAttributesAndFlat(data *models.Product) ([]gm.ProductAttributeValue,gm.ProductFlat){
|
//func productAttributesAndFlat(data *models.Product) ([]gm.ProductAttributeValue,gm.ProductFlat){
|
||||||
//
|
//
|
||||||
// var description string
|
// var description string
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package controller
|
package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
gm "db_service/gorm_models"
|
||||||
helper "db_service/pkg"
|
helper "db_service/pkg"
|
||||||
"db_service/repositories"
|
"db_service/repositories"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
|
@ -48,7 +49,23 @@ func ParseLink(w http.ResponseWriter, route *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err = ImportProduct(jsonProduct, baza)
|
var productFlat gm.ProductFlat
|
||||||
|
|
||||||
|
err = baza.Preload("Variants").
|
||||||
|
//Preload("Product").
|
||||||
|
//Preload("Proudct.AttributeValues","attribute_id in(11,13)").
|
||||||
|
First(&productFlat, "sku = ?", jsonProduct.ProductGroupID).Error
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
helper.Error(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if productFlat.Sku == "" {
|
||||||
|
err = ImportProduct(jsonProduct, baza)
|
||||||
|
} else {
|
||||||
|
err = UpdateProduct(jsonProduct, baza, productFlat)
|
||||||
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
helper.Error(err)
|
helper.Error(err)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue