From a784eaa8b27b36e537d5cc119571afa80d3afefc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 28 Nov 2019 08:51:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9F=A5=E8=AF=A2=E4=BA=AC?= =?UTF-8?q?=E4=B8=9C=E5=95=86=E5=9F=8E=E7=94=A8=E6=88=B7=E5=85=B3=E8=81=94?= =?UTF-8?q?=E9=97=A8=E5=BA=97=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/jdapi/store_page.go | 25 +++++++++++++++++++++++++ platformapi/jdapi/store_page_test.go | 9 +++++++++ 2 files changed, 34 insertions(+) diff --git a/platformapi/jdapi/store_page.go b/platformapi/jdapi/store_page.go index 284264a7..4a1d19f1 100644 --- a/platformapi/jdapi/store_page.go +++ b/platformapi/jdapi/store_page.go @@ -10,6 +10,7 @@ import ( "net/url" "regexp" "strings" + "time" "git.rosy.net.cn/baseapi" "git.rosy.net.cn/baseapi/platformapi" @@ -227,6 +228,8 @@ var ( "403": 1, } pageCanRetryCodes = map[string]int{} + regexpTable = regexp.MustCompile(`([\s\S]*?)
`) + regexpTd = regexp.MustCompile(`([0-9].*)`) ) const ( @@ -537,3 +540,25 @@ func (a *API) SaveQualify(stationNo string, actionType int, qualifyList []*Quali }, true, "") return err } + +func (a *API) GetJdUserBindStoreIDs(userID int) (vendorStoreIDs []string, err error) { + unix := time.Now().Unix() * 1000 + params := map[string]interface{}{ + "stationName": "", + "stationNo": "", + "city": "", + "_": utils.Int64ToStr(unix), + "userId": utils.Int2Str(userID), + } + body, err := a.AccessStorePage2("https://login-o2o.jddj.com/jpuser/bindStore/"+utils.Int2Str(userID), params, false, "") + if err != nil { + return nil, err + } + bodyStr := body.(string) + tableStr := regexpTable.FindString(bodyStr) + vendorStoreIDsRegexp := regexpTd.FindAllStringSubmatch(tableStr, -1) + for _, v := range vendorStoreIDsRegexp { + vendorStoreIDs = append(vendorStoreIDs, v[1]) + } + return vendorStoreIDs, err +} diff --git a/platformapi/jdapi/store_page_test.go b/platformapi/jdapi/store_page_test.go index cc2f4045..310e2f1a 100644 --- a/platformapi/jdapi/store_page_test.go +++ b/platformapi/jdapi/store_page_test.go @@ -1,6 +1,7 @@ package jdapi import ( + "fmt" "testing" "git.rosy.net.cn/baseapi" @@ -189,3 +190,11 @@ func TestSaveQualify(t *testing.T) { t.Fatal(err) } } + +func TestGetJdUserBindStoreIDs(t *testing.T) { + vv, err := api.GetJdUserBindStoreIDs(339890) + if err != nil { + t.Fatal(err) + } + fmt.Println(vv) +}