- fix jd spu.sku spec name
This commit is contained in:
@@ -3,6 +3,8 @@ package jd
|
|||||||
// 这里函数取得的信息,除了与自身实体相关的ID(比如PARENT ID),都已经转换成了本地ID了
|
// 这里函数取得的信息,除了与自身实体相关的ID(比如PARENT ID),都已经转换成了本地ID了
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"unicode/utf8"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
@@ -361,7 +363,7 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
|
|||||||
err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusDeleted))
|
err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusDeleted))
|
||||||
} else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 && !jxutils.IsFakeID(skuNameJdID) { // 非首次新增SKU
|
} else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 && !jxutils.IsFakeID(skuNameJdID) { // 非首次新增SKU
|
||||||
if globals.EnableStoreWrite {
|
if globals.EnableStoreWrite {
|
||||||
vendorSkuID2, err2 := api.JdAPI.AppendSku(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, jxStatus2jdStatus(sku.Status), true, composeSkuSpec(sku.SpecQuality, sku.SpecUnit), nil)
|
vendorSkuID2, err2 := api.JdAPI.AppendSku(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, jxStatus2jdStatus(sku.Status), true, composeSkuSpec(sku.SpecQuality, sku.SpecUnit, skuExt.Unit), nil)
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
vendorSkuID = utils.Int64ToStr(vendorSkuID2)
|
vendorSkuID = utils.Int64ToStr(vendorSkuID2)
|
||||||
}
|
}
|
||||||
@@ -406,7 +408,7 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
|
|||||||
jdapi.KeySkuPrice: price,
|
jdapi.KeySkuPrice: price,
|
||||||
jdapi.KeyWeight: jxutils.IntWeight2Float(sku.Weight),
|
jdapi.KeyWeight: jxutils.IntWeight2Float(sku.Weight),
|
||||||
jdapi.KeyIsSale: true,
|
jdapi.KeyIsSale: true,
|
||||||
jdapi.FakeKeySpecAttr: composeSkuSpec(sku.SpecQuality, sku.SpecUnit),
|
jdapi.FakeKeySpecAttr: composeSkuSpec(sku.SpecQuality, sku.SpecUnit, skuExt.Unit),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
if globals.EnableStoreWrite {
|
if globals.EnableStoreWrite {
|
||||||
@@ -442,8 +444,17 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
|
|||||||
return vendorSkuID, err
|
return vendorSkuID, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func composeSkuSpec(specQuality float32, specUnit string) string {
|
func composeSkuSpec(specQuality float32, specUnit, unit string) string {
|
||||||
return "约" + jxutils.ComposeSkuSpec(specQuality, specUnit) + "/份"
|
prefix := ""
|
||||||
|
if unit == model.SpecialUnit {
|
||||||
|
prefix = "约"
|
||||||
|
}
|
||||||
|
value := prefix + jxutils.ComposeSkuSpec(specQuality, specUnit)
|
||||||
|
suffix := "/" + unit
|
||||||
|
if utf8.RuneCountInString(value) <= 8-utf8.RuneCountInString(suffix) {
|
||||||
|
value += suffix
|
||||||
|
}
|
||||||
|
return value
|
||||||
}
|
}
|
||||||
|
|
||||||
func jdStatus2jxStatus(jdStatus int) (jxStatus int) {
|
func jdStatus2jxStatus(jdStatus int) (jxStatus int) {
|
||||||
|
|||||||
Reference in New Issue
Block a user