diff --git a/platformapi/jdapi/store_page.go b/platformapi/jdapi/store_page.go
index 974eb12c..d3497432 100644
--- a/platformapi/jdapi/store_page.go
+++ b/platformapi/jdapi/store_page.go
@@ -21,6 +21,7 @@ const (
accessStorePageCookieName = "shop.o2o.jd.com1"
accessStorePageCookieName2 = "lsp-store1.jddj.com"
accessStorePageCookieName3 = "josl-privilege1.jddj.com"
+ accessStorePageCookieName4 = "o2o-stock1.jddj.com"
)
type SkuPageImg struct {
@@ -292,16 +293,17 @@ var (
pageExceedLimitCodes = map[string]int{
"403": 1,
}
- pageCanRetryCodes = map[string]int{}
- regexpTable = regexp.MustCompile(`
`)
- regexpJDStoreLevel = regexp.MustCompile(`门店分级 :(.*);`)
- htmlResponeURLs = []string{
+ pageCanRetryCodes = map[string]int{}
+ regexpTable = regexp.MustCompile(`
`)
+ regexpTd = regexp.MustCompile(`
([0-9].*) | `)
+ regexpJDUserPage = regexp.MustCompile(`共([\s\S].*)页/([\s\S].*)条记录`)
+ regexpJDTr = regexp.MustCompile(`
([\s\S]*?)
`)
+ regexpJDTdInfo = regexp.MustCompile(`
([\s\S]*?) | `)
+ regexpJDUserID = regexp.MustCompile(`value="(.*)"`)
+ regexpJDUserIsManager = regexp.MustCompile(`
`)
+ regexpJDStoreLevel = regexp.MustCompile(`门店分级 :(.*);`)
+ regexpJDSkuDirectPrice = regexp.MustCompile(`
([\s\S]*?) | `)
+ htmlResponeURLs = []string{
"login-o2o.jddj.com/jpuser/",
"sta-store.jddj.com/store/",
}
@@ -323,6 +325,7 @@ func (a *API) SetJdCookie(cookieValue string) {
a.SetCookie(accessStorePageCookieName, cookieValue)
a.SetCookie(accessStorePageCookieName2, cookieValue)
a.SetCookie(accessStorePageCookieName3, cookieValue)
+ a.SetCookie(accessStorePageCookieName4, cookieValue)
}
func (a *API) AccessStorePage2(fullURL string, params map[string]interface{}, isPost bool, resultKey string) (retVal interface{}, err error) {
@@ -812,3 +815,27 @@ func (a *API) GetJdUpcCodeByName(name, upcCode string, pageNo, pageSize int) (pr
}
return productInfos, err
}
+
+//获取京东商品的指导价格
+//https://stock-store.jddj.com/storeproduct/query
+func (a *API) GetJdSkuDirectPrice(skuID int) (price int64, err error) {
+ jdParams := map[string]interface{}{
+ "outSkuId": skuID,
+ "fixedStatus": 1,
+ "stationNo": "allStation",
+ "numStatus": 0,
+ "currentPage": 1,
+ "pageSize": 1,
+ }
+ body, err := a.AccessStorePage2("https://stock-store.jddj.com/storeproduct/query", jdParams, true, "")
+ bodyStr := body.(map[string]interface{})["fakeData"].(string)
+ result := regexpJDSkuDirectPrice.FindAllStringSubmatch(bodyStr, -1)
+ if len(result) > 0 {
+ if result[3][1] != "" {
+ return utils.Float64TwoInt64(utils.Str2Float64(result[3][1]) * 100), err
+ } else {
+ return 0, err
+ }
+ }
+ return price, err
+}
diff --git a/platformapi/jdapi/store_page_test.go b/platformapi/jdapi/store_page_test.go
index bfcd08b9..168cd643 100644
--- a/platformapi/jdapi/store_page_test.go
+++ b/platformapi/jdapi/store_page_test.go
@@ -234,3 +234,8 @@ func TestGetJdStoreLevel(t *testing.T) {
func TestGetJdUpcCodeByName(t *testing.T) {
api.GetJdUpcCodeByName("", "6952395700895", 2, 5)
}
+
+func TestGetJdSkuDirectPrice(t *testing.T) {
+ result, err := api.GetJdSkuDirectPrice(31031)
+ fmt.Println("test1", result, err)
+}