- dao.SetStoreSkuSyncStatus中这个函数之前是要设置没有删除或同步标志不为0的,会导致将同步标志不为0且删除了的把标志去掉,现在改为只设置没有删除的

This commit is contained in:
gazebo
2019-06-12 15:00:54 +08:00
parent bc20692e6a
commit 2df049098d

View File

@@ -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)) + ")"