diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index 1c06de74e..059370963 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -1,6 +1,7 @@ package jdshop import ( + "fmt" "regexp" "time" @@ -37,20 +38,27 @@ func (p *PurchaseHandler) CreateStoreSkus(ctx *jxcontext.Context, storeID int, v failedList = putils.GetErrMsg2FailedSingleList(storeSkuList, err, storeID, model.VendorChineseNames[model.VendorIDJDShop], "εˆ›ε»Ίε•†ε“") return failedList, err } - v.JdsWareID = createSkuResult.WareID - for _, vv2 := range v.StoreSkuSyncInfoJds { - for _, vv := range createSkuParamSkus { - for _, vvv := range vv.SaleAttrs { - for _, vv1 := range createSkuResult.Skus { - for _, vvv1 := range vv1.SaleAttrs { - if vvv1.AttrValues[0] == vvv.AttrValues[0] { - vv2.VendorSkuID = utils.Int64ToStr(vv1.SkuID) - } - } - } + var paramAttrs = make(map[string]*jdshopapi.CreateSkuParamSkus) + var resultAttrs = make(map[string]int64) + for _, vv := range createSkuParamSkus { + for _, vvv := range vv.SaleAttrs { + paramAttrs[vvv.AttrValues[0]] = vv + } + } + for _, vv1 := range createSkuResult.Skus { + for _, vvv1 := range vv1.SaleAttrs { + if paramAttrs[vvv1.AttrValues[0]] != nil { + resultAttrs[paramAttrs[vvv1.AttrValues[0]].OuterID] = vv1.SkuID } } } + fmt.Println("test11111111111111111111111111", utils.Format4Output(resultAttrs, false)) + for _, vv2 := range v.StoreSkuSyncInfoJds { + vv2.JdsWareID = createSkuResult.WareID + if resultAttrs[utils.Int2Str(vv2.SkuID)] != 0 { + vv2.VendorSkuID = utils.Int64ToStr(resultAttrs[utils.Int2Str(vv2.SkuID)]) + } + } } } return failedList, err