diff --git a/business/partner/purchase/jdshop/store_sku.go b/business/partner/purchase/jdshop/store_sku.go index fc2a4863c..d8a845c05 100644 --- a/business/partner/purchase/jdshop/store_sku.go +++ b/business/partner/purchase/jdshop/store_sku.go @@ -127,6 +127,21 @@ func (p *PurchaseHandler) UpdateStoreSkus(ctx *jxcontext.Context, storeID int, v } } + var features = []*jdshopapi.CreateSkuParamFeatures{ + &jdshopapi.CreateSkuParamFeatures{ + Key: "is7ToReturn", //不支持7天无理由退货 + Value: "0", + }, + &jdshopapi.CreateSkuParamFeatures{ + Key: "tssp", //支持分单? + Value: "4", + }, + &jdshopapi.CreateSkuParamFeatures{ + Key: "isSds", //支持自提? + Value: "1", + }, + } + updateWareParam.Features = features err = api.JdShopAPI.UpdateWare(updateWareParam) for _, vv := range v.StoreSkuSyncInfoJds { updateSkusParam, err := buildUpdateSkusParam(v, vv, false) @@ -438,6 +453,7 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j attrIDs = make(map[string]int) //贮存方式,净含量,保质期IDs zctjValueID int64 //贮存条件冷藏0-4的id gcjkValueID int64 //国产,进口的id + lbValueID int64 //类别的ID attrsProp []*jdshopapi.CreateSkuParamAttrs ) attrs, err := api.JdShopAPI.FindAttrs(int(storeSku.VendorVendorCatID)) @@ -452,6 +468,8 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j attrIDs[v.Name] = v.ID } else if v.Name == "国产/进口" { attrIDs[v.Name] = v.ID + } else if v.Name == "类别" { + attrIDs[v.Name] = v.ID } } values, _, err := api.JdShopAPI.FindValuesByAttrId(attrIDs["贮存条件"]) @@ -474,7 +492,6 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j } attrsProp = append(attrsProp, attrgcjk) } - attrZctj := &jdshopapi.CreateSkuParamAttrs{ AttrID: utils.Int2Str(attrIDs["贮存条件"]), AttrValues: []string{utils.Int64ToStr(zctjValueID)}, @@ -491,12 +508,20 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j attrsProp = append(attrsProp, attrJhl) attrsProp = append(attrsProp, attrBzq) createSkuParamWare.MultiCateProps = attrsProp - var features []*jdshopapi.CreateSkuParamFeatures - feature := &jdshopapi.CreateSkuParamFeatures{ - Key: "is7ToReturn", //不支持7天无理由退货 - Value: "0", + var features = []*jdshopapi.CreateSkuParamFeatures{ + &jdshopapi.CreateSkuParamFeatures{ + Key: "is7ToReturn", //不支持7天无理由退货 + Value: "0", + }, + &jdshopapi.CreateSkuParamFeatures{ + Key: "tssp", //支持分单? + Value: "4", + }, + &jdshopapi.CreateSkuParamFeatures{ + Key: "isSds", //支持自提? + Value: "1", + }, } - features = append(features, feature) createSkuParamWare.Features = features //组合sku var vendorPrice int64 = 0 @@ -504,6 +529,7 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j var ( ggValueID int64 //规格的属性id attrsPropSku []*jdshopapi.CreateSkuParamAttrs + multiPropSku []*jdshopapi.CreateSkuParamAttrs ) valuesSku, maxNo, _ := api.JdShopAPI.FindValuesByAttrId(attrIDs["规格"]) specQuality := utils.Float64ToStr(float64(v.SpecQuality)) + v.SpecUnit @@ -529,6 +555,17 @@ func buildCreateWareParam(storeSku *dao.StoreSkuSyncInfo) (createSkuParamWare *j OuterID: utils.Int2Str(v.SkuID), } sku.SaleAttrs = attrsPropSku + if attrIDs["类别"] != 0 { + values2, _, err2 := api.JdShopAPI.FindValuesByAttrId(attrIDs["类别"]) + err = err2 + lbValueID = values2[len(values2)-1].ID + attrlb := &jdshopapi.CreateSkuParamAttrs{ + AttrID: utils.Int2Str(attrIDs["类别"]), + AttrValues: []string{utils.Int64ToStr(lbValueID)}, + } + multiPropSku = append(multiPropSku, attrlb) + } + sku.MultiCateProps = multiPropSku createSkuParamSkus = append(createSkuParamSkus, sku) if v.VendorPrice > vendorPrice { @@ -601,6 +638,7 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf ggValueID int64 //规格的属性id attrsPropSku []*jdshopapi.CreateSkuParamAttrs skus []*jdshopapi.UpdateSkusParamSkus + multiPropSku []*jdshopapi.CreateSkuParamAttrs ) valuesSku, maxNo, _ := api.JdShopAPI.FindValuesByAttrId(attrIDs["规格"]) specQuality := utils.Float64ToStr(float64(v.SpecQuality)) + v.SpecUnit @@ -638,6 +676,17 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf api.JdShopAPI.DeleteSku(utils.Str2Int64(v.VendorSkuID)) } } + if attrIDs["类别"] != 0 { + values2, _, err2 := api.JdShopAPI.FindValuesByAttrId(attrIDs["类别"]) + err = err2 + lbValueID := values2[len(values2)-1].ID + attrlb := &jdshopapi.CreateSkuParamAttrs{ + AttrID: utils.Int2Str(attrIDs["类别"]), + AttrValues: []string{utils.Int64ToStr(lbValueID)}, + } + multiPropSku = append(multiPropSku, attrlb) + } + sku.MultiCateProps = multiPropSku skus = append(skus, sku) updateSkusParam.Skus = skus return updateSkusParam, err