This commit is contained in:
merdan 2022-09-01 16:16:43 +05:00
parent 3f188c9be9
commit 8cf3adbf74
2 changed files with 207 additions and 210 deletions

View File

@ -247,11 +247,8 @@ func importProduct(product models.Product, db *gorm.DB) {
return
}
if iproduct.Type == "configurable" {
var productFlatVariants []gm.ProductFlat
if len(product.ColorVariants) > 0 {
product.ColorVariants = append(product.ColorVariants, product)
for _, colorVariant := range product.ColorVariants {
weight, _ := strconv.ParseFloat(colorVariant.Weight, 64)
@ -367,9 +364,10 @@ func importProduct(product models.Product, db *gorm.DB) {
return
}
productFlatVariants = append(productFlatVariants, flatVariant)
mainProductFlat.Variants = append(mainProductFlat.Variants, flatVariant)
}
} else {
colorOption := gm.GetAttributeOption(db, attributesMap["color"].ID, colorVariant.Color)
@ -420,13 +418,12 @@ func importProduct(product models.Product, db *gorm.DB) {
return
}
productFlatVariants = append(productFlatVariants, variantFlat)
mainProductFlat.Variants = append(mainProductFlat.Variants, variantFlat)
}
}
}
if len(product.SizeVariants) > 0 {
} else if len(product.SizeVariants) > 0 {
weight, _ := strconv.ParseFloat(product.Weight, 64)
@ -503,6 +500,7 @@ func importProduct(product models.Product, db *gorm.DB) {
AttributeValues: attributes,
AttributeFamilyID: iproduct.AttributeFamilyID,
Categories: categories,
Images: iproduct.Images,
}
errSizeVar := db.Omit("Categories.*").Create(&sizeVariantProduct).Error
@ -521,19 +519,17 @@ func importProduct(product models.Product, db *gorm.DB) {
return
}
productFlatVariants = append(productFlatVariants, flatVariant)
mainProductFlat.Variants = append(mainProductFlat.Variants, flatVariant)
}
}
errFlat := db.Omit("ParentID", "CreatedAt").Save(&mainProductFlat)
errFlat := db.Omit("ParentID", "CreatedAt", "Variants").Save(&mainProductFlat)
if errFlat != nil {
log.Println(errFlat)
}
mainProductFlat.Variants = productFlatVariants
}
sProduct := createSellerProduct(&mainProductFlat, product.Vendor)
//todo seller product, meta keys

View File

@ -10,6 +10,7 @@ type AttributeOption struct {
ID uint `gorm:"primaryKey"`
AttributeID uint
AdminName string
Position int
}
type Attribute struct {