- GetServerInfo added.

This commit is contained in:
gazebo
2018-09-11 18:34:59 +08:00
parent 7f4c125279
commit 4dcc31e36d
11 changed files with 186 additions and 69 deletions

View File

@@ -25,10 +25,6 @@ type skuInfoExt struct {
}
func (p *PurchaseHandler) CreateCategory(cat *model.SkuCategory, userName string) (err error) {
if !globals.EnableStoreWrite {
return nil
}
var jdPid int64
if cat.ParentID != 0 {
pCat := &model.SkuCategory{}
@@ -39,9 +35,11 @@ func (p *PurchaseHandler) CreateCategory(cat *model.SkuCategory, userName string
return err
}
}
result, err := api.JdAPI.AddShopCategory(jdPid, cat.Name, int(cat.Level), cat.Seq, userName)
if err == nil {
cat.JdID = utils.Str2Int64(result)
if globals.EnableStoreWrite {
result, err2 := api.JdAPI.AddShopCategory(jdPid, cat.Name, int(cat.Level), cat.Seq, userName)
if err = err2; err == nil {
cat.JdID = utils.Str2Int64(result)
}
}
return err
}
@@ -81,7 +79,6 @@ func (p *PurchaseHandler) UpdateCategory(cat *model.SkuCategory, userName string
if !globals.EnableStoreWrite {
return nil
}
return api.JdAPI.UpdateShopCategory(cat.JdID, cat.Name)
}
@@ -89,31 +86,24 @@ func (p *PurchaseHandler) DeleteCategory(cat *model.SkuCategory, userName string
if !globals.EnableStoreWrite {
return nil
}
return api.JdAPI.DelShopCategory(cat.JdID)
}
func (p *PurchaseHandler) ReorderCategories(parentCat *model.SkuCategory, userName string) (err error) {
if !globals.EnableStoreWrite {
return nil
}
var cats []*model.SkuCategory
if err = dao.GetRows(nil, &cats, "SELECT * FROM sku_category WHERE parent_id = ? ORDER BY seq", parentCat.ID); err == nil {
jdCatIDs := make([]int64, len(cats))
for k, v := range cats {
jdCatIDs[k] = v.JdID
}
err = api.JdAPI.ChangeShopCategoryOrder(parentCat.JdID, jdCatIDs)
if globals.EnableStoreWrite {
err = api.JdAPI.ChangeShopCategoryOrder(parentCat.JdID, jdCatIDs)
}
}
return err
}
func (p *PurchaseHandler) cuSku(sku *model.Sku, handler func(skuExt *skuInfoExt, skuName string, shopCategories []int64, addParams map[string]interface{}) (string, error)) (err error) {
if !globals.EnableStoreWrite {
return nil
}
var otherInfo skuInfoExt
db := dao.GetDB()
err = dao.GetRow(nil, &otherInfo, `
@@ -160,8 +150,11 @@ func (p *PurchaseHandler) cuSku(sku *model.Sku, handler func(skuExt *skuInfoExt,
}
func (p *PurchaseHandler) CreateSku(sku *model.Sku, userName string) (err error) {
return p.cuSku(sku, func(skuExt *skuInfoExt, skuName string, shopCategories []int64, addParams map[string]interface{}) (string, error) {
return api.JdAPI.AddSku(utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, skuExt.Price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, 1, true, addParams)
return p.cuSku(sku, func(skuExt *skuInfoExt, skuName string, shopCategories []int64, addParams map[string]interface{}) (vendorSkuID string, err error) {
if globals.EnableStoreWrite {
vendorSkuID, err = api.JdAPI.AddSku(utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, skuExt.Price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, 1, true, addParams)
}
return vendorSkuID, err
})
}
@@ -189,9 +182,9 @@ func (p *PurchaseHandler) ReadSku(vendorSkuID string) (skuName *model.SkuName, s
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"])))
db := dao.GetDB()
shopCategories := utils.Interface2Int64List(mapData["shopCategories"])
if len(shopCategories) > 0 {
@@ -215,7 +208,7 @@ func (p *PurchaseHandler) ReadSku(vendorSkuID string) (skuName *model.SkuName, s
}
func (p *PurchaseHandler) UpdateSku(sku *model.Sku, userName string) (err error) {
return p.cuSku(sku, func(skuExt *skuInfoExt, skuName string, shopCategories []int64, addParams map[string]interface{}) (string, error) {
return p.cuSku(sku, func(skuExt *skuInfoExt, skuName string, shopCategories []int64, addParams map[string]interface{}) (vendorSkuID string, err error) {
params := utils.MergeMaps(addParams)
params["categoryId"] = skuExt.JdCategoryID
params["shopCategories"] = shopCategories
@@ -223,19 +216,44 @@ func (p *PurchaseHandler) UpdateSku(sku *model.Sku, userName string) (err error)
params["skuName"] = skuName
params["weight"] = jxutils.IntWeight2Float(sku.Weight)
params["images"] = []string{skuExt.Img}
return api.JdAPI.UpdateSku(utils.Int2Str(sku.ID), params)
params["fixedStatus"] = jxStatus2jdStatus(sku.Status)
if globals.EnableStoreWrite {
vendorSkuID, err = api.JdAPI.UpdateSku(utils.Int2Str(sku.ID), params)
}
return vendorSkuID, err
})
}
func (p *PurchaseHandler) DeleteSku(sku *model.Sku, userName string) (err error) {
if !globals.EnableStoreWrite {
return nil
}
params := map[string]interface{}{
"fixedStatus": 4,
}
_, err = api.JdAPI.UpdateSku(utils.Int2Str(sku.ID), params)
if globals.EnableStoreWrite {
_, err = api.JdAPI.UpdateSku(utils.Int2Str(sku.ID), params)
}
return err
}
func jdStatus2jxStatus(jdStatus int) (jxStatus int) {
switch jdStatus {
case 1:
jxStatus = model.SkuStatusNormal
case 2:
jxStatus = model.SkuStatusDontSale
case 4:
jxStatus = model.SkuStatusDeleted
}
return jxStatus
}
func jxStatus2jdStatus(jxStatus int) (jdStatus int) {
switch jxStatus {
case model.SkuStatusNormal:
jdStatus = 1
case model.SkuStatusDontSale:
jdStatus = 2
case model.SkuStatusDeleted:
jdStatus = 4
}
return jdStatus
}

View File

@@ -62,10 +62,7 @@ func (p *PurchaseHandler) ReadStore(vendorStoreID string) (*model.Store, error)
return nil, err
}
func (p *PurchaseHandler) UpdateStore(vendorStoreID string, store *model.Store, userName string) error {
if !globals.EnableStoreWrite {
return nil
}
func (p *PurchaseHandler) UpdateStore(vendorStoreID string, store *model.Store, userName string) (err error) {
params := map[string]interface{}{
"outSystemId": utils.Int2Str(int(store.ID)),
"stationName": store.Name,
@@ -88,7 +85,10 @@ func (p *PurchaseHandler) UpdateStore(vendorStoreID string, store *model.Store,
}
_, params["closeStatus"] = JxStoreStatus2JdStatus(store.Status)
// globals.SugarLogger.Debug(utils.Format4Output(params, false))
return api.JdAPI.UpdateStoreInfo4Open(vendorStoreID, userName, params)
if globals.EnableStoreWrite {
err = api.JdAPI.UpdateStoreInfo4Open(vendorStoreID, userName, params)
}
return err
}
// 没用