- CopyStoreSkus support fromStore and toStore are same.

This commit is contained in:
gazebo
2018-11-01 01:29:30 +08:00
parent 65cfc85911
commit 1ad4df80d2

View File

@@ -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,