- 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"`
|
||||
LicenceCode string `orm:"size(32)" json:"licenceCode"`
|
||||
|
||||
DeliveryType int8 `orm:"-" json:"-"`
|
||||
DeliveryType int8 `orm:"-" json:"deliveryType"` // 仅用于传值
|
||||
}
|
||||
|
||||
func (*Store) TableUnique() [][]string {
|
||||
|
||||
@@ -3,7 +3,9 @@ package mtwm
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
|
||||
"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/jxcontext"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/tasksch"
|
||||
@@ -30,16 +32,15 @@ type tEbaiStoreInfo struct {
|
||||
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)
|
||||
if err == nil {
|
||||
// globals.SugarLogger.Debug(utils.Format4Output(result, false))
|
||||
retVal := &model.Store{
|
||||
retVal = &model.Store{
|
||||
Address: utils.Interface2String(result["address"]),
|
||||
Tel1: utils.Interface2String(result["phone"]),
|
||||
}
|
||||
_, retVal.Name = jxutils.SplitStoreName(utils.Interface2String(result["name"]), partner.StoreNameSeparator, VendorStorePrefix)
|
||||
retVal.DeliveryType = 0 // todo
|
||||
|
||||
openTimes := openTimeMtwm2JX(result["shipping_time"].(string))
|
||||
if len(openTimes) > 0 {
|
||||
@@ -70,11 +71,19 @@ func (p *PurchaseHandler) ReadStore(vendorStoreID string) (*model.Store, error)
|
||||
poiCode := utils.Interface2String(result["app_poi_code"])
|
||||
retVal.ID = int(utils.Str2Int64WithDefault(poiCode, 0))
|
||||
retVal.DeliveryRangeType = model.DeliveryRangeTypePolygon
|
||||
if deliveryRangeInfo, err := api.MtwmAPI.ShippingList(poiCode); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
var deliveryRangeInfo []map[string]interface{}
|
||||
deliveryRangeInfo, err = api.MtwmAPI.ShippingList(poiCode)
|
||||
if err != nil {
|
||||
deliveryRangeInfo, err = api.MtwmAPI.ShippingFetch(poiCode)
|
||||
}
|
||||
if err == nil {
|
||||
if len(deliveryRangeInfo) > 0 {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user