From 8d9557a24f85612693fbe5ff8a40c8ebbcc2a97e Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 27 May 2019 23:38:12 +0800 Subject: [PATCH] - mtwm PoiInfo --- platformapi/mtwmapi/poi.go | 40 +++++++++++++++++++++++++++++---- platformapi/mtwmapi/poi_test.go | 6 ++--- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/platformapi/mtwmapi/poi.go b/platformapi/mtwmapi/poi.go index 392c361e..bc407d74 100644 --- a/platformapi/mtwmapi/poi.go +++ b/platformapi/mtwmapi/poi.go @@ -15,6 +15,38 @@ type PoiCategoryInfo struct { Name string `json:"name"` } +type PoiInfo struct { + Address string `json:"address,omitempty"` + AppID int `json:"app_id,omitempt"` + AppPoiCode string `json:"app_poi_code,omitempt"` + CityID int `json:"city_id,omitempt"` + Ctime int64 `json:"ctime,omitempt"` + InvoiceDescription string `json:"invoice_description,omitempt"` + InvoiceMinPrice int `json:"invoice_min_price,omitempt"` + InvoiceSupport int `json:"invoice_support,omitempt"` + IsOnline int `json:"is_online,omitempt"` + Latitude float64 `json:"latitude,omitempt"` + LocationID int `json:"location_id,omitempt"` + Longitude float64 `json:"longitude,omitempt"` + Name string `json:"name,omitempt"` + OpenLevel int `json:"open_level,omitempt"` + Phone string `json:"phone,omitempt"` + PicURL string `json:"pic_url,omitempt"` + PicURLLarge string `json:"pic_url_large,omitempt"` + PreBook int `json:"pre_book,omitempt"` + PreBookMaxDays int `json:"pre_book_max_days,omitempt"` + PreBookMinDays int `json:"pre_book_min_days,omitempt"` + PromotionInfo string `json:"promotion_info,omitempt"` + Remark string `json:"remark,omitempt"` + ShippingFee float64 `json:"shipping_fee,omitempt"` + ShippingTime string `json:"shipping_time,omitempt"` + StandbyTel string `json:"standby_tel,omitempt"` + TagName string `json:"tag_name,omitempt"` + ThirdTagName string `json:"third_tag_name,omitempt"` + TimeSelect int `json:"time_select,omitempt"` + Utime int64 `json:"utime,omitempt"` +} + func (a *API) PoiSave(poiCode string, poiParams map[string]interface{}) (err error) { _, err = a.AccessAPI("poi/save", false, utils.MergeMaps(utils.Params2Map(KeyAppPoiCode, poiCode), poiParams)) return err @@ -33,17 +65,17 @@ func (a *API) PoiGetIDs() (ids []string, err error) { return nil, err } -func (a *API) PoiMGet(poiCodes []string) (pois []map[string]interface{}, err error) { +func (a *API) PoiMGet(poiCodes []string) (pois []*PoiInfo, err error) { result, err := a.AccessAPI("poi/mget", true, map[string]interface{}{ KeyAppPoiCodes: strings.Join(poiCodes, ","), }) if err == nil { - return utils.Slice2MapSlice(result.([]interface{})), nil + err = utils.Map2StructByJson(result, &pois, false) } - return nil, err + return pois, err } -func (a *API) PoiGet(poiCode string) (poi map[string]interface{}, err error) { +func (a *API) PoiGet(poiCode string) (poi *PoiInfo, err error) { result, err := a.PoiMGet([]string{poiCode}) if err == nil { if len(result) == 0 { diff --git a/platformapi/mtwmapi/poi_test.go b/platformapi/mtwmapi/poi_test.go index 151ded8e..e8874199 100644 --- a/platformapi/mtwmapi/poi_test.go +++ b/platformapi/mtwmapi/poi_test.go @@ -7,7 +7,7 @@ import ( ) const ( - testPoiCode = "100077" + testPoiCode = "2523687" ) func TestPoiGetIDs(t *testing.T) { @@ -29,7 +29,7 @@ func TestPoiMGet(t *testing.T) { if len(result) != 1 { t.Fatal("result len is not ok") } - if result[0][KeyAppPoiCode] != testPoiCode { + if result[0].AppPoiCode != testPoiCode { t.Fatal("test_poi_01 is not equal") } t.Log(utils.Format4Output(result, false)) @@ -40,7 +40,7 @@ func TestPoiSave(t *testing.T) { if err != nil { t.Fatal(err) } - poiParams := utils.FilterMapNilMembers(result[0]) + poiParams := utils.FilterMapNilMembers(utils.Struct2FlatMap(result[0])) poiParams["name"] = "中国" err = api.PoiSave(testPoiCode, poiParams) if err != nil {