银豹同步京西更新测试

This commit is contained in:
苏尹岚
2020-04-28 08:52:32 +08:00
parent 94ebfe3837
commit de5a39ed10

View File

@@ -917,10 +917,10 @@ func syncStoreSkusFromYb(ctx *jxcontext.Context, storeID, vendorID int, vendorSt
localSkuMap = make(map[string]*dao.StoreSkuSyncInfo)
vendorSkuMap = make(map[string]*partner.SkuNameInfo)
skuBindInfosDel []*StoreSkuBindInfo
// skuBindInfosUpt []*StoreSkuBindInfo
addList []*partner.SkuNameInfo
updateList []*partner.SkuNameInfo
deleteList []*dao.StoreSkuSyncInfo
skuBindInfosUpt []*StoreSkuBindInfo
addList []*partner.SkuNameInfo
updateList []*partner.SkuNameInfo
deleteList []*dao.StoreSkuSyncInfo
)
handler, _ := partner.GetPurchasePlatformFromVendorID(vendorID).(partner.ISingleStoreStoreSkuHandler)
@@ -994,47 +994,47 @@ func syncStoreSkusFromYb(ctx *jxcontext.Context, storeID, vendorID int, vendorSt
}
_, err = updateStoresSkusWithoutSync(ctx, db, []int{storeID}, skuBindInfosDel, false)
}
// case 2:
// if len(updateList) > 0 {
// taskFunc := func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
// var (
// v = batchItemList[0].(*partner.SkuNameInfo)
// skuBindInfo = &StoreSkuBindInfo{}
// storeSkus []*dao.StoreSkuExt
// pricePercentagePack []*model.PricePercentageItem
// )
// sql := `
// SELECT a.*, c.id name_id
// FROM store_sku_bind a
// JOIN sku b ON a.sku_id = b.id
// JOIN sku_name c ON c.id = b.name_id
// WHERE a.store_id = ? AND a.yb_id = ? AND a.deleted_at = ?
// `
// sqlParams := []interface{}{storeID, v.SkuList[0].VendorSkuID, utils.DefaultTimeValue}
// err = dao.GetRows(db, &storeSkus, sql, sqlParams)
// if len(storeSkus) > 0 {
// if storeSkus[0].YbPrice != int(v.SkuList[0].VendorPrice) {
// err = jxutils.Strings2Objs(store.PricePercentagePackStr, &pricePercentagePack)
// skuBindInfo.UnitPrice = jxutils.CaculateJxPriceByPricePack(pricePercentagePack, 0, int(v.SkuList[0].VendorPrice))
// }
// } else {
// return retVal, fmt.Errorf("未查询到门店商品yb_id [%v]", v.SkuList[0].VendorSkuID)
// }
// if v.SkuList[0].Stock < 1 {
// skuBindInfo.IsSale = model.DISABLED
// }
// skuBindInfo.NameID = storeSkus[0].NameID
// retVal = []*StoreSkuBindInfo{skuBindInfo}
// return retVal, err
// }
// taskParallel := tasksch.NewParallelTask("更新商品价格和库存", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, taskFunc, deleteList)
// tasksch.HandleTask(taskParallel, task, true).Run()
// resultUpt, _ := taskParallel.GetResult(0)
// for _, v := range resultUpt {
// skuBindInfosUpt = append(skuBindInfosUpt, v.(*StoreSkuBindInfo))
// }
// _, err = updateStoresSkusWithoutSync(ctx, db, []int{storeID}, skuBindInfosUpt, false)
// }
case 2:
if len(updateList) > 0 {
taskFunc := func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
var (
v = batchItemList[0].(*partner.SkuNameInfo)
skuBindInfo = &StoreSkuBindInfo{}
storeSkus []*dao.StoreSkuExt
pricePercentagePack []*model.PricePercentageItem
)
sql := `
SELECT a.*, c.id name_id
FROM store_sku_bind a
JOIN sku b ON a.sku_id = b.id
JOIN sku_name c ON c.id = b.name_id
WHERE a.store_id = ? AND a.yb_id = ? AND a.deleted_at = ?
`
sqlParams := []interface{}{storeID, v.SkuList[0].VendorSkuID, utils.DefaultTimeValue}
err = dao.GetRows(db, &storeSkus, sql, sqlParams)
if len(storeSkus) > 0 {
if storeSkus[0].YbPrice != int(v.SkuList[0].VendorPrice) {
err = jxutils.Strings2Objs(store.PricePercentagePackStr, &pricePercentagePack)
skuBindInfo.UnitPrice = jxutils.CaculateJxPriceByPricePack(pricePercentagePack, 0, int(v.SkuList[0].VendorPrice))
}
} else {
return retVal, fmt.Errorf("未查询到门店商品yb_id [%v]", v.SkuList[0].VendorSkuID)
}
if v.SkuList[0].Stock < 1 {
skuBindInfo.IsSale = model.DISABLED
}
skuBindInfo.NameID = storeSkus[0].NameID
retVal = []*StoreSkuBindInfo{skuBindInfo}
return retVal, err
}
taskParallel := tasksch.NewParallelTask("更新商品价格和库存", tasksch.NewParallelConfig().SetIsContinueWhenError(true), ctx, taskFunc, deleteList)
tasksch.HandleTask(taskParallel, task, true).Run()
resultUpt, _ := taskParallel.GetResult(0)
for _, v := range resultUpt {
skuBindInfosUpt = append(skuBindInfosUpt, v.(*StoreSkuBindInfo))
}
_, err = updateStoresSkusWithoutSync(ctx, db, []int{storeID}, skuBindInfosUpt, false)
}
}
return result, err
}