优化修改价格包时,更新门店商品同步状态的速度

This commit is contained in:
gazebo
2019-11-04 17:06:31 +08:00
parent a09e3379f3
commit 99868cd068
2 changed files with 15 additions and 8 deletions

View File

@@ -348,13 +348,20 @@ func UpdateConfig(ctx *jxcontext.Context, key, configType, value string) (hint s
return "", err return "", err
} }
dao.Commit(db) dao.Commit(db)
vendorStoreMap := make(map[int][]int)
for _, v := range storeMapList { for _, v := range storeMapList {
if _, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, &model.StoreSkuBind{}, nil, ctx.GetUserName(), map[string]interface{}{ vendorStoreMap[v.VendorID] = append(vendorStoreMap[v.VendorID], v.StoreID)
model.FieldStoreID: v.StoreID,
}, dao.GetSyncStatusStructField(model.VendorNames[v.VendorID]), model.SyncFlagPriceMask); err != nil {
return "", err
}
} }
for vendorID, storeIDs := range vendorStoreMap {
dao.SetStoreSkuSyncStatus(db, vendorID, storeIDs, nil, model.SyncFlagPriceMask)
}
// for _, v := range storeMapList {
// if _, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, &model.StoreSkuBind{}, nil, ctx.GetUserName(), map[string]interface{}{
// model.FieldStoreID: v.StoreID,
// }, dao.GetSyncStatusStructField(model.VendorNames[v.VendorID]), model.SyncFlagPriceMask); err != nil {
// return "", err
// }
// }
case model.ConfigTypeFreightPack: case model.ConfigTypeFreightPack:
dao.Commit(db) dao.Commit(db)
storeMapList, err := dao.GetStoresMapList(db, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, "") storeMapList, err := dao.GetStoresMapList(db, nil, nil, model.StoreStatusAll, model.StoreIsSyncYes, "")

View File

@@ -380,9 +380,9 @@ func SetStoreSkuSyncStatus(db *DaoDB, vendorID int, storeIDs []int, skuIDs []int
` `
fmtParams = append(fmtParams, fieldPrefix) fmtParams = append(fmtParams, fieldPrefix)
} }
sql += " WHERE (t1.deleted_at = ?)" sql += " WHERE t1.deleted_at = ? AND t1.%s_sync_status & ? = 0"
// fmtParams = append(fmtParams, fieldPrefix) fmtParams = append(fmtParams, fieldPrefix)
sqlParams = append(sqlParams, utils.DefaultTimeValue) sqlParams = append(sqlParams, utils.DefaultTimeValue, model.SyncFlagDeletedMask)
if len(storeIDs) > 0 { if len(storeIDs) > 0 {
sql += " AND t1.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")" sql += " AND t1.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs) sqlParams = append(sqlParams, storeIDs)