- 饿百页面拉取方法调整GetStoreList

This commit is contained in:
gazebo
2019-09-11 14:45:29 +08:00
parent 7e2dfd070b
commit e4fc1901b5
2 changed files with 33 additions and 10 deletions

View File

@@ -515,22 +515,45 @@ func (a *API) PageGetCustomCatList(baiduShopID int64) (catList []map[string]inte
return nil, err return nil, err
} }
func (a *API) GetStoreList(lng string, lat string) (retVal map[string]interface{}, err error) { func (a *API) GetStoreList(lng string, lat string, pageNo, pageSize int) (shopListInfo *PageListInfo, err error) {
if pageNo <= 0 {
pageNo = 1
}
if pageSize > 20 || pageSize <= 0 {
pageSize = 20
}
params := map[string]interface{}{ params := map[string]interface{}{
"channel": "kitchen", "channel": "kitchen",
"pn": 1, "rn": pageSize,
"rn": 999, "pn": pageNo,
"lng": lng, "lng": lng,
"lat": lat, "lat": lat,
} }
retVal, err = a.AccessStorePageNoCookie("/newretail/main/shoplist", params) result, err := a.AccessStorePageNoCookie("newretail/main/shoplist", params)
return retVal, err if err == nil && result != nil {
err = utils.Map2StructByJson(result, &shopListInfo, true)
}
return shopListInfo, err
} }
func (a *API) GetStoreList2(lng float64, lat float64) (shopListInfo *PageListInfo, err error) { func (a *API) GetStoreList2(lng float64, lat float64) (shopListInfo *PageListInfo, err error) {
retVal, err := a.GetStoreList(fmt.Sprintf("%.6f", lng), fmt.Sprintf("%.6f", lat)) pageSize := 20
if err == nil { pageNo := 1
err = utils.Map2StructByJson(retVal, &shopListInfo, true) for {
retVal, err2 := a.GetStoreList(fmt.Sprintf("%.6f", lng), fmt.Sprintf("%.6f", lat), pageNo, pageSize)
if err = err2; err == nil {
if shopListInfo == nil {
shopListInfo = retVal
} else {
shopListInfo.ShopList = append(shopListInfo.ShopList, retVal.ShopList...)
if len(retVal.ShopList) < pageSize {
break
}
}
pageNo++
} else {
break
}
} }
return shopListInfo, err return shopListInfo, err
} }

View File

@@ -107,7 +107,7 @@ func TestGetShopHealthByDetail(t *testing.T) {
} }
func TestGetStoreList(t *testing.T) { func TestGetStoreList(t *testing.T) {
result, err := api.GetStoreList("104.057218", "30.6949") result, err := api.GetStoreList("104.057218", "30.6949", 0, 0)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -115,7 +115,7 @@ func TestGetStoreList(t *testing.T) {
} }
func TestGetStoreList2(t *testing.T) { func TestGetStoreList2(t *testing.T) {
result, err := api.GetStoreList2(120.074911, 29.306863) result, err := api.GetStoreList2(104.010554, 30.637072)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }