diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index b1f4f670f..c257c8c23 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -453,9 +453,6 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID, toStoreID int, copyMode if copyMode != CopyStoreSkuModeFresh && copyMode != CopyStoreSkuModeUpdate { return 0, fmt.Errorf("不支持的拷贝模式:%s", copyMode) } - if fromStoreID == toStoreID { - return 0, fmt.Errorf("源门店:%d与目标门店:%d相同", fromStoreID, toStoreID) - } db := dao.GetDB() if err = checkStoreExisting(db, fromStoreID); err != nil { @@ -492,6 +489,36 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID, toStoreID int, copyMode pricePercentage = params["pricePercentage"].(int) } + now := time.Now() + if fromStoreID == toStoreID { + // return 0, fmt.Errorf("源门店:%d与目标门店:%d相同", fromStoreID, toStoreID) + sql := ` + UPDATE store_sku_bind t1 + SET t1.last_operator = ?, + t1.updated_at = ?, + t1.price = t1.price * ? / 100, + t1.unit_price = t1.unit_price * ? / 100, + t1.jd_sync_status = ?, + t1.elm_sync_status = ?, + t1.ebai_sync_status = ? + WHERE t1.store_id = ? AND t1.deleted_at = ? + ` + sqlParams := []interface{}{ + userName, + now, + pricePercentage, + pricePercentage, + model.SyncFlagNewMask, + model.SyncFlagNewMask, + model.SyncFlagNewMask, + toStoreID, + utils.DefaultTimeValue, + } + sql += sqlCatAndSku + sqlParams = append(sqlParams, sqlCatAndSkuParams) + num, err = dao.ExecuteSQL(db, sql, sqlParams) + return num, err + } dao.Begin(db) defer func() { dao.Rollback(db) @@ -499,7 +526,6 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID, toStoreID int, copyMode panic(r) } }() - now := time.Now() if copyMode == CopyStoreSkuModeFresh || copyMode == CopyStoreSkuModeUpdate { sqlDelete := ` UPDATE store_sku_bind t1 @@ -548,6 +574,7 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID, toStoreID int, copyMode JOIN sku_name t3 ON t2.name_id = t3.id AND t3.deleted_at = ? JOIN sku_category t4 ON t3.category_id = t4.id AND t4.deleted_at = ? SET t1.last_operator = ?, + t1.updated_at = ?, t1.deleted_at = ?, t1.sub_store_id = 0, t1.price = t0.price * ? / 100, @@ -565,6 +592,7 @@ func CopyStoreSkus(ctx *jxcontext.Context, fromStoreID, toStoreID int, copyMode utils.DefaultTimeValue, utils.DefaultTimeValue, userName, + now, utils.DefaultTimeValue, pricePercentage, pricePercentage,