- mtwm PoiInfo

This commit is contained in:
gazebo
2019-05-27 23:38:12 +08:00
parent 93a293b76b
commit 8d9557a24f
2 changed files with 39 additions and 7 deletions

View File

@@ -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 {

View File

@@ -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 {