- fix jd spu.sku spec name

This commit is contained in:
gazebo
2019-01-11 11:40:48 +08:00
parent 3e1b386dca
commit 6a73282084

View File

@@ -3,6 +3,8 @@ package jd
// 这里函数取得的信息除了与自身实体相关的ID比如PARENT ID都已经转换成了本地ID了
import (
"unicode/utf8"
"git.rosy.net.cn/baseapi/platformapi/jdapi"
"git.rosy.net.cn/baseapi/utils"
"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))
} else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 && !jxutils.IsFakeID(skuNameJdID) { // 非首次新增SKU
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 {
vendorSkuID = utils.Int64ToStr(vendorSkuID2)
}
@@ -406,7 +408,7 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
jdapi.KeySkuPrice: price,
jdapi.KeyWeight: jxutils.IntWeight2Float(sku.Weight),
jdapi.KeyIsSale: true,
jdapi.FakeKeySpecAttr: composeSkuSpec(sku.SpecQuality, sku.SpecUnit),
jdapi.FakeKeySpecAttr: composeSkuSpec(sku.SpecQuality, sku.SpecUnit, skuExt.Unit),
},
}
if globals.EnableStoreWrite {
@@ -442,8 +444,17 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
return vendorSkuID, err
}
func composeSkuSpec(specQuality float32, specUnit string) string {
return "约" + jxutils.ComposeSkuSpec(specQuality, specUnit) + "/份"
func composeSkuSpec(specQuality float32, specUnit, unit string) string {
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) {