Merge remote-tracking branch 'origin/jdshop' into mark

This commit is contained in:
苏尹岚
2020-06-12 10:57:55 +08:00
2 changed files with 75 additions and 68 deletions

View File

@@ -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) { 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{ updateSkusParam = &jdshopapi.UpdateSkusParam{
WareID: storeSku.JdsWareID, 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) attrIDs := make(map[string]int)
attrs, err := api.JdShopAPI.FindAttrs(int(storeSku.VendorVendorCatID)) attrs, err := api.JdShopAPI.FindAttrs(int(storeSku.VendorVendorCatID))
for _, v := range attrs { for _, v := range attrs {
@@ -771,22 +792,24 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf
attrIDs[v.Name] = v.ID attrIDs[v.Name] = v.ID
} }
} }
var ( if attrIDs["类别"] != 0 {
ggValueID int64 //规格的属性id values2, _, err2 := api.JdShopAPI.FindValuesByAttrId(attrIDs["类别"])
attrsPropSku []*jdshopapi.CreateSkuParamAttrs err = err2
skus []*jdshopapi.UpdateSkusParamSkus lbValueID := values2[len(values2)-1].ID
multiPropSku []*jdshopapi.CreateSkuParamAttrs attrlb := &jdshopapi.CreateSkuParamAttrs{
specQuality string AttrID: utils.Int2Str(attrIDs["类别"]),
) AttrValues: []string{utils.Int64ToStr(lbValueID)},
valuesSku, maxNo, _ := api.JdShopAPI.FindValuesByAttrId(attrIDs["规格"]) }
multiPropSku = append(multiPropSku, attrlb)
}
sku.MultiCateProps = multiPropSku
if v.SpecUnit == model.SpecUnitNames[1] || v.SpecUnit == model.SpecUnitNames[2] { if v.SpecUnit == model.SpecUnitNames[1] || v.SpecUnit == model.SpecUnitNames[2] {
specQuality = strings.TrimRight(fmt.Sprintf("%.2f", float64(v.SpecQuality)), "0.") + v.SpecUnit specQuality = strings.TrimRight(fmt.Sprintf("%.2f", float64(v.SpecQuality)), "0.") + v.SpecUnit
} else { } else {
specQuality = utils.Float64ToStr(float64(v.SpecQuality)) + v.SpecUnit specQuality = utils.Float64ToStr(float64(v.SpecQuality)) + v.SpecUnit
} }
if v.Comment != "" { valuesSku, maxNo, _ := api.JdShopAPI.FindValuesByAttrId(attrIDs["规格"])
specQuality = v.Comment if isCreate {
}
for _, vv := range valuesSku { for _, vv := range valuesSku {
if vv.Name == specQuality { if vv.Name == specQuality {
ggValueID = vv.ID ggValueID = vv.ID
@@ -802,35 +825,22 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf
AttrValues: []string{utils.Int64ToStr(ggValueID)}, AttrValues: []string{utils.Int64ToStr(ggValueID)},
} }
attrsPropSku = append(attrsPropSku, attrSku) 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 sku.SaleAttrs = attrsPropSku
if v.Status == model.SkuStatusNormal {
sku.StockNum = "9999"
} else { } else {
sku.StockNum = "0"
}
if !isCreate {
vendorSku, err2 := api.JdShopAPI.FindSkuById(utils.Str2Int64(v.VendorSkuID)) vendorSku, err2 := api.JdShopAPI.FindSkuById(utils.Str2Int64(v.VendorSkuID))
err = err2 err = err2
var attrValue string vendorAttrValue := vendorSku.SaleAttrs[0].AttrValueAlias[0]
if v.Comment != "" { if v.Comment != "" {
attrValue = v.Comment specQuality = v.Comment
} else {
attrValue = specQuality
} }
if v.Comment != vendorAttrValue {
err = api.JdShopAPI.UpdateWareSaleAttrvalueAlias(&jdshopapi.UpdateWareSaleAttrvalueAliasParam{ err = api.JdShopAPI.UpdateWareSaleAttrvalueAlias(&jdshopapi.UpdateWareSaleAttrvalueAliasParam{
WareID: v.JdsWareID, WareID: v.JdsWareID,
Props: []*jdshopapi.CreateSkuParamAttrs2{ Props: []*jdshopapi.CreateSkuParamAttrs2{
&jdshopapi.CreateSkuParamAttrs2{ &jdshopapi.CreateSkuParamAttrs2{
AttrID: vendorSku.SaleAttrs[0].AttrID, AttrID: vendorSku.SaleAttrs[0].AttrID,
AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]}, AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]},
AttrValueAlias: []string{attrValue}, AttrValueAlias: []string{specQuality},
Type: "com.jd.pop.ware.ic.api.domain.prop", Type: "com.jd.pop.ware.ic.api.domain.prop",
Type2: "com.jd.pop.ware.ic.api.domain.Prop", Type2: "com.jd.pop.ware.ic.api.domain.Prop",
}, },
@@ -838,17 +848,14 @@ func buildUpdateSkusParam(storeSku *dao.StoreSkuSyncInfo, v *dao.StoreSkuSyncInf
}) })
sku.SkuID = utils.Str2Int64(v.VendorSkuID) sku.SkuID = utils.Str2Int64(v.VendorSkuID)
} }
if attrIDs["类别"] != 0 { attrSku := &jdshopapi.CreateSkuParamAttrs{
values2, _, err2 := api.JdShopAPI.FindValuesByAttrId(attrIDs["类别"]) AttrID: vendorSku.SaleAttrs[0].AttrID,
err = err2 AttrValues: []string{vendorSku.SaleAttrs[0].AttrValues[0]},
lbValueID := values2[len(values2)-1].ID
attrlb := &jdshopapi.CreateSkuParamAttrs{
AttrID: utils.Int2Str(attrIDs["类别"]),
AttrValues: []string{utils.Int64ToStr(lbValueID)},
} }
multiPropSku = append(multiPropSku, attrlb) attrsPropSku = append(attrsPropSku, attrSku)
sku.SaleAttrs = attrsPropSku
} }
sku.MultiCateProps = multiPropSku
skus = append(skus, sku) skus = append(skus, sku)
updateSkusParam.Skus = skus updateSkusParam.Skus = skus
return updateSkusParam, err return updateSkusParam, err

View File

@@ -395,7 +395,7 @@ enableElmStoreWrite = false
enableMtwmStoreWrite = false enableMtwmStoreWrite = false
enableWscStoreWrite = false enableWscStoreWrite = false
enableYbStoreWrite = false enableYbStoreWrite = false
enableJdShopWrite = false enableJdShopWrite = true
jdOrgCode = "320406" jdOrgCode = "320406"
jdLoginName = "jd_jxcs1223" jdLoginName = "jd_jxcs1223"