From 9a07035b58a85f06e5edaeeb83af7a3b35050817 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 14 Aug 2020 17:21:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E7=BD=AE=E9=A1=B6=E5=95=86?= =?UTF-8?q?=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/jdapi/jdapi_test.go | 2 +- platformapi/jdapi/store_page.go | 28 ++++++++++++++++++++++++++++ platformapi/jdapi/store_page_test.go | 9 +++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) diff --git a/platformapi/jdapi/jdapi_test.go b/platformapi/jdapi/jdapi_test.go index 7722474e..e16601cb 100644 --- a/platformapi/jdapi/jdapi_test.go +++ b/platformapi/jdapi/jdapi_test.go @@ -28,7 +28,7 @@ func init() { // api = New("c45e6510-00ba-4be2-977e-bcb9c9792cc7", "5d5577a2506f41b8b4ec520ba83490f5", "0b01b9eeb15b41dab1c3d05d95c17a26") // const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHCT3RM3CQG7IJIPUQ3THS5UIUYWMKINM7ETUOQB7OBPOPZVCT3ZJY55243TDVXLO25PP4UYSPTTPMNQ7HPMWOJKJ3BJWGVHD243MXH7NZWW264TKN5UOCJBSSSOKD2QQII" - const cookieValue = "YYJV3NHVBPHLD36FWP6F3EM5PTXJ2XZQS7U4HWRIDPP4IWGUKUIB4XG5N26CZRDLDF7PKOXBPD6BNTUAJLETLZOIWMCVFI3K6MYZIY4QBIXIMXYDJNUKFGJVQTN5356SAD6WPCIHWNQAG7DDMF7L7S3SHD6O37OTAHUCKU6ALXATYTGMHNFLM4XRLVSFUQAJR77M4URSZRKVO55243TDVXLO25PP4UYSPTTPMNRUFXDNP4WPE566Q6V4AH32F7HT" + const cookieValue = "OPJQMA7B3FTKCAUGO7FHCH5NMBGAWGGXYRNLEHYYZNGNPNIBCAM4IOEPG3NT3RIA44G5C3535Q5LGG4F4SR4AZVLGYKYTKFJJKEAOXENVBL5VXNILRP3GLNVVWA26XZ3VGSYOHA72RICMVZS3G53DTEH3J7VMEGG2RGQEK6VMGIWEIL3X66ZYUZZOKKUUBKAWCWZPLF745R6MSYFJJ6EXUPLU4UGKXFQWEBUCQAMIOV7EVR4JGDPUMIPCVZVKBP5XQU32N7XTB6LGOP5RZQCH7DRHM" api.SetJdCookie(cookieValue) api.SetCookie("user", "VCQUVHVJI4ELNGFZOYMCDYDUSHEJMPXZRZXSNBRB4MVBNENP72REAAZR3R4SGDJ5ZI4FLYLLN5EGBBMTFCWHZVESIWBNLKZPLHWD6UIBTPXOF5IXM6AVA3V6TUNZD5UJS43AROJ2IRPZWEN5AGZYBUEGD3MSKKBKBSRP3DSEQXLITYNBLFZCHXCA7L4KGOSJRMM7R5IQP7QGLGRQB27AOE4YMLRJ3UPTZADPWJOYB3UZ7UZHLBVZRREEX647O3WQUU4BYXUOFZPIPRR77W3PQV543E") } diff --git a/platformapi/jdapi/store_page.go b/platformapi/jdapi/store_page.go index 0118a8cf..6853617c 100644 --- a/platformapi/jdapi/store_page.go +++ b/platformapi/jdapi/store_page.go @@ -298,10 +298,12 @@ var ( regexpTable = regexp.MustCompile(`([\s\S]*?)
`) regexpTd = regexp.MustCompile(`([0-9].*)`) regexpJDUserPage = regexp.MustCompile(`共([\s\S].*)页/([\s\S].*)条记录`) + regexpJDStoreSkuPage = regexp.MustCompile(`共1/(.*)页`) regexpJDTbody = regexp.MustCompile(`([\s\S]*?)`) regexpJDTr = regexp.MustCompile(`([\s\S]*?)`) regexpJDTdInfo = regexp.MustCompile(`([\s\S]*?)`) regexpJDSkuID = regexp.MustCompile(`sku编码:(.*)`) + regexpJDSkuID2 = regexp.MustCompile(`

SKU编码:(.*)

`) regexpJDUserID = regexp.MustCompile(`value="(.*)"`) regexpJDUserIsManager = regexp.MustCompile(`
`) regexpJDStoreLevel = regexp.MustCompile(`门店分级 :(.*);`) @@ -1074,3 +1076,29 @@ func (a *API) GetJdShopOrders(orderStartTime, orderEndTime, orgCode, loginName s } return getJdShopOrdersResult, err } + +//获取京东的置顶门店商品 +//https://stock-store.jddj.com/storeproduct/query +func (a *API) GetJdTopSkus(vendorStoreID string) (vendorSkuIDs []string, totalCount int, err error) { + jdParams := map[string]interface{}{ + "fixedStatus": 1, + "stationNo": vendorStoreID, + "numStatus": 0, + "currentPage": 1, + "pageSize": 10, + } + body, err := a.AccessStorePage2("https://stock-store.jddj.com/storeproduct/query", jdParams, true, "") + if body != nil { + bodyStr := body.(map[string]interface{})["fakeData"].(string) + result := regexpJDStoreSkuPage.FindStringSubmatch(bodyStr) + totalCount = utils.Str2Int(result[1]) + resultTr := regexpJDTr.FindAllStringSubmatch(bodyStr, -1) + for _, v := range resultTr { + resultSkuID := regexpJDSkuID2.FindStringSubmatch(v[1]) + if strings.Contains(v[1], "取消置顶") { + vendorSkuIDs = append(vendorSkuIDs, resultSkuID[1]) + } + } + } + return vendorSkuIDs, totalCount, err +} diff --git a/platformapi/jdapi/store_page_test.go b/platformapi/jdapi/store_page_test.go index 62d085c3..f6f3a06b 100644 --- a/platformapi/jdapi/store_page_test.go +++ b/platformapi/jdapi/store_page_test.go @@ -272,3 +272,12 @@ func TestGetJdShopOrders(t *testing.T) { } t.Log(utils.Format4Output(result, false)) } + +func TestGetJdTopSkus(t *testing.T) { + result1, result2, err := api.GetJdTopSkus("11732425") + if err != nil { + t.Fatal(err) + } + t.Log(utils.Format4Output(result1, false)) + t.Log(utils.Format4Output(result2, false)) +}