From 3693589d66864d3b5a3a0a879138c6538b591ccc Mon Sep 17 00:00:00 2001 From: merdan Date: Wed, 21 Sep 2022 14:47:58 +0500 Subject: [PATCH] seller id deadlock and delete elapsed time --- controllers/ImportController.go | 8 ++++++-- gorm_models/product.go | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/controllers/ImportController.go b/controllers/ImportController.go index 63068ea..410dc92 100644 --- a/controllers/ImportController.go +++ b/controllers/ImportController.go @@ -592,11 +592,15 @@ func ImportProduct(product models.Product, db *gorm.DB) error { } - errFlat := db.Omit("ParentID", "CreatedAt", "Variants").Save(&mainProductFlat) + var errFlat error + if mainProductFlat.SpecialPrice != 0 { + errFlat = db.Omit("ParentID", "CreatedAt", "Variants").Save(&mainProductFlat).Error + } else { + errFlat = db.Omit("ParentID", "CreatedAt", "Variants", "SpecialPrice").Save(&mainProductFlat).Error + } if errFlat != nil { log.Println(errFlat) - } sProduct := createSellerProduct(&mainProductFlat, product.Vendor) diff --git a/gorm_models/product.go b/gorm_models/product.go index 2ec2bcc..1cea3b5 100644 --- a/gorm_models/product.go +++ b/gorm_models/product.go @@ -98,7 +98,7 @@ func DeleteProducts(db *gorm.DB) error { ctx, cancel := context.WithTimeout(context.Background(), 10*time.Minute) defer cancel() //qb := "DELETE FROM products WHERE id NOT IN (select product_id as id from wishlist) AND id NOT IN (select product_id as id from order_items) AND id NOT IN (select parent_id as idfrom order_items);" - qb := "DELETE p FROM products p LEFT JOIN wishlist w on p.id = w.product_id LEFT JOIN order_items oi ON p.id = oi.product_id LEFT JOIN order_items op ON p.id = op.parent_id WHERE w.id IS NULL AND oi.id IS NULL AND op.id IS NULL;" + qb := "DELETE p FROM products p LEFT JOIN order_items oi ON p.id = oi.product_id LEFT JOIN order_items op ON p.id = op.parent_id WHERE oi.id IS NULL AND op.id IS NULL;" return db.WithContext(ctx).Exec(qb).Error }