- 因应jdapi.QuerySkuInfos和QueryListBySkuIds接口改变
This commit is contained in:
@@ -209,39 +209,42 @@ func (p *PurchaseHandler) CreateSku(db *dao.DaoDB, sku *model.Sku, userName stri
|
|||||||
|
|
||||||
func (p *PurchaseHandler) ReadSku(vendorSkuID string) (skuNameExt *model.SkuNameExt, err error) {
|
func (p *PurchaseHandler) ReadSku(vendorSkuID string) (skuNameExt *model.SkuNameExt, err error) {
|
||||||
jdSkuID := utils.Str2Int64(vendorSkuID)
|
jdSkuID := utils.Str2Int64(vendorSkuID)
|
||||||
result, _, err := api.JdAPI.QuerySkuInfos("", jdSkuID, 0, 0, false)
|
skuList, _, err := api.JdAPI.QuerySkuInfos(&jdapi.QuerySkuParam{
|
||||||
|
SkuID: jdSkuID,
|
||||||
|
})
|
||||||
if err == nil {
|
if err == nil {
|
||||||
if len(result) == 1 {
|
if len(skuList) >= 1 {
|
||||||
skuNameExt = &model.SkuNameExt{}
|
skuNameExt = &model.SkuNameExt{}
|
||||||
if picInfo, err2 := api.JdAPI.QueryListBySkuIds([]int64{jdSkuID}, nil); err2 == nil && len(picInfo) > 0 {
|
if imgList, err2 := api.JdAPI.QueryListBySkuIds(&jdapi.QueryListBySkuIdsParam{
|
||||||
skuNameExt.Img = utils.Interface2String(picInfo[0]["sourceImgUrl"])
|
SkuIDs: []int64{jdSkuID},
|
||||||
|
}); err2 == nil && len(imgList) > 0 {
|
||||||
|
skuNameExt.Img = imgList[0].SourceImgURL
|
||||||
}
|
}
|
||||||
mapData := result[0]
|
sku := skuList[0]
|
||||||
skuNameStr := utils.Interface2String(mapData["skuName"])
|
prefix, name, comment, specUnit, unit, specQuality := jxutils.SplitSkuName(sku.SkuName)
|
||||||
prefix, name, comment, specUnit, unit, specQuality := jxutils.SplitSkuName(skuNameStr)
|
|
||||||
if name == "" {
|
if name == "" {
|
||||||
name = skuNameStr
|
name = sku.SkuName
|
||||||
unit = "份"
|
unit = "份"
|
||||||
specUnit = "g"
|
specUnit = "g"
|
||||||
}
|
}
|
||||||
skuNameExt.Prefix = prefix
|
skuNameExt.Prefix = prefix
|
||||||
skuNameExt.Name = name
|
skuNameExt.Name = name
|
||||||
skuNameExt.Unit = unit
|
skuNameExt.Unit = unit
|
||||||
skuNameExt.Price = int(utils.MustInterface2Int64(mapData["skuPrice"]))
|
skuNameExt.Price = sku.SkuPrice
|
||||||
skuNameExt.Skus = []*model.Sku{
|
skuNameExt.Skus = []*model.Sku{
|
||||||
&model.Sku{
|
&model.Sku{
|
||||||
SpecQuality: specQuality,
|
SpecQuality: specQuality,
|
||||||
SpecUnit: specUnit,
|
SpecUnit: specUnit,
|
||||||
Weight: jxutils.FloatWeight2Int(float32(utils.MustInterface2Float64(mapData["weight"]))),
|
Weight: jxutils.FloatWeight2Int(float32(sku.Weight)),
|
||||||
JdID: utils.MustInterface2Int64(mapData["skuId"]),
|
JdID: sku.SkuID,
|
||||||
Status: jdStatus2jxStatus(int(utils.MustInterface2Int64(mapData[jdapi.KeyFixedStatus]))),
|
Status: jdStatus2jxStatus(sku.FixedStatus),
|
||||||
Comment: comment,
|
Comment: comment,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
skuNameExt.Skus[0].ID = int(utils.Str2Int64(utils.Interface2String(mapData["outSkuId"])))
|
skuNameExt.Skus[0].ID = int(utils.Str2Int64(sku.OutSkuID))
|
||||||
|
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
shopCategories := utils.Interface2Int64List(mapData["shopCategories"])
|
shopCategories := sku.ShopCategories
|
||||||
if len(shopCategories) > 0 {
|
if len(shopCategories) > 0 {
|
||||||
skuCat := &model.SkuCategory{}
|
skuCat := &model.SkuCategory{}
|
||||||
skuCat.JdID = shopCategories[0]
|
skuCat.JdID = shopCategories[0]
|
||||||
@@ -249,7 +252,7 @@ func (p *PurchaseHandler) ReadSku(vendorSkuID string) (skuNameExt *model.SkuName
|
|||||||
skuNameExt.CategoryID = skuCat.ID
|
skuNameExt.CategoryID = skuCat.ID
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sellCities := utils.Interface2Int64List(mapData["sellCities"])
|
sellCities := sku.SellCities
|
||||||
for _, v := range sellCities {
|
for _, v := range sellCities {
|
||||||
if v == 0 {
|
if v == 0 {
|
||||||
skuNameExt.IsGlobal = 1
|
skuNameExt.IsGlobal = 1
|
||||||
|
|||||||
@@ -46,11 +46,12 @@ func TestReadCategories(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestReadSku(t *testing.T) {
|
func TestReadSku(t *testing.T) {
|
||||||
skuName, err := new(PurchaseHandler).ReadSku("2018544585")
|
skuName, err := new(PurchaseHandler).ReadSku("2005582952")
|
||||||
|
t.Log(utils.Format4Output(skuName, false))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
if skuName.Name != "每日鲜*脊骨" || skuName.Places[0] != 420100 || skuName.Skus[0].SpecUnit != "g" {
|
if skuName.Name != "味事达酱香鲜特级酿造酱油" || skuName.Skus[0].SpecUnit != "ml" {
|
||||||
t.Fatal("ReadSku return data wrong")
|
t.Fatal("ReadSku return data wrong")
|
||||||
t.Log(string(utils.MustMarshal(skuName)))
|
t.Log(string(utils.MustMarshal(skuName)))
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user