- 因应jdapi.QuerySkuInfos和QueryListBySkuIds接口改变

This commit is contained in:
gazebo
2019-07-31 18:11:37 +08:00
parent d58f2879d7
commit 48132e3155
2 changed files with 21 additions and 17 deletions

View File

@@ -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

View File

@@ -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)))
} }