price fix

This commit is contained in:
merdan 2022-09-20 15:55:04 +05:00
parent 80d84f64aa
commit 0023f495a1
1 changed files with 24 additions and 23 deletions

View File

@ -361,11 +361,11 @@ 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.DiscountedPrice.Value})
flatVariant.Price = sizeVariant.Price.OriginalPrice.Value
flatVariant.Price = sizeVariant.Price.DiscountedPrice.Value
flatVariant.MinPrice = sizeVariant.Price.DiscountedPrice.Value
flatVariant.MaxPrice = sizeVariant.Price.OriginalPrice.Value
flatVariant.MaxPrice = sizeVariant.Price.DiscountedPrice.Value
}
if mainProductFlat.MinPrice > flatVariant.MinPrice || mainProductFlat.MinPrice == 0 {
@ -520,11 +520,11 @@ 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.DiscountedPrice.Value})
flatVariant.Price = sizeVariant.Price.OriginalPrice.Value
flatVariant.Price = sizeVariant.Price.DiscountedPrice.Value
flatVariant.MinPrice = sizeVariant.Price.DiscountedPrice.Value
flatVariant.MaxPrice = sizeVariant.Price.OriginalPrice.Value
flatVariant.MaxPrice = sizeVariant.Price.DiscountedPrice.Value
}
if mainProductFlat.MinPrice > flatVariant.MinPrice || mainProductFlat.MinPrice == 0 {
@ -626,8 +626,8 @@ func collectAttributes(variant *models.Product, option *gm.AttributeOption) ([]g
for _, desc := range variant.Descriptions {
description += "<p>" + desc.Description + "</p>"
}
flat := gm.ProductFlat{
flat := gm.ProductFlat{
Status: true,
VisibleIndividually: true,
Name: variant.Name,
@ -635,9 +635,10 @@ func collectAttributes(variant *models.Product, option *gm.AttributeOption) ([]g
ProductNumber: variant.ProductNumber,
UrlKey: sku,
Weight: weight,
//Source: variant.URLKey,
FavoritesCount: uint(variant.FavoriteCount),
Description: description,
FavoritesCount: uint(variant.FavoriteCount),
Description: description,
MinPrice: 0,
MaxPrice: 0,
}
attributes := []gm.ProductAttributeValue{
@ -666,10 +667,10 @@ 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})
flat.Price = variant.Price.OriginalPrice.Value
attributes = append(attributes, gm.ProductAttributeValue{AttributeID: AttributesMap["price"].ID, FloatValue: variant.Price.DiscountedPrice.Value})
flat.Price = variant.Price.DiscountedPrice.Value
flat.MinPrice = variant.Price.DiscountedPrice.Value
flat.MaxPrice = variant.Price.OriginalPrice.Value
flat.MaxPrice = variant.Price.DiscountedPrice.Value
}
return attributes, flat
@ -715,14 +716,13 @@ func prepearAttributesWithFlat(data *models.Product) ([]gm.ProductAttributeValue
Weight: weight,
//Source: data.URLKey,
FavoritesCount: uint(data.FavoriteCount),
MaxPrice: 0,
MinPrice: 0,
Price: 0,
}
if len(data.ColorVariants) != 0 || len(data.SizeVariants) != 0 {
flat.Price = 0
flat.SpecialPrice = 0
flat.MinPrice = 0
flat.MaxPrice = 0
} else {
if len(data.ColorVariants) == 0 && len(data.SizeVariants) != 0 {
if data.Price.OriginalPrice.Value > data.Price.DiscountedPrice.Value {
productAttributeValues = append(productAttributeValues, []gm.ProductAttributeValue{
{AttributeID: AttributesMap["price"].ID, FloatValue: data.Price.OriginalPrice.Value},
@ -735,10 +735,10 @@ 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})
flat.Price = data.Price.OriginalPrice.Value
flat.MinPrice = data.Price.OriginalPrice.Value
flat.MaxPrice = data.Price.OriginalPrice.Value
productAttributeValues = append(productAttributeValues, gm.ProductAttributeValue{AttributeID: AttributesMap["price"].ID, FloatValue: data.Price.DiscountedPrice.Value})
flat.Price = data.Price.DiscountedPrice.Value
flat.MinPrice = data.Price.DiscountedPrice.Value
flat.MaxPrice = data.Price.DiscountedPrice.Value
}
}
@ -797,6 +797,7 @@ func UpdateProduct(product models.Product, db *gorm.DB, productFlat gm.ProductFl
}
}
} else {
//todo update configurable product
}