diff --git a/platformapi/jdapi/store_page.go b/platformapi/jdapi/store_page.go index 09c39e1b..105bed5b 100644 --- a/platformapi/jdapi/store_page.go +++ b/platformapi/jdapi/store_page.go @@ -5,6 +5,7 @@ import ( "fmt" "net/http" "net/url" + "regexp" "strings" "git.rosy.net.cn/baseapi" @@ -136,6 +137,10 @@ type PageShopInfo struct { StoreShareURL string `json:"storeShareUrl"` } +var ( + monthSaleNumReg = regexp.MustCompile(`(\d+)([千|万])`) +) + func (a *API) SetStoreCookie(storeCookie string) { a.locker.Lock() defer a.locker.Unlock() @@ -307,3 +312,18 @@ func (a *API) GetCorporationInfo(stationNo, qualifyNumber string) (corporatonInf } return corporatonInfo, err } + +func MonthSaleNum2Int(monthSaleNumStr string) (monthSaleNum int) { + searchResult := monthSaleNumReg.FindStringSubmatch(monthSaleNumStr) + if searchResult != nil && len(searchResult[1]) > 0 && len(searchResult[2]) > 0 { + monthSaleNum = int(utils.Str2Int64WithDefault(searchResult[1], 0)) + if searchResult[2] == "千" { + monthSaleNum *= 1000 + } else if searchResult[2] == "万" { + monthSaleNum *= 10000 + } + } else { + monthSaleNum = int(utils.Str2Int64WithDefault(monthSaleNumStr, 0)) + } + return monthSaleNum +} diff --git a/platformapi/jdapi/store_page_test.go b/platformapi/jdapi/store_page_test.go index ce532add..1dd0658c 100644 --- a/platformapi/jdapi/store_page_test.go +++ b/platformapi/jdapi/store_page_test.go @@ -80,9 +80,24 @@ func TestGetStoreInfo(t *testing.T) { } func TestGetStoreInfo2(t *testing.T) { - result, err := api.GetStoreInfo2("11750116") + result, err := api.GetStoreInfo2("11734879") if err != nil { t.Fatal(err) } t.Log(utils.Format4Output(result, false)) } + +func TestMonthSaleNum2Int(t *testing.T) { + num1 := MonthSaleNum2Int("1千+") + if num1 != 1000 { + t.Fatalf("num1:%d", num1) + } + num2 := MonthSaleNum2Int("2万+") + if num2 != 20000 { + t.Fatalf("num2:%d", num2) + } + num3 := MonthSaleNum2Int("234") + if num3 != 234 { + t.Fatalf("num3:%d", num3) + } +}