From 4ea34b258d0cb8e99d319b917ed2ebe3fd96cb3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Fri, 22 Sep 2023 12:36:11 +0800 Subject: [PATCH] 1 --- business/jxstore/cms/system_store_sku.go | 46 ++++++++++++++++++------ 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/business/jxstore/cms/system_store_sku.go b/business/jxstore/cms/system_store_sku.go index 3197097e2..cd2e6f25c 100644 --- a/business/jxstore/cms/system_store_sku.go +++ b/business/jxstore/cms/system_store_sku.go @@ -126,7 +126,6 @@ func BatchInitData(ctx *jxcontext.Context, fromSku []*mtwmapi.AppFood, toApi *mt foodDataList := make([]map[string]interface{}, len(fromSku)) for i, storeSku := range fromSku { foodData := make(map[string]interface{}) - foodDataList[i] = foodData foodData[mtwmapi.KeyAppFoodCode] = storeSku.AppFoodCode foodData["skus"] = storeSku.Skus foodData["name"] = utils.LimitUTF8StringLen(storeSku.Name, mtwmapi.MaxSkuNameCharCount) @@ -149,17 +148,44 @@ func BatchInitData(ctx *jxcontext.Context, fromSku []*mtwmapi.AppFood, toApi *mt foodData["picture_contents"] = storeSku.PictureContents foodData["sequence"] = storeSku.Sequence foodData["tag_id"] = storeSku.TagID + foodDataList[i] = foodData } - failedFoodList, err2 := toApi.RetailBatchInitData(ctx.GetTrackInfo(), vendorStoreID, foodDataList) - if err := err2; err == nil { - if err = putils.GenPartialFailedErr(failedFoodList, len(failedFoodList)); err != nil { - return err - } - } else if err2 != nil && len(failedFoodList) == 0 { - if errExt, ok := err2.(*utils.ErrorWithCode); ok { - return utils.UnmarshalUseNumber([]byte(errExt.ErrMsg()), &failedFoodList) - } + count := len(foodDataList) / 5 + if len(foodDataList)%5 != 0 { + count += 1 } + + for i := 0; i < count; i++ { + if i == count-1 { + failedFoodList, err2 := toApi.RetailBatchInitData(ctx.GetTrackInfo(), vendorStoreID, foodDataList[i*5:]) + if err := err2; err == nil { + if err = putils.GenPartialFailedErr(failedFoodList, len(failedFoodList)); err != nil { + globals.SugarLogger.Debugf("RetailBatchInitData err1 :%v", err) + return err + } + } else if err2 != nil && len(failedFoodList) == 0 { + if errExt, ok := err2.(*utils.ErrorWithCode); ok { + globals.SugarLogger.Debugf("RetailBatchInitData err2 :%v", utils.UnmarshalUseNumber([]byte(errExt.ErrMsg()), &failedFoodList)) + return utils.UnmarshalUseNumber([]byte(errExt.ErrMsg()), &failedFoodList) + } + } + } else { + failedFoodList, err2 := toApi.RetailBatchInitData(ctx.GetTrackInfo(), vendorStoreID, foodDataList[i*5:(i+1)*5]) + if err := err2; err == nil { + if err = putils.GenPartialFailedErr(failedFoodList, len(failedFoodList)); err != nil { + globals.SugarLogger.Debugf("RetailBatchInitData err3 :%v", err) + return err + } + } else if err2 != nil && len(failedFoodList) == 0 { + if errExt, ok := err2.(*utils.ErrorWithCode); ok { + globals.SugarLogger.Debugf("RetailBatchInitData err4 :%v", utils.UnmarshalUseNumber([]byte(errExt.ErrMsg()), &failedFoodList)) + return utils.UnmarshalUseNumber([]byte(errExt.ErrMsg()), &failedFoodList) + } + } + } + + } + return nil }