查询京东回收站

This commit is contained in:
苏尹岚
2020-04-23 16:08:33 +08:00
parent d5866bfc96
commit 3de7628a0e
2 changed files with 55 additions and 0 deletions

View File

@@ -297,8 +297,10 @@ var (
regexpTable = regexp.MustCompile(`<table class="check-container" data-container="list1">([\s\S]*?)</table>`)
regexpTd = regexp.MustCompile(`<td>([0-9].*)</td>`)
regexpJDUserPage = regexp.MustCompile(`共([\s\S].*)页/([\s\S].*)条记录`)
regexpJDTbody = regexp.MustCompile(`<tbody>([\s\S]*?)</tbody>`)
regexpJDTr = regexp.MustCompile(`<tr>([\s\S]*?)</tr>`)
regexpJDTdInfo = regexp.MustCompile(`<td>([\s\S]*?)</td>`)
regexpJDSkuID = regexp.MustCompile(`sku编码:(.*)`)
regexpJDUserID = regexp.MustCompile(`value="(.*)"`)
regexpJDUserIsManager = regexp.MustCompile(`<div class="list-mask">`)
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
}

View File

@@ -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))
}