product update first test
This commit is contained in:
parent
4201c053fb
commit
d0e4ab8a4d
12
main.go
12
main.go
|
|
@ -110,15 +110,13 @@ func worker(db *gorm.DB, stopCh <-chan struct{}, updatePeriod time.Duration) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Printf("Product %d updated: %+v\n", product.ID, jsonProduct)
|
|
||||||
// Update the product in the database
|
// Update the product in the database
|
||||||
//if err := importer.UpdateOrCreate(jsonProduct).Error; err != nil {
|
if err := importer.UpdateOrCreate(jsonProduct).Error; err != nil {
|
||||||
// log.Println("Error decoding product information:", err)
|
log.Println("Error updateing product information:", err)
|
||||||
// continue
|
}
|
||||||
//}
|
|
||||||
//
|
|
||||||
//log.Printf("Product %d updated: %+v\n", product.ID, product)
|
|
||||||
}
|
}
|
||||||
|
log.Printf("%d Products updated", len(result))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import (
|
||||||
"log"
|
"log"
|
||||||
"math"
|
"math"
|
||||||
gm "sarga_updater/bagisto_models"
|
gm "sarga_updater/bagisto_models"
|
||||||
helper "sarga_updater/helpers"
|
|
||||||
models "sarga_updater/trendyol_models"
|
models "sarga_updater/trendyol_models"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
@ -383,6 +382,24 @@ func (importer *Importer) GetSexOption(optionName string) gm.AttributeOption {
|
||||||
importer.SexMutex.Unlock()
|
importer.SexMutex.Unlock()
|
||||||
return option
|
return option
|
||||||
}
|
}
|
||||||
|
func (importer *Importer) disableVariant(product models.Product) (instance *Importer) {
|
||||||
|
var flat gm.ProductFlat
|
||||||
|
importer.Error = importer.Baza.Preload("Product").Preload("Variants").
|
||||||
|
First(&flat, "sku = ?", product.ProductNumber).Error
|
||||||
|
|
||||||
|
if importer.Error != nil {
|
||||||
|
return importer
|
||||||
|
}
|
||||||
|
|
||||||
|
importer.Error = importer.Baza.Model(&flat).Update("status", false).Error
|
||||||
|
|
||||||
|
importer.Error = importer.Baza.Model(&gm.ProductAttributeValue{}).
|
||||||
|
Where("attribute_id=8 AND product_id=?", flat.ProductID).
|
||||||
|
Update("boolean_value", false).Error
|
||||||
|
|
||||||
|
return importer
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
func (importer *Importer) updateVariant(product models.Product) (*gm.Product, error) {
|
func (importer *Importer) updateVariant(product models.Product) (*gm.Product, error) {
|
||||||
|
|
||||||
|
|
@ -414,6 +431,7 @@ func (importer *Importer) updateVariant(product models.Product) (*gm.Product, er
|
||||||
|
|
||||||
if !variant.Sellable {
|
if !variant.Sellable {
|
||||||
importer.Baza.Model(&flatVariant).Update("status", false)
|
importer.Baza.Model(&flatVariant).Update("status", false)
|
||||||
|
importer.Baza.Model(&gm.ProductAttributeValue{}).Where("attribute_id=8 AND product_id=?", flatVariant.ProductID).Update("boolean_value", false)
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
importer.updatePrice(variant.Price, &flatVariant)
|
importer.updatePrice(variant.Price, &flatVariant)
|
||||||
|
|
@ -421,6 +439,7 @@ func (importer *Importer) updateVariant(product models.Product) (*gm.Product, er
|
||||||
if !flatVariant.Status {
|
if !flatVariant.Status {
|
||||||
|
|
||||||
importer.Baza.Model(&flatVariant).Update("status", true)
|
importer.Baza.Model(&flatVariant).Update("status", true)
|
||||||
|
importer.Baza.Model(&gm.ProductAttributeValue{}).Where("attribute_id=8 AND product_id=?", flatVariant.ProductID).Update("boolean_value", true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
found = true
|
found = true
|
||||||
|
|
@ -773,16 +792,15 @@ func (importer *Importer) UpdateOrCreateLCW(product models.Product) (instance *I
|
||||||
|
|
||||||
func (importer *Importer) UpdateOrCreate(product models.Product) (instance *Importer) {
|
func (importer *Importer) UpdateOrCreate(product models.Product) (instance *Importer) {
|
||||||
|
|
||||||
|
if !product.IsSellable {
|
||||||
|
return importer.disableVariant(product)
|
||||||
|
}
|
||||||
|
|
||||||
firstProduct, err := importer.updateVariant(product)
|
firstProduct, err := importer.updateVariant(product)
|
||||||
var newProducts []gm.Product
|
var newProducts []gm.Product
|
||||||
if err != nil {
|
if err != nil {
|
||||||
helper.Error(err)
|
importer.Error = err
|
||||||
|
return importer
|
||||||
firstProduct, importer.Error = importer.updateVariant(product)
|
|
||||||
|
|
||||||
if importer.Error != nil {
|
|
||||||
return importer
|
|
||||||
}
|
|
||||||
} else if &firstProduct != nil {
|
} else if &firstProduct != nil {
|
||||||
newProducts = append(newProducts, *firstProduct)
|
newProducts = append(newProducts, *firstProduct)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue