- GetPlaces support keyword.
This commit is contained in:
@@ -12,6 +12,7 @@ import (
|
||||
"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,6 +20,13 @@ const (
|
||||
VendorStorePrefix = "好菜鲜生"
|
||||
)
|
||||
|
||||
type tEbaiStoreInfo struct {
|
||||
model.Store
|
||||
VendorStoreID string `orm:"column(vendor_store_id)"`
|
||||
RealLastOperator string
|
||||
EbaiStoreStatus int
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) ReadStore(vendorStoreID string) (*model.Store, error) {
|
||||
baiduShopID := utils.Str2Int64(vendorStoreID)
|
||||
result, err := api.EbaiAPI.ShopGet("", baiduShopID)
|
||||
@@ -70,20 +78,34 @@ func (p *PurchaseHandler) ReadStore(vendorStoreID string) (*model.Store, error)
|
||||
retVal.ID = int(utils.Str2Int64WithDefault(utils.Interface2String(result["shop_id"]), 0))
|
||||
|
||||
retVal.DeliveryRangeType = model.DeliveryRangeTypePolygon
|
||||
region := result["delivery_region"].([]interface{})[0].(map[string]interface{})["region"].([]interface{})[0].([]interface{})
|
||||
coords := make([]string, len(region))
|
||||
for k, v := range region {
|
||||
mapV := v.(map[string]interface{})
|
||||
coords[k] = fmt.Sprintf("%d,%d", jxutils.StandardCoordinate2Int(utils.MustInterface2Float64(mapV["longitude"])), jxutils.StandardCoordinate2Int(utils.MustInterface2Float64(mapV["latitude"])))
|
||||
}
|
||||
retVal.DeliveryRange = strings.Join(coords, ";")
|
||||
retVal.DeliveryRange = EbaiDeliveryRegion2Jx(result["delivery_region"])
|
||||
|
||||
return retVal, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
func (p *PurchaseHandler) UpdateStore(storeID int, userName string) error {
|
||||
return nil
|
||||
func (p *PurchaseHandler) UpdateStore(storeID int, userName string) (err error) {
|
||||
db := dao.GetDB()
|
||||
var store tEbaiStoreInfo
|
||||
sql := `
|
||||
SELECT t1.*, t2.status ebai_store_status, t2.vendor_store_id,
|
||||
IF(t1.updated_at > t2.updated_at, t1.last_operator, t2.last_operator) real_last_operator
|
||||
FROM store t1
|
||||
JOIN store_map t2 ON t1.id = t2.store_id AND t2.vendor_id = ?
|
||||
WHERE t1.id = ?`
|
||||
if err = dao.GetRow(db, &store, sql, model.VendorIDJD, storeID); err == nil {
|
||||
params := map[string]interface{}{
|
||||
"name": jxutils.ComposeStoreName(store.Name, partner.StoreNameSeparator, VendorStorePrefix),
|
||||
"address": store.Address,
|
||||
"coord_type": ebaiapi.CoordTypeAutonavi, // 一直用高德
|
||||
}
|
||||
// globals.SugarLogger.Debug(utils.Format4Output(params, false))
|
||||
if globals.EnableStoreWrite {
|
||||
err = api.JdAPI.UpdateStoreInfo4Open(store.VendorStoreID, store.RealLastOperator, params)
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func EbaiDeliveryType2Jx(deliveryType string) int8 {
|
||||
@@ -100,3 +122,17 @@ func EbaiDeliveryType2Jx(deliveryType string) int8 {
|
||||
return scheduler.StoreDeliveryTypeCrowdSourcing
|
||||
}
|
||||
}
|
||||
|
||||
func EbaiDeliveryRegion2Jx(deliveryRegion interface{}) string {
|
||||
region := deliveryRegion.([]interface{})[0].(map[string]interface{})["region"].([]interface{})[0].([]interface{})
|
||||
coords := make([]string, len(region))
|
||||
for k, v := range region {
|
||||
mapV := v.(map[string]interface{})
|
||||
coords[k] = fmt.Sprintf("%d,%d", jxutils.StandardCoordinate2Int(utils.MustInterface2Float64(mapV["longitude"])), jxutils.StandardCoordinate2Int(utils.MustInterface2Float64(mapV["latitude"])))
|
||||
}
|
||||
return strings.Join(coords, ";")
|
||||
}
|
||||
|
||||
func JxDeliveryRegion2Ebai(coords string) string {
|
||||
return ""
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user