From 79cf9956df36cc7a986a598776fa7717d8f05070 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 11 Jun 2020 15:56:18 +0800 Subject: [PATCH 1/6] =?UTF-8?q?beta=E7=9A=84=E4=BA=AC=E4=B8=9C=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/app.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/app.conf b/conf/app.conf index f9ab2bab5..ef6f86ce8 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -395,7 +395,7 @@ enableElmStoreWrite = false enableMtwmStoreWrite = false enableWscStoreWrite = false enableYbStoreWrite = false -enableJdShopWrite = false +enableJdShopWrite = true jdOrgCode = "320406" jdLoginName = "jd_jxcs1223" From d35134fae09f834f122df7a60a2fc61ac277ac72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 11 Jun 2020 17:53:36 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=95=86=E5=93=81=E5=90=8E=E7=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/store_sku.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index 662920ccf..b85493b58 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -793,9 +793,11 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf break } } - if ggValueID == 0 { //说明没有建这个规格,要建上 - catID, _ := api.JdShopAPI.SaveVenderAttrValue(specQuality, attrIDs["规格"], int(storeSku.VendorVendorCatID), maxNo+1) - ggValueID = catID + if isCreate { + if ggValueID == 0 { //说明没有建这个规格,要建上 + catID, _ := api.JdShopAPI.SaveVenderAttrValue(specQuality, attrIDs["规格"], int(storeSku.VendorVendorCatID), maxNo+1) + ggValueID = catID + } } attrSku := &jdshopapi.CreateSkuParamAttrs{ AttrID: utils.Int2Str(attrIDs["规格"]), From 639feb4ee36b9a8032f4bf445af3dcd6f5d531b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 12 Jun 2020 09:44:46 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=95=86=E5=93=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/store_sku.go | 146 +++++++++--------- 1 file changed, 77 insertions(+), 69 deletions(-) diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index b85493b58..2ae8d0dab 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -759,9 +759,30 @@ func filterSensitiveWord(name string) (result string) { } func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInfo, isCreate bool) (updateSkusParam *jdshopapi.UpdateSkusParam, err error) { + var ( + ggValueID int64 //规格的属性id + attrsPropSku []*jdshopapi.CreateSkuParamAttrs + skus []*jdshopapi.UpdateSkusParamSkus + multiPropSku []*jdshopapi.CreateSkuParamAttrs + specQuality string + ) updateSkusParam = &jdshopapi.UpdateSkusParam{ WareID: storeSku.JdsWareID, } + sku := &jdshopapi.UpdateSkusParamSkus{ + WareID: storeSku.JdsWareID, + JdPrice: jxutils.IntPrice2Standard(v.VendorPrice), + Type: "com.jd.pop.ware.ic.api.domain.sku", + Type2: "com.jd.pop.ware.ic.api.domain.Sku", + OuterID: utils.Int2Str(v.SkuID), + } + //库存设置 + if v.Status == model.SkuStatusNormal { + sku.StockNum = "9999" + } else { + sku.StockNum = "0" + } + //规格类别设置 attrIDs := make(map[string]int) attrs, err := api.JdShopAPI.FindAttrs(int(storeSku.VendorVendorCatID)) for _, v := range attrs { @@ -771,75 +792,6 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf attrIDs[v.Name] = v.ID } } - var ( - ggValueID int64 //规格的属性id - attrsPropSku []*jdshopapi.CreateSkuParamAttrs - skus []*jdshopapi.UpdateSkusParamSkus - multiPropSku []*jdshopapi.CreateSkuParamAttrs - specQuality string - ) - valuesSku, maxNo, _ := api.JdShopAPI.FindValuesByAttrId(attrIDs["规格"]) - if v.SpecUnit == model.SpecUnitNames[1] || v.SpecUnit == model.SpecUnitNames[2] { - specQuality = strings.TrimRight(fmt.Sprintf("%.2f", float64(v.SpecQuality)), "0.") + v.SpecUnit - } else { - specQuality = utils.Float64ToStr(float64(v.SpecQuality)) + v.SpecUnit - } - if v.Comment != "" { - specQuality = v.Comment - } - for _, vv := range valuesSku { - if vv.Name == specQuality { - ggValueID = vv.ID - break - } - } - if isCreate { - if ggValueID == 0 { //说明没有建这个规格,要建上 - catID, _ := api.JdShopAPI.SaveVenderAttrValue(specQuality, attrIDs["规格"], int(storeSku.VendorVendorCatID), maxNo+1) - ggValueID = catID - } - } - attrSku := &jdshopapi.CreateSkuParamAttrs{ - AttrID: utils.Int2Str(attrIDs["规格"]), - AttrValues: []string{utils.Int64ToStr(ggValueID)}, - } - attrsPropSku = append(attrsPropSku, attrSku) - sku := &jdshopapi.UpdateSkusParamSkus{ - WareID: storeSku.JdsWareID, - JdPrice: jxutils.IntPrice2Standard(v.VendorPrice), - Type: "com.jd.pop.ware.ic.api.domain.sku", - Type2: "com.jd.pop.ware.ic.api.domain.Sku", - OuterID: utils.Int2Str(v.SkuID), - } - sku.SaleAttrs = attrsPropSku - if v.Status == model.SkuStatusNormal { - sku.StockNum = "9999" - } else { - sku.StockNum = "0" - } - if !isCreate { - vendorSku, err2 := api.JdShopAPI.FindSkuById(utils.Str2Int64(v.VendorSkuID)) - err = err2 - var attrValue string - if v.Comment != "" { - attrValue = v.Comment - } else { - attrValue = specQuality - } - err = api.JdShopAPI.UpdateWareSaleAttrvalueAlias(&jdshopapi.UpdateWareSaleAttrvalueAliasParam{ - WareID: v.JdsWareID, - Props: []*jdshopapi.CreateSkuParamAttrs2{ - &jdshopapi.CreateSkuParamAttrs2{ - AttrID: vendorSku.SaleAttrs[0].AttrID, - AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]}, - AttrValueAlias: []string{attrValue}, - Type: "com.jd.pop.ware.ic.api.domain.prop", - Type2: "com.jd.pop.ware.ic.api.domain.Prop", - }, - }, - }) - sku.SkuID = utils.Str2Int64(v.VendorSkuID) - } if attrIDs["类别"] != 0 { values2, _, err2 := api.JdShopAPI.FindValuesByAttrId(attrIDs["类别"]) err = err2 @@ -851,6 +803,62 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf multiPropSku = append(multiPropSku, attrlb) } sku.MultiCateProps = multiPropSku + if v.SpecUnit == model.SpecUnitNames[1] || v.SpecUnit == model.SpecUnitNames[2] { + specQuality = strings.TrimRight(fmt.Sprintf("%.2f", float64(v.SpecQuality)), "0.") + v.SpecUnit + } else { + specQuality = utils.Float64ToStr(float64(v.SpecQuality)) + v.SpecUnit + } + valuesSku, maxNo, _ := api.JdShopAPI.FindValuesByAttrId(attrIDs["规格"]) + if isCreate { + for _, vv := range valuesSku { + if vv.Name == specQuality { + ggValueID = vv.ID + break + } + } + if ggValueID == 0 { //说明没有建这个规格,要建上 + catID, _ := api.JdShopAPI.SaveVenderAttrValue(specQuality, attrIDs["规格"], int(storeSku.VendorVendorCatID), maxNo+1) + ggValueID = catID + } + attrSku := &jdshopapi.CreateSkuParamAttrs{ + AttrID: utils.Int2Str(attrIDs["规格"]), + AttrValues: []string{utils.Int64ToStr(ggValueID)}, + } + attrsPropSku = append(attrsPropSku, attrSku) + sku.SaleAttrs = attrsPropSku + } else { + vendorSku, err2 := api.JdShopAPI.FindSkuById(utils.Str2Int64(v.VendorSkuID)) + err = err2 + vendorAttrValue := vendorSku.SaleAttrs[0].AttrValueAlias[0] + if v.Comment != "" { + if v.Comment != vendorAttrValue { + err = api.JdShopAPI.UpdateWareSaleAttrvalueAlias(&jdshopapi.UpdateWareSaleAttrvalueAliasParam{ + WareID: v.JdsWareID, + Props: []*jdshopapi.CreateSkuParamAttrs2{ + &jdshopapi.CreateSkuParamAttrs2{ + AttrID: vendorSku.SaleAttrs[0].AttrID, + AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]}, + AttrValueAlias: []string{v.Comment}, + Type: "com.jd.pop.ware.ic.api.domain.prop", + Type2: "com.jd.pop.ware.ic.api.domain.Prop", + }, + }, + }) + sku.SkuID = utils.Str2Int64(v.VendorSkuID) + } + } else { + if vendorAttrValue != specQuality { + catID, _ := api.JdShopAPI.SaveVenderAttrValue(specQuality, utils.Str2Int(vendorSku.SaleAttrs[0].AttrID), int(storeSku.VendorVendorCatID), maxNo+1) + attrSku := &jdshopapi.CreateSkuParamAttrs{ + AttrID: vendorSku.SaleAttrs[0].AttrID, + AttrValues: []string{utils.Int64ToStr(catID)}, + } + attrsPropSku = append(attrsPropSku, attrSku) + sku.SaleAttrs = attrsPropSku + err = api.JdShopAPI.DeleteSku(utils.Str2Int64(v.VendorSkuID)) + } + } + } skus = append(skus, sku) updateSkusParam.Skus = skus return updateSkusParam, err From 269e19db7dbc3ddba780d1b914a0d9690d478b66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 12 Jun 2020 10:26:53 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=95=86=E5=93=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/store_sku.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index 2ae8d0dab..8f8db0faf 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -845,6 +845,12 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf }, }) sku.SkuID = utils.Str2Int64(v.VendorSkuID) + attrSku := &jdshopapi.CreateSkuParamAttrs{ + AttrID: vendorSku.SaleAttrs[0].AttrID, + AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]}, + } + attrsPropSku = append(attrsPropSku, attrSku) + sku.SaleAttrs = attrsPropSku } } else { if vendorAttrValue != specQuality { From 6339eed107e589f505d31e4c9054786d290faaa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 12 Jun 2020 10:31:06 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=95=86=E5=93=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/store_sku.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index 8f8db0faf..f06485231 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -845,13 +845,13 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf }, }) sku.SkuID = utils.Str2Int64(v.VendorSkuID) - attrSku := &jdshopapi.CreateSkuParamAttrs{ - AttrID: vendorSku.SaleAttrs[0].AttrID, - AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]}, - } - attrsPropSku = append(attrsPropSku, attrSku) - sku.SaleAttrs = attrsPropSku } + attrSku := &jdshopapi.CreateSkuParamAttrs{ + AttrID: vendorSku.SaleAttrs[0].AttrID, + AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]}, + } + attrsPropSku = append(attrsPropSku, attrSku) + sku.SaleAttrs = attrsPropSku } else { if vendorAttrValue != specQuality { catID, _ := api.JdShopAPI.SaveVenderAttrValue(specQuality, utils.Str2Int(vendorSku.SaleAttrs[0].AttrID), int(storeSku.VendorVendorCatID), maxNo+1) From 1782dd07d9f39ce3282f72112eed54786215e390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 12 Jun 2020 10:41:29 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E5=95=86=E5=9F=8E?= =?UTF-8?q?=E5=95=86=E5=93=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/purchase/jdshop/store_sku.go | 55 ++++++++----------- 1 file changed, 23 insertions(+), 32 deletions(-) diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index f06485231..d4f7bbbb5 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -831,39 +831,30 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf err = err2 vendorAttrValue := vendorSku.SaleAttrs[0].AttrValueAlias[0] if v.Comment != "" { - if v.Comment != vendorAttrValue { - err = api.JdShopAPI.UpdateWareSaleAttrvalueAlias(&jdshopapi.UpdateWareSaleAttrvalueAliasParam{ - WareID: v.JdsWareID, - Props: []*jdshopapi.CreateSkuParamAttrs2{ - &jdshopapi.CreateSkuParamAttrs2{ - AttrID: vendorSku.SaleAttrs[0].AttrID, - AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]}, - AttrValueAlias: []string{v.Comment}, - Type: "com.jd.pop.ware.ic.api.domain.prop", - Type2: "com.jd.pop.ware.ic.api.domain.Prop", - }, - }, - }) - sku.SkuID = utils.Str2Int64(v.VendorSkuID) - } - attrSku := &jdshopapi.CreateSkuParamAttrs{ - AttrID: vendorSku.SaleAttrs[0].AttrID, - AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]}, - } - attrsPropSku = append(attrsPropSku, attrSku) - sku.SaleAttrs = attrsPropSku - } else { - if vendorAttrValue != specQuality { - catID, _ := api.JdShopAPI.SaveVenderAttrValue(specQuality, utils.Str2Int(vendorSku.SaleAttrs[0].AttrID), int(storeSku.VendorVendorCatID), maxNo+1) - attrSku := &jdshopapi.CreateSkuParamAttrs{ - AttrID: vendorSku.SaleAttrs[0].AttrID, - AttrValues: []string{utils.Int64ToStr(catID)}, - } - attrsPropSku = append(attrsPropSku, attrSku) - sku.SaleAttrs = attrsPropSku - err = api.JdShopAPI.DeleteSku(utils.Str2Int64(v.VendorSkuID)) - } + specQuality = v.Comment } + if v.Comment != vendorAttrValue { + err = api.JdShopAPI.UpdateWareSaleAttrvalueAlias(&jdshopapi.UpdateWareSaleAttrvalueAliasParam{ + WareID: v.JdsWareID, + Props: []*jdshopapi.CreateSkuParamAttrs2{ + &jdshopapi.CreateSkuParamAttrs2{ + AttrID: vendorSku.SaleAttrs[0].AttrID, + AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]}, + AttrValueAlias: []string{specQuality}, + Type: "com.jd.pop.ware.ic.api.domain.prop", + Type2: "com.jd.pop.ware.ic.api.domain.Prop", + }, + }, + }) + sku.SkuID = utils.Str2Int64(v.VendorSkuID) + } + attrSku := &jdshopapi.CreateSkuParamAttrs{ + AttrID: vendorSku.SaleAttrs[0].AttrID, + AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]}, + } + attrsPropSku = append(attrsPropSku, attrSku) + sku.SaleAttrs = attrsPropSku + } skus = append(skus, sku) updateSkusParam.Skus = skus