diff --git a/business/model/dao/store_sku.go b/business/model/dao/store_sku.go index 05ea5016b..2d8a62b83 100644 --- a/business/model/dao/store_sku.go +++ b/business/model/dao/store_sku.go @@ -269,6 +269,7 @@ func GetFullStoreSkus(db *DaoDB, vendorID, storeID int) (skus []*StoreSkuSyncInf return skus, err } +// 这个函数之前是要设置没有删除或同步标志不为0的,会导致将同步标志不为0且删除了的把标志去掉,现在改为只设置没有删除的 func SetStoreSkuSyncStatus(db *DaoDB, vendorID int, storeIDs []int, skuIDs []int, syncStatus int) (num int64, err error) { globals.SugarLogger.Debugf("SetStoreSkuSyncStatus, storeIDs:%v, vendorID:%d", storeIDs, vendorID) @@ -276,14 +277,13 @@ func SetStoreSkuSyncStatus(db *DaoDB, vendorID int, storeIDs []int, skuIDs []int fieldPrefix := ConvertDBFieldPrefix(model.VendorNames[vendorID]) sql := ` UPDATE store_sku_bind t1 - SET t1.%s_sync_status = IF(t1.deleted_at = ?, t1.%s_sync_status | ?, 0) + SET t1.%s_sync_status = t1.%s_sync_status | ? ` fmtParams := []interface{}{ fieldPrefix, fieldPrefix, } sqlParams := []interface{}{ - utils.DefaultTimeValue, syncStatus, } if isSingleStorePF && (syncStatus&model.SyncFlagNewMask) != 0 { @@ -292,8 +292,8 @@ func SetStoreSkuSyncStatus(db *DaoDB, vendorID int, storeIDs []int, skuIDs []int ` fmtParams = append(fmtParams, fieldPrefix) } - sql += " WHERE (t1.deleted_at = ? OR t1.%s_sync_status <> 0)" - fmtParams = append(fmtParams, fieldPrefix) + sql += " WHERE (t1.deleted_at = ?)" + // fmtParams = append(fmtParams, fieldPrefix) sqlParams = append(sqlParams, utils.DefaultTimeValue) if len(storeIDs) > 0 { sql += " AND t1.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"