This commit is contained in:
merdan 2022-09-01 13:54:46 +05:00
parent 5d06894b5d
commit 05aa438dd3
1 changed files with 30 additions and 17 deletions

View File

@ -280,10 +280,10 @@ func importProduct(product models.Product, db *gorm.DB) {
{AttributeID: attributesMap["name"].ID, TextValue: colorVariant.Name, Channel: "default", Locale: "tm"},
{AttributeID: attributesMap["weight"].ID, TextValue: colorVariant.Weight, Channel: "default", Locale: "tm"},
{AttributeID: attributesMap["status"].ID, BooleanValue: true, Channel: "default", Locale: "tm"},
{AttributeID: attributesMap["visible_individually"].ID, BooleanValue: true, Channel: "default", Locale: "tm"},
//{AttributeID: attributesMap["visible_individually"].ID, BooleanValue: true, Channel: "default", Locale: "tm"},
{AttributeID: attributesMap["url_key"].ID, TextValue: sku, Channel: "default", Locale: "tm"},
{AttributeID: attributesMap["meta_keywords"].ID, TextValue: keywords, Channel: "default", Locale: "tm"},
{AttributeID: attributesMap["description"].ID, TextValue: description, Channel: "default", Locale: "tm"},
//{AttributeID: attributesMap["description"].ID, TextValue: description, Channel: "default", Locale: "tm"},
{
AttributeID: attributesMap["color"].ID,
IntegerValue: int(colorOption.ID),
@ -302,13 +302,13 @@ func importProduct(product models.Product, db *gorm.DB) {
//ProductID: productVariant.ID,
BrandID: mainProductFlat.BrandID,
Status: true,
VisibleIndividually: true,
VisibleIndividually: false,
Name: colorVariant.Name,
Sku: sku,
ProductNumber: productNumber,
Description: description,
UrlKey: sku,
Weight: weight,
//Description: description,
UrlKey: sku,
Weight: weight,
// Source: colorVariant.URLKey,
FavoritesCount: uint(colorVariant.FavoriteCount),
Color: int(colorOption.ID),
@ -459,7 +459,7 @@ func importProduct(product models.Product, db *gorm.DB) {
{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["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)},
@ -469,7 +469,7 @@ func importProduct(product models.Product, db *gorm.DB) {
flatVariant := gm.ProductFlat{
Status: true,
VisibleIndividually: true,
VisibleIndividually: false,
Name: product.Name,
Sku: sku,
ProductNumber: fmt.Sprint(sizeVariant.ItemNumber),
@ -478,15 +478,7 @@ func importProduct(product models.Product, db *gorm.DB) {
Size: int(sizeOption.ID),
SizeLabel: sizeOption.AdminName,
MetaKeywords: keywords,
Product: gm.Product{
ParentID: mainProductFlat.ProductID,
Type: "simple",
Sku: sku,
BrandID: mainProductFlat.BrandID,
AttributeValues: attributes,
AttributeFamilyID: iproduct.AttributeFamilyID,
Categories: categories,
},
// Source: product.URLKey,
FavoritesCount: uint(product.FavoriteCount),
ParentID: mainProductFlat.ID,
@ -518,6 +510,26 @@ func importProduct(product models.Product, db *gorm.DB) {
if mainProductFlat.MaxPrice < flatVariant.MaxPrice {
mainProductFlat.MaxPrice = flatVariant.MaxPrice
}
sizeVariantProduct := gm.Product{
ParentID: mainProductFlat.ProductID,
Type: "simple",
Sku: sku,
BrandID: mainProductFlat.BrandID,
AttributeValues: attributes,
AttributeFamilyID: iproduct.AttributeFamilyID,
Categories: categories,
}
errSizeVar := db.Omit("Categories.*").Create(&sizeVariantProduct).Error
if errSizeVar != nil {
log.Println(errSizeVar)
return
}
flatVariant.ProductID = sizeVariantProduct.ID
errVariant := db.Omit("Product.Categories.*").Create(&flatVariant).Error
if errVariant != nil {
@ -592,6 +604,7 @@ func collectAttributes(variant *models.Product, option *gm.AttributeOption) ([]g
Weight: weight,
//Source: variant.URLKey,
FavoritesCount: uint(variant.FavoriteCount),
Description: description,
}
attributes := []gm.ProductAttributeValue{