From e81411cbbcbf398938486d267dfe7e2d38b4e0c7 Mon Sep 17 00:00:00 2001 From: QiuSW <105186638@qq.com> Date: Mon, 14 Sep 2026 10:32:58 +0800 Subject: [PATCH] fix: upsert repeated shopee sync tasks --- app/admin/apis/shopee_product.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/admin/apis/shopee_product.go b/app/admin/apis/shopee_product.go index 8951355..e6b63d2 100644 --- a/app/admin/apis/shopee_product.go +++ b/app/admin/apis/shopee_product.go @@ -110,7 +110,20 @@ func (e ShopeeProduct) SyncByShopeeID(c *gin.Context) { e.Error(500, err, "同步任务初始化失败") return } - if err := db.Create(&row).Error; err != nil { + var existing models.ShopeeSyncTask + if err := db.Where("task_id = ?", task.TaskID).First(&existing).Error; err == nil { + row.Id = existing.Id + row.CreatedAt = existing.CreatedAt + if err := db.Save(&row).Error; err != nil { + e.Error(500, err, "保存同步任务失败") + return + } + } else if errors.Is(err, gorm.ErrRecordNotFound) { + if err := db.Create(&row).Error; err != nil { + e.Error(500, err, "保存同步任务失败") + return + } + } else { e.Error(500, err, "保存同步任务失败") return }