- user stationNo instead of outStationNo when calling jd store sku related apis.
This commit is contained in:
@@ -15,6 +15,7 @@ import (
|
|||||||
type tStoreSkuBindExt struct {
|
type tStoreSkuBindExt struct {
|
||||||
model.StoreSkuBind
|
model.StoreSkuBind
|
||||||
PricePercentage int
|
PricePercentage int
|
||||||
|
VendorStoreID string `orm:"column(vendor_store_id)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// 京东到家,以有库存表示关注(认领)
|
// 京东到家,以有库存表示关注(认领)
|
||||||
@@ -33,7 +34,7 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
|||||||
}
|
}
|
||||||
|
|
||||||
sql := `
|
sql := `
|
||||||
SELECT t1.*, t2.price_percentage
|
SELECT t1.*, t2.price_percentage, t2.vendor_store_id
|
||||||
FROM store_sku_bind t1
|
FROM store_sku_bind t1
|
||||||
JOIN store_map t2 ON t1.store_id = t2.store_id AND t2.vendor_id = ? AND t2.deleted_at = ?
|
JOIN store_map t2 ON t1.store_id = t2.store_id AND t2.vendor_id = ? AND t2.deleted_at = ?
|
||||||
` + sqlWhere
|
` + sqlWhere
|
||||||
@@ -46,11 +47,11 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
|||||||
if err = dao.GetRows(db, &storeSkus, sql, append(sqlParams, sqlWhereParams...)...); err != nil {
|
if err = dao.GetRows(db, &storeSkus, sql, append(sqlParams, sqlWhereParams...)...); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
outStationNo := utils.Int2Str(storeID)
|
|
||||||
task := tasksch.NewParallelTask("SyncStoresSkus inner", tasksch.NewParallelConfig().SetBatchSize(jdapi.MaxStoreSkuBatchSize).SetIsContinueWhenError(isContinueWhenError), ctx.GetUserName(), func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
task := tasksch.NewParallelTask("SyncStoresSkus inner", tasksch.NewParallelConfig().SetBatchSize(jdapi.MaxStoreSkuBatchSize).SetIsContinueWhenError(isContinueWhenError), ctx.GetUserName(), func(t *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||||
var skuPriceInfoList []*jdapi.SkuPriceInfo
|
var skuPriceInfoList []*jdapi.SkuPriceInfo
|
||||||
var skuVendibilityList []*jdapi.StockVendibility
|
var skuVendibilityList []*jdapi.StockVendibility
|
||||||
var skuStockList []*jdapi.SkuStock
|
var skuStockList []*jdapi.SkuStock
|
||||||
|
stationNo := batchItemList[0].(*tStoreSkuBindExt).VendorStoreID
|
||||||
for _, v := range batchItemList {
|
for _, v := range batchItemList {
|
||||||
storeSku := v.(*tStoreSkuBindExt)
|
storeSku := v.(*tStoreSkuBindExt)
|
||||||
alreadyAddStock := false
|
alreadyAddStock := false
|
||||||
@@ -95,13 +96,13 @@ func (p *PurchaseHandler) SyncStoreSkus(ctx *jxcontext.Context, parentTask tasks
|
|||||||
// todo 以下可以优化为并行操作
|
// todo 以下可以优化为并行操作
|
||||||
globals.SugarLogger.Debug(utils.Format4Output(skuVendibilityList, false), utils.Format4Output(skuPriceInfoList, false), utils.Format4Output(skuStockList, false))
|
globals.SugarLogger.Debug(utils.Format4Output(skuVendibilityList, false), utils.Format4Output(skuPriceInfoList, false), utils.Format4Output(skuStockList, false))
|
||||||
if len(skuVendibilityList) > 0 {
|
if len(skuVendibilityList) > 0 {
|
||||||
_, err = api.JdAPI.BatchUpdateVendibility(outStationNo, "", skuVendibilityList, ctx.GetUserName())
|
_, err = api.JdAPI.BatchUpdateVendibility("", stationNo, skuVendibilityList, ctx.GetUserName())
|
||||||
}
|
}
|
||||||
if err == nil && len(skuPriceInfoList) > 0 {
|
if err == nil && len(skuPriceInfoList) > 0 {
|
||||||
_, err = api.JdAPI.UpdateVendorStationPrice(outStationNo, "", skuPriceInfoList)
|
_, err = api.JdAPI.UpdateVendorStationPrice("", stationNo, skuPriceInfoList)
|
||||||
}
|
}
|
||||||
if err == nil && len(skuStockList) > 0 {
|
if err == nil && len(skuStockList) > 0 {
|
||||||
_, err = api.JdAPI.BatchUpdateCurrentQtys(outStationNo, "", skuStockList, ctx.GetUserName())
|
_, err = api.JdAPI.BatchUpdateCurrentQtys("", stationNo, skuStockList, ctx.GetUserName())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
Reference in New Issue
Block a user