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(`([\s\S]*?)
`) 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)) +}