diff --git a/business/enterprise/vendor_sku_compare.go b/business/enterprise/vendor_sku_compare.go index bdf9dd02d..6b58c5c5d 100644 --- a/business/enterprise/vendor_sku_compare.go +++ b/business/enterprise/vendor_sku_compare.go @@ -458,13 +458,25 @@ func JdSyncSkuPriceAndStatus(db *dao.DaoDB, sm *model.StoreMap, skuMap map[strin var ( jdsApi = apimanager.CurAPIManager.GetAPI(sm.VendorID, sm.VendorOrgCode).(*jdapi.API) ) - + skuVendibilityList := make([]*jdapi.StockVendibility, 0, 0) for _, v := range skuMap { - skuVendibilityList := append([]*jdapi.StockVendibility{}, &jdapi.StockVendibility{ + skuVendibilityList = append(skuVendibilityList, &jdapi.StockVendibility{ OutSkuId: utils.Int2Str(v.SkuID), DoSale: v.Status == model.SkuStatusNormal, }) - jdsApi.BatchUpdateVendibility(jxcontext.AdminCtx.GetTrackInfo(), "", sm.VendorStoreID, skuVendibilityList, jxcontext.AdminCtx.GetUserName()) + } + + count := len(skuVendibilityList) / 50 + if len(skuVendibilityList)%50 != 0 { + count += 1 + } + + for i := 1; i <= count; i++ { + if i == count { + jdsApi.BatchUpdateVendibility(jxcontext.AdminCtx.GetTrackInfo(), "", sm.VendorStoreID, skuVendibilityList[i*50:], jxcontext.AdminCtx.GetUserName()) + } else { + jdsApi.BatchUpdateVendibility(jxcontext.AdminCtx.GetTrackInfo(), "", sm.VendorStoreID, skuVendibilityList[(i-1)*50:i*50], jxcontext.AdminCtx.GetUserName()) + } } return fmt.Errorf("京东运行结束")