- 因应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) {
|
||||
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 len(result) == 1 {
|
||||
if len(skuList) >= 1 {
|
||||
skuNameExt = &model.SkuNameExt{}
|
||||
if picInfo, err2 := api.JdAPI.QueryListBySkuIds([]int64{jdSkuID}, nil); err2 == nil && len(picInfo) > 0 {
|
||||
skuNameExt.Img = utils.Interface2String(picInfo[0]["sourceImgUrl"])
|
||||
if imgList, err2 := api.JdAPI.QueryListBySkuIds(&jdapi.QueryListBySkuIdsParam{
|
||||
SkuIDs: []int64{jdSkuID},
|
||||
}); err2 == nil && len(imgList) > 0 {
|
||||
skuNameExt.Img = imgList[0].SourceImgURL
|
||||
}
|
||||
mapData := result[0]
|
||||
skuNameStr := utils.Interface2String(mapData["skuName"])
|
||||
prefix, name, comment, specUnit, unit, specQuality := jxutils.SplitSkuName(skuNameStr)
|
||||
sku := skuList[0]
|
||||
prefix, name, comment, specUnit, unit, specQuality := jxutils.SplitSkuName(sku.SkuName)
|
||||
if name == "" {
|
||||
name = skuNameStr
|
||||
name = sku.SkuName
|
||||
unit = "份"
|
||||
specUnit = "g"
|
||||
}
|
||||
skuNameExt.Prefix = prefix
|
||||
skuNameExt.Name = name
|
||||
skuNameExt.Unit = unit
|
||||
skuNameExt.Price = int(utils.MustInterface2Int64(mapData["skuPrice"]))
|
||||
skuNameExt.Price = sku.SkuPrice
|
||||
skuNameExt.Skus = []*model.Sku{
|
||||
&model.Sku{
|
||||
SpecQuality: specQuality,
|
||||
SpecUnit: specUnit,
|
||||
Weight: jxutils.FloatWeight2Int(float32(utils.MustInterface2Float64(mapData["weight"]))),
|
||||
JdID: utils.MustInterface2Int64(mapData["skuId"]),
|
||||
Status: jdStatus2jxStatus(int(utils.MustInterface2Int64(mapData[jdapi.KeyFixedStatus]))),
|
||||
Weight: jxutils.FloatWeight2Int(float32(sku.Weight)),
|
||||
JdID: sku.SkuID,
|
||||
Status: jdStatus2jxStatus(sku.FixedStatus),
|
||||
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()
|
||||
shopCategories := utils.Interface2Int64List(mapData["shopCategories"])
|
||||
shopCategories := sku.ShopCategories
|
||||
if len(shopCategories) > 0 {
|
||||
skuCat := &model.SkuCategory{}
|
||||
skuCat.JdID = shopCategories[0]
|
||||
@@ -249,7 +252,7 @@ func (p *PurchaseHandler) ReadSku(vendorSkuID string) (skuNameExt *model.SkuName
|
||||
skuNameExt.CategoryID = skuCat.ID
|
||||
}
|
||||
}
|
||||
sellCities := utils.Interface2Int64List(mapData["sellCities"])
|
||||
sellCities := sku.SellCities
|
||||
for _, v := range sellCities {
|
||||
if v == 0 {
|
||||
skuNameExt.IsGlobal = 1
|
||||
|
||||
@@ -46,11 +46,12 @@ func TestReadCategories(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 {
|
||||
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.Log(string(utils.MustMarshal(skuName)))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user