- use ShippingList and ShippingFetch to get delivery info for mtwm store
This commit is contained in:
@@ -135,7 +135,7 @@ type Store struct {
|
|||||||
Licence string `orm:"size(255)" json:"licence"`
|
Licence string `orm:"size(255)" json:"licence"`
|
||||||
LicenceCode string `orm:"size(32)" json:"licenceCode"`
|
LicenceCode string `orm:"size(32)" json:"licenceCode"`
|
||||||
|
|
||||||
DeliveryType int8 `orm:"-" json:"-"`
|
DeliveryType int8 `orm:"-" json:"deliveryType"` // 仅用于传值
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*Store) TableUnique() [][]string {
|
func (*Store) TableUnique() [][]string {
|
||||||
|
|||||||
@@ -3,7 +3,9 @@ package mtwm
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
|
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||||||
@@ -30,16 +32,15 @@ type tEbaiStoreInfo struct {
|
|||||||
DistrictID int `orm:"column(district_id)"`
|
DistrictID int `orm:"column(district_id)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) ReadStore(vendorStoreID string) (*model.Store, error) {
|
func (p *PurchaseHandler) ReadStore(vendorStoreID string) (retVal *model.Store, err error) {
|
||||||
result, err := api.MtwmAPI.PoiGet(vendorStoreID)
|
result, err := api.MtwmAPI.PoiGet(vendorStoreID)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
// globals.SugarLogger.Debug(utils.Format4Output(result, false))
|
// globals.SugarLogger.Debug(utils.Format4Output(result, false))
|
||||||
retVal := &model.Store{
|
retVal = &model.Store{
|
||||||
Address: utils.Interface2String(result["address"]),
|
Address: utils.Interface2String(result["address"]),
|
||||||
Tel1: utils.Interface2String(result["phone"]),
|
Tel1: utils.Interface2String(result["phone"]),
|
||||||
}
|
}
|
||||||
_, retVal.Name = jxutils.SplitStoreName(utils.Interface2String(result["name"]), partner.StoreNameSeparator, VendorStorePrefix)
|
_, retVal.Name = jxutils.SplitStoreName(utils.Interface2String(result["name"]), partner.StoreNameSeparator, VendorStorePrefix)
|
||||||
retVal.DeliveryType = 0 // todo
|
|
||||||
|
|
||||||
openTimes := openTimeMtwm2JX(result["shipping_time"].(string))
|
openTimes := openTimeMtwm2JX(result["shipping_time"].(string))
|
||||||
if len(openTimes) > 0 {
|
if len(openTimes) > 0 {
|
||||||
@@ -70,11 +71,19 @@ func (p *PurchaseHandler) ReadStore(vendorStoreID string) (*model.Store, error)
|
|||||||
poiCode := utils.Interface2String(result["app_poi_code"])
|
poiCode := utils.Interface2String(result["app_poi_code"])
|
||||||
retVal.ID = int(utils.Str2Int64WithDefault(poiCode, 0))
|
retVal.ID = int(utils.Str2Int64WithDefault(poiCode, 0))
|
||||||
retVal.DeliveryRangeType = model.DeliveryRangeTypePolygon
|
retVal.DeliveryRangeType = model.DeliveryRangeTypePolygon
|
||||||
if deliveryRangeInfo, err := api.MtwmAPI.ShippingList(poiCode); err != nil {
|
var deliveryRangeInfo []map[string]interface{}
|
||||||
return nil, err
|
deliveryRangeInfo, err = api.MtwmAPI.ShippingList(poiCode)
|
||||||
} else {
|
if err != nil {
|
||||||
|
deliveryRangeInfo, err = api.MtwmAPI.ShippingFetch(poiCode)
|
||||||
|
}
|
||||||
|
if err == nil {
|
||||||
if len(deliveryRangeInfo) > 0 {
|
if len(deliveryRangeInfo) > 0 {
|
||||||
retVal.DeliveryRange = rangeMtwm2JX(deliveryRangeInfo[0]["area"].(string))
|
retVal.DeliveryRange = rangeMtwm2JX(deliveryRangeInfo[0]["area"].(string))
|
||||||
|
if utils.Interface2String(deliveryRangeInfo[0]["logistics_code"]) == mtwmapi.PeiSongTypeSelf {
|
||||||
|
retVal.DeliveryType = scheduler.StoreDeliveryTypeByStore
|
||||||
|
} else {
|
||||||
|
retVal.DeliveryType = scheduler.StoreDeliveryTypeCrowdSourcing
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return retVal, nil
|
return retVal, nil
|
||||||
|
|||||||
Reference in New Issue
Block a user