From 824aabbfa7793745151e1945b60906348d261ae7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 24 Mar 2021 10:58:31 +0800 Subject: [PATCH] aa --- platformapi/jdapi/jdapi_test.go | 4 +- platformapi/jdapi/store_page.go | 67 ++++++++++++++++++++++++++++ platformapi/jdapi/store_page_test.go | 29 ++++++------ 3 files changed, 84 insertions(+), 16 deletions(-) diff --git a/platformapi/jdapi/jdapi_test.go b/platformapi/jdapi/jdapi_test.go index d8881ef7..5ffd3e86 100644 --- a/platformapi/jdapi/jdapi_test.go +++ b/platformapi/jdapi/jdapi_test.go @@ -34,8 +34,8 @@ func init() { // api.SetJdCookie(cookieValue) // api.SetCookie("user", "VCQUVHVJI4ELNGFZOYMCDYDUSHEJMPXZRZXSNBRB4MVBNENP72REAAZR3R4SGDJ5ZI4FLYLLN5EGBBMTFCWHZVESIWBNLKZPLHWD6UIBTPXOF5IXM6AVA3V6TUNZD5UJS43AROJ2IRPZWEN5AGZYBUEGD3MSKKBKBSRP3DSEQXLITYNBLFZCHXCA7L4KGOSJRMM7R5IQP7QGLGRQB27AOE4YMLRJ3UPTZADPWJOYB3UZ7UZHLBVZRREEX647O3WQUU4BYXUOFZPIPRR77W3PQV543E") api.SetCookieWithStr(` - lsp-store1.jddj.com=LSQNGFCHHF25J36CP5K7IVZ7GQ3IGPWLA3UFJDLOGRJ7D5JSEQY63IZPU2644VM3AF245ANGSYECBX4YHWF7LQNI46AL3RNJUBNL46ZJP6APMSIB5S2IL44UFTUXD4ES7NJGTRND64MSP5YAUIRCUGXTR3DP2X4QGGUXUZMYYZDPZYNHFSZ2WADBZSSJK5NTIGIQPPKWULCZTFMODOZQIP3QS74RQ25D3XYAYGWXTHOKBSRIYFDGFS4MIBIGXPL4JOU24WJL4PVF3PPYDNTOLLXDABUFAZSE6C6CNOMI6L2TAK43JJIJQRQAQUQSU537ZFLVPGBYFDJYY; store_deviceid=f8dc2505cd85d22da78edb86122bead7; jdO2OOpenPortalSessionId=821701404AB5BD1C5951146C6B69B977.s1; token=dd4cc1f4859b40b4a46070632170d1ad; JSESSIONID=2249A53C59B3E9F5E9EF6335E3E95AFB.s1 - + lsp-store1.jddj.com=LZSN2D4HNL7VHORO6VYPUBXBW33EQX2RQK5RL67NL62WPT7YDRVO3IZPU2644VM3AF245ANGSYECBFWQWT23NCMR4PSPSYIB2DE4AEG3C54CJ3IVE4NT772Y2ZXOXVHV6MXMGEQMTUA77SWSPFSKHWSL46U5QMM63EFG7M4X6LTPQTVXUQEFGS4MN4SASUJXKO3H5VAYNYSHYPQFRWX33CS3V7ZFZJG5TJBH3ASTKUTN4B27RGRU7M7KEKNI4UAHGIZX33RF2MHCF76BF2KB2Q3HTNXN7FSC2NHYJWBRIIRMP6W44EDED2ZMUGIFYVUY5JBXDO6GUFM74; josl-privilege1.jddj.com=LZSN2D4HNL7VHORO6VYPUBXBW33EQX2RQK5RL67NL62WPT7YDRVO3IZPU2644VM3AF245ANGSYECBFWQWT23NCMR4PSPSYIB2DE4AEG3C54CJ3IVE4NT772Y2ZXOXVHV6MXMGEQMTUA77SWSPFSKHWSL446BI2GZ76YICKHNQQE7LANVONY2SAVICNPUYL3EC2WOWZGHBIBFL2YASQA4SIPT7U327WMVWVWNW7STKUTN4B27RGRU7M7KEKNI4UAHP4BS6QGR22RJNP36KSPH3CWW7B5LYP3Q7XIQACN34TM6JCBC3BWLILQOALXSO3ZBU5Q2RZJH2BMPIU3CGHF22D5GNS3U7O2AN3PH5TI; o2o-pms1.jddj.com=LZSN2D4HNL7VHORO6VYPUBXBW33EQX2RQK5RL67NL62WPT7YDRVO3IZPU2644VM3AF245ANGSYECBFWQWT23NCMR4PSPSYIB2DE4AEG3C54CJ3IVE4NT772Y2ZXOXVHV6MXMGEQMTUA77SWSPFSKHWSL446BI2GZ76YICKHNQQE7LANVONYZR2KMLOWLHCAFI2P76M5DAFNZUD7V5LW3HQ6SB2ZHOMAEFZSUGDFJS2PVBZCSMSBXBXIJ6YFLJLKPH52G7I62SDF5RHGRTVGRAGFPLM; o2o-stock1.jddj.com=LZSN2D4HNL7VHORO6VYPUBXBW33EQX2RQK5RL67NL62WPT7YDRVO3IZPU2644VM3AF245ANGSYECBFWQWT23NCMR4PSPSYIB2DE4AEG3C54CJ3IVE4NT772Y2ZXOXVHV6MXMGEQMTUA77SWSPFSKHWSL446BI2GZ76YICKHNQQE7LANVONYZPQ63PZY7AT3AV3NFZUW43OVQTBSSIABQF7LPHTNYYSJ2LCKKUA5JS2PVBZCSMSBXBXIJ6YFLJLKPSHZBQN5H3C4TCLUKVQGVYJFI7A; store_deviceid=89a38e81dfbb776fa5f866f74ed437a3; store_session=%231616491340877; UM_distinctid=1785e64face506-0d40b0789ccacd-43734711-15f900-1785e64facfd5; jdO2OOpenPortalSessionId=891154C098C60F80008BAEFD62FA1D76.s1; JSESSIONID=D8C44B9F4593E0B675B45112F5ADCBF1.s1 + `) } diff --git a/platformapi/jdapi/store_page.go b/platformapi/jdapi/store_page.go index 54578f42..60d331c3 100644 --- a/platformapi/jdapi/store_page.go +++ b/platformapi/jdapi/store_page.go @@ -510,6 +510,62 @@ func (a *API) AccessStorePage3(fullURL string, params map[string]interface{}, re return retVal, err } +func (a *API) AccessStorePage4(fullURL string, values string) (retVal interface{}, err error) { + if a.GetCookieCount() == 0 { + return nil, fmt.Errorf("需要设置Store Cookie才能使用此方法") + } + err = platformapi.AccessPlatformAPIWithRetry(a.client, + func() *http.Request { + request, _ := http.NewRequest(http.MethodPost, fullURL, strings.NewReader(values)) + request.Header.Set("Content-Type", "application/x-www-form-urlencoded") + request.Header.Set("accept", "application/json, text/javascript, */*; q=0.01") + request.Header.Set("charset", "UTF-8") + a.FillRequestCookies(request) + return request + }, + a.config, + func(response *http.Response, bodyStr string, jsonResult1 map[string]interface{}) (errLevel string, err error) { + if jsonResult1 == nil { + return platformapi.ErrLevelRecoverableErr, fmt.Errorf("mapData is nil") + } + for _, v := range htmlResponeURLs { + if strings.Index(fullURL, v) >= 0 && jsonResult1[platformapi.KeyData] != nil { + retVal = bodyStr + return platformapi.ErrLevelSuccess, nil + } + } + retVal = jsonResult1 + var errMsg string + code, ok := jsonResult1["code"].(string) + if !ok { + if statusMap, ok := jsonResult1["status"].(map[string]interface{}); !ok { + if jsonResult1["operTag"] != nil { + return platformapi.ErrLevelSuccess, nil + } + return platformapi.ErrLevelGeneralFail, utils.NewErrorCode(utils.Format4Output(jsonResult1, true), "999") + } else { + code = utils.Int64ToStr(utils.ForceInterface2Int64(statusMap["errorCode"])) + errMsg = utils.Interface2String(statusMap["message"]) + } + } else { + errMsg = utils.Interface2String(jsonResult1["msg"]) + } + if code == ResponseCodeSuccess { + return platformapi.ErrLevelSuccess, nil + } + newErr := utils.NewErrorCode(errMsg, code) + if _, ok := pageExceedLimitCodes[code]; ok { + return platformapi.ErrLevelExceedLimit, newErr + } else if _, ok := pageCanRetryCodes[code]; ok { + return platformapi.ErrLevelRecoverableErr, newErr + } else { + baseapi.SugarLogger.Debugf("jd AccessStorePage failed, jsonResult1:%s", utils.Format4Output(jsonResult1, true)) + return platformapi.ErrLevelCodeIsNotOK, newErr + } + }) + return retVal, err +} + func (a *API) AccessStorePage(fullURL string, params map[string]interface{}, isPost bool) (retVal map[string]interface{}, err error) { result, err := a.AccessStorePage2(fullURL, params, isPost, ResultKeyResult) if err == nil { @@ -1183,6 +1239,17 @@ func (a *API) ExcuteInvoking(interfaceId string, interfaceType int) (err error) return err } +//上线前,测试接口 +func (a *API) SaveCheckedInters() (err error) { + retVal := "" + for k, v := range interfaceMap { + retVal += "interfaceIds[]=" + k + "-" + utils.Int64ToStr(utils.MustInterface2Int64(v[1])) + "&" + } + retVal = retVal[:len(retVal)-1] + _, err = a.AccessStorePage4("https://openo2o.jddj.com/sandBox/saveCheckedInters.htm", retVal) + return err +} + //我要上线 func (a *API) ToOnline() (err error) { _, err = a.AccessStorePage2("https://openo2o.jddj.com/sandBox/toOnline.htm", nil, true, "") diff --git a/platformapi/jdapi/store_page_test.go b/platformapi/jdapi/store_page_test.go index 419b8389..2593fc91 100644 --- a/platformapi/jdapi/store_page_test.go +++ b/platformapi/jdapi/store_page_test.go @@ -5,6 +5,7 @@ import ( "regexp" "strings" "testing" + "time" "git.rosy.net.cn/baseapi" "git.rosy.net.cn/baseapi/utils" @@ -293,19 +294,19 @@ func TestExcuteInvoking(t *testing.T) { } func TestPeiZhiJdZhangHao(t *testing.T) { - // for k, v := range interfaceMap { - // if err := api.UpdateInterStatus(k, v[0].(string), v[1].(int)); err == nil { - // if err2 := api.SaveMsgUrl(k, "http://callback.test.jxc4.com", "http://callback.jxc4.com", v[1].(int)); err2 == nil { - // if err3 := api.ExcuteInvoking(k, v[1].(int)); err3 == nil { - // } - // } - // } - // } - // result, err := api.GetJdNoAuthAppID("364131") - result, err := api.GetJdAppInfo() - // err := api.SetCode("yCpbjc", "8770") - if err != nil { - t.Fatal(err) + for k, v := range interfaceMap { + if err := api.UpdateInterStatus(k, v[0].(string), v[1].(int)); err == nil { + if err2 := api.SaveMsgUrl(k, "http://callback.test.jxc4.com", "http://callback.jxc4.com", v[1].(int)); err2 == nil { + if err3 := api.ExcuteInvoking(k, v[1].(int)); err3 == nil { + } + } + } } - t.Log(utils.Format4Output(result, false)) + api.SaveCheckedInters() + time.Sleep(time.Second * 2) + api.ToOnline() +} + +func TestSecond(t *testing.T) { + }