From 3de7628a0e24326ffeff2267d608312b02241bb0 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, 23 Apr 2020 16:08:33 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=BA=AC=E4=B8=9C=E5=9B=9E?=
=?UTF-8?q?=E6=94=B6=E7=AB=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
platformapi/jdapi/store_page.go | 40 ++++++++++++++++++++++++++++
platformapi/jdapi/store_page_test.go | 15 +++++++++++
2 files changed, 55 insertions(+)
diff --git a/platformapi/jdapi/store_page.go b/platformapi/jdapi/store_page.go
index da604822..317bf339 100644
--- a/platformapi/jdapi/store_page.go
+++ b/platformapi/jdapi/store_page.go
@@ -297,8 +297,10 @@ var (
regexpTable = regexp.MustCompile(`
`)
regexpTd = regexp.MustCompile(`([0-9].*) | `)
regexpJDUserPage = regexp.MustCompile(`共([\s\S].*)页/([\s\S].*)条记录`)
+ regexpJDTbody = regexp.MustCompile(`([\s\S]*?)`)
regexpJDTr = regexp.MustCompile(`([\s\S]*?)
`)
regexpJDTdInfo = regexp.MustCompile(`([\s\S]*?) | `)
+ regexpJDSkuID = regexp.MustCompile(`sku编码:(.*)`)
regexpJDUserID = regexp.MustCompile(`value="(.*)"`)
regexpJDUserIsManager = regexp.MustCompile(``)
regexpJDStoreLevel = regexp.MustCompile(`门店分级 :(.*);`)
@@ -306,6 +308,7 @@ var (
htmlResponeURLs = []string{
"login-o2o.jddj.com/jpuser/",
"sta-store.jddj.com/store/",
+ "pms-store.jddj.com/ware",
}
)
@@ -865,3 +868,40 @@ func (a *API) RefreshJdDepot(skuID int) (result interface{}, err error) {
result, err = a.AccessStorePage2("https://pms-store.jddj.com/ware/updateWareRollBackStatus", jdParams, true, "")
return result, err
}
+
+type SearchDeleteWareResult struct {
+ SkuID int `json:"skuID"`
+ JdID int `json:"jdID"`
+}
+
+//查询京东回收站
+func (a *API) SearchDeleteWare(deleteTimeStart, deleteTimeEnd string, page, pagesize int) (searchDeleteWareResults []*SearchDeleteWareResult, err error) {
+ jdParams := map[string]interface{}{
+ "shopCategoryLevel1": -2,
+ "shopCategoryLevel2": -2,
+ "shopCategoryLevel3": -2,
+ "deleteTimeStart": deleteTimeStart,
+ "deleteTimeEnd": deleteTimeEnd,
+ "wareStatusStr": "onSale",
+ "orderBy": "undefined",
+ "page": 1,
+ "pageSize": 20,
+ }
+ body, err := a.AccessStorePage2("https://pms-store.jddj.com/ware/searchDeleteWare", jdParams, true, "")
+ if body != nil {
+ bodyStr := body.(string)
+ tbody := regexpJDTbody.FindStringSubmatch(bodyStr)
+ trs := regexpJDTr.FindAllStringSubmatch(tbody[1], -1)
+ if len(trs) > 0 {
+ for _, v := range trs {
+ tds := regexpJDTdInfo.FindAllStringSubmatch(v[1], -1)
+ searchDeleteWareResult := &SearchDeleteWareResult{
+ SkuID: int(utils.Str2Int64(regexpJDSkuID.FindStringSubmatch(v[1])[1])),
+ JdID: int(utils.Str2Int64(tds[2][1])),
+ }
+ searchDeleteWareResults = append(searchDeleteWareResults, searchDeleteWareResult)
+ }
+ }
+ }
+ return searchDeleteWareResults, err
+}
diff --git a/platformapi/jdapi/store_page_test.go b/platformapi/jdapi/store_page_test.go
index 168cd643..739525c2 100644
--- a/platformapi/jdapi/store_page_test.go
+++ b/platformapi/jdapi/store_page_test.go
@@ -239,3 +239,18 @@ func TestGetJdSkuDirectPrice(t *testing.T) {
result, err := api.GetJdSkuDirectPrice(31031)
fmt.Println("test1", result, err)
}
+
+func TestSearchDeleteWare(t *testing.T) {
+ var (
+ page = 1
+ pageSize = 20
+ searchResults []*SearchDeleteWareResult
+ )
+ for ; page < 367; page++ {
+ searchDeleteWareResults, err := api.SearchDeleteWare("2020-04-22", "2020-04-23", page, pageSize)
+ if err == nil && len(searchDeleteWareResults) > 0 {
+ searchResults = append(searchResults, searchDeleteWareResults...)
+ }
+ }
+ fmt.Println(utils.Format4Output(searchResults, false))
+}