fix sizevariants
This commit is contained in:
parent
132288d6d8
commit
5600ae746f
|
|
@ -204,11 +204,23 @@ func (importer *Importer) importVariant(product models.Product) (*gm.Product, er
|
||||||
if productRepo.HasSizeVariants() {
|
if productRepo.HasSizeVariants() {
|
||||||
var sizeVariants []gm.ProductFlat
|
var sizeVariants []gm.ProductFlat
|
||||||
for index, variant := range *product.SizeVariants {
|
for index, variant := range *product.SizeVariants {
|
||||||
if !variant.Sellable {
|
|
||||||
continue
|
sku := fmt.Sprintf("%s-%d", product.ProductNumber, variant.ItemNumber)
|
||||||
}
|
//todo finde variant first if not exists create
|
||||||
|
var variantFlat gm.ProductFlat
|
||||||
|
err := tx.Preload("Product").Preload("Variants").First(&variantFlat, "sku = ?", sku).Error
|
||||||
savePoint := "size" + strconv.Itoa(index)
|
savePoint := "size" + strconv.Itoa(index)
|
||||||
tx.SavePoint(savePoint)
|
tx.SavePoint(savePoint)
|
||||||
|
if err == nil {
|
||||||
|
tx.Model(&variantFlat).Updates(map[string]interface{}{"status": variant.Sellable, "parent_id": mainFlat.ID})
|
||||||
|
tx.Model(&gm.ProductAttributeValue{}).Where("attribute_id=8 AND product_id=?", variantFlat.ProductID).Update("boolean_value", variant.Sellable)
|
||||||
|
tx.Model(&variantFlat.Product).Update("parent_id", mainPorduct.ID)
|
||||||
|
|
||||||
|
if variant.Sellable {
|
||||||
|
importer.updatePrice(variant.Price, &variantFlat)
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
var sizeOPtion gm.AttributeOption
|
var sizeOPtion gm.AttributeOption
|
||||||
|
|
||||||
|
|
@ -218,8 +230,6 @@ func (importer *Importer) importVariant(product models.Product) (*gm.Product, er
|
||||||
sizeOPtion = gm.GetAttributeOption(tx, importer.AttributesMap["boyut"].ID, variant.AttributeValue)
|
sizeOPtion = gm.GetAttributeOption(tx, importer.AttributesMap["boyut"].ID, variant.AttributeValue)
|
||||||
}
|
}
|
||||||
|
|
||||||
sku := fmt.Sprintf("%s-%d", product.ProductNumber, variant.ItemNumber)
|
|
||||||
|
|
||||||
variantProduct := productRepo.makeVariant(mainPorduct.ID, mainPorduct.AttributeFamilyID, sku)
|
variantProduct := productRepo.makeVariant(mainPorduct.ID, mainPorduct.AttributeFamilyID, sku)
|
||||||
|
|
||||||
variantProduct.AttributeValues = productRepo.getVariantAttributes(importer.AttributesMap, &variant, sizeOPtion.ID)
|
variantProduct.AttributeValues = productRepo.getVariantAttributes(importer.AttributesMap, &variant, sizeOPtion.ID)
|
||||||
|
|
@ -230,7 +240,7 @@ func (importer *Importer) importVariant(product models.Product) (*gm.Product, er
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
variantFlat := productRepo.makeVariantFlat(variant, sizeOPtion.ID, mainFlat.ID, variantProduct.ID)
|
variantFlat = productRepo.makeVariantFlat(variant, sizeOPtion.ID, mainFlat.ID, variantProduct.ID)
|
||||||
|
|
||||||
if err := tx.Create(&variantFlat).Error; err != nil {
|
if err := tx.Create(&variantFlat).Error; err != nil {
|
||||||
log.Println("Variant Flat Create Error: " + err.Error())
|
log.Println("Variant Flat Create Error: " + err.Error())
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue