- up.
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
)
|
||||
@@ -19,9 +20,9 @@ const (
|
||||
type skuInfoExt struct {
|
||||
model.SkuName
|
||||
Img string
|
||||
JdID int64 // 商家类别
|
||||
JdCategoryID int // 到家类别
|
||||
SkuCatID int64 // 商家特殊类别
|
||||
JdID int64 `orm:"column(jd_id)"` // 商家类别
|
||||
JdCategoryID int `orm:"column(jd_category_id)"` // 到家类别
|
||||
SkuCatID int64 `orm:"column(sku_cat_id)"` // 商家特殊类别
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) CreateCategory(cat *model.SkuCategory, userName string) (err error) {
|
||||
@@ -158,10 +159,15 @@ func (p *PurchaseHandler) CreateSku(sku *model.Sku, userName string) (err error)
|
||||
})
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) ReadSku(vendorSkuID string) (skuName *model.SkuName, sellPlaces []*model.Place, sku *model.Sku, err error) {
|
||||
result, _, err := api.JdAPI.QuerySkuInfos("", int(utils.Str2Int64(vendorSkuID)), 0, 0, false)
|
||||
func (p *PurchaseHandler) ReadSku(vendorSkuID string) (skuNameExt *model.SkuNameExt, err error) {
|
||||
jdSkuID := utils.Str2Int64(vendorSkuID)
|
||||
result, _, err := api.JdAPI.QuerySkuInfos("", jdSkuID, 0, 0, false)
|
||||
if err == nil {
|
||||
if len(result) == 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"])
|
||||
}
|
||||
mapData := result[0]
|
||||
skuNameStr := utils.Interface2String(mapData["skuName"])
|
||||
prefix, name, comment, specUnit, unit, specQuality := jxutils.SplitSkuName(skuNameStr)
|
||||
@@ -170,42 +176,53 @@ func (p *PurchaseHandler) ReadSku(vendorSkuID string) (skuName *model.SkuName, s
|
||||
unit = "份"
|
||||
specUnit = "g"
|
||||
}
|
||||
skuName = &model.SkuName{
|
||||
Prefix: prefix,
|
||||
Name: name,
|
||||
Comment: comment,
|
||||
Unit: unit,
|
||||
Price: int(utils.MustInterface2Int64(mapData["skuPrice"])),
|
||||
skuNameExt.Prefix = prefix
|
||||
skuNameExt.Name = name
|
||||
skuNameExt.Comment = comment
|
||||
skuNameExt.Unit = unit
|
||||
skuNameExt.Price = int(utils.MustInterface2Int64(mapData["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["fixedStatus"]))),
|
||||
},
|
||||
}
|
||||
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["fixedStatus"]))),
|
||||
}
|
||||
sku.ID = int(utils.Str2Int64(utils.Interface2String(mapData["outSkuId"])))
|
||||
skuNameExt.Skus[0].ID = int(utils.Str2Int64(utils.Interface2String(mapData["outSkuId"])))
|
||||
|
||||
db := dao.GetDB()
|
||||
shopCategories := utils.Interface2Int64List(mapData["shopCategories"])
|
||||
if len(shopCategories) > 0 {
|
||||
skuCat := &model.SkuCategory{}
|
||||
skuCat.JdID = shopCategories[0]
|
||||
if dao.GetEntity(db, skuCat, "JdID") == nil {
|
||||
skuName.CategoryID = skuCat.ID
|
||||
skuNameExt.CategoryID = skuCat.ID
|
||||
}
|
||||
}
|
||||
sellCities := utils.Interface2Int64List(mapData["sellCities"])
|
||||
if len(sellCities) == 0 {
|
||||
skuName.IsGlobal = 1
|
||||
} else {
|
||||
sellPlaces = make([]*model.Place, 0)
|
||||
err2 := dao.GetRows(db, &sellPlaces, "SELECT * FROM place WHERE jd_code IN (?) AND level = 2", sellCities)
|
||||
globals.SugarLogger.Debug("err2:%v", err2)
|
||||
for _, v := range sellCities {
|
||||
if v == 0 {
|
||||
skuNameExt.IsGlobal = 1
|
||||
}
|
||||
}
|
||||
return skuName, sellPlaces, sku, nil
|
||||
if len(sellCities) == 0 || skuNameExt.IsGlobal == 1 {
|
||||
skuNameExt.IsGlobal = 1
|
||||
} else {
|
||||
var places []*model.Place
|
||||
if err = dao.GetRows(db, &places, "SELECT * FROM place WHERE jd_code IN ("+dao.GenQuestionMarks(len(sellCities))+") AND level = 2", sellCities); err == nil {
|
||||
skuNameExt.Places = make([]int, len(places))
|
||||
for k, v := range places {
|
||||
skuNameExt.Places[k] = v.Code
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
err = partner.ErrCanNotFindItem
|
||||
}
|
||||
}
|
||||
return nil, nil, nil, err
|
||||
return skuNameExt, err
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) UpdateSku(sku *model.Sku, userName string) (err error) {
|
||||
|
||||
Reference in New Issue
Block a user