diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index e8281292f..af1f3bb8e 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -230,8 +230,10 @@ func ComposeSkuName(prefix, name, comment, unit string, spec_quality float32, sp if unit == "份" { skuName += "约" } - skuName += ComposeSkuSpec(spec_quality, spec_unit) - skuName += "/" + unit + if unit != "" { + skuName += ComposeSkuSpec(spec_quality, spec_unit) + skuName += "/" + unit + } if comment != "" { skuName += "(" + comment + ")" } @@ -259,12 +261,14 @@ func ComposeSpuName(prefix, name string, maxLen int) (spuName string) { } func ComposeSkuSpec(spec_quality float32, spec_unit string) (spec string) { - if math.Round(float64(spec_quality)) == float64(spec_quality) || (spec_unit != "L" && spec_unit != "kg") { - spec = fmt.Sprintf("%d", int(spec_quality)) - } else { - spec = strings.TrimRight(fmt.Sprintf("%.2f", spec_quality), "0.") + if spec_unit != "" { + if math.Round(float64(spec_quality)) == float64(spec_quality) || (spec_unit != "L" && spec_unit != "kg") { + spec = fmt.Sprintf("%d", int(spec_quality)) + } else { + spec = strings.TrimRight(fmt.Sprintf("%.2f", spec_quality), "0.") + } + spec += spec_unit } - spec += spec_unit return spec } diff --git a/business/partner/purchase/jd/sku.go b/business/partner/purchase/jd/sku.go index c1c9a8b0c..ce18a5e33 100644 --- a/business/partner/purchase/jd/sku.go +++ b/business/partner/purchase/jd/sku.go @@ -346,6 +346,8 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt model.FieldJdSyncStatus, } + // SPU的SKU NAME不需要规格信息 + skuName = jxutils.ComposeSkuName(skuExt.Prefix, skuExt.Name, sku.Comment, "", 0, "", 0) // 这样写的原因是在sync里面已经把数据全部取出来了,在这个函数里对于数据库的改动不能体现,打个补丁 skuNameJdID := skuExt.JdID globals.SugarLogger.Debugf("syncSkuNameAsSpu1 sku.id=%d, skuName:%s, skuNameJdID:%d", sku.ID, skuExt.Name, skuNameJdID) @@ -402,8 +404,8 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt spuName := jxutils.ComposeSpuName(skuExt.Prefix, skuExt.Name, 0) skus := []map[string]interface{}{ map[string]interface{}{ - jdapi.KeyOutSkuId: utils.Int2Str(sku.ID), - // jdapi.KeySkuName: skuName, + jdapi.KeyOutSkuId: utils.Int2Str(sku.ID), + jdapi.KeySkuName: skuName, jdapi.KeyFixedStatus: jxStatus2jdStatus(sku.Status), jdapi.KeySkuPrice: price, jdapi.KeyWeight: jxutils.IntWeight2Float(sku.Weight),