From e0ce7a1c293d70124dcb60d56bd642140061fbc0 Mon Sep 17 00:00:00 2001 From: gazebo Date: Thu, 21 Jun 2018 16:15:51 +0800 Subject: [PATCH] - change jdapi params type from map[string]string to map[string]interface{}. --- platform/jdapi/callback.go | 2 +- platform/jdapi/jdapi.go | 34 +++++++++++++++++----------------- platform/jdapi/jdapi_test.go | 10 +++++----- platform/jdapi/order.go | 8 ++++---- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/platform/jdapi/callback.go b/platform/jdapi/callback.go index 9cd56a54..7c98ddd4 100644 --- a/platform/jdapi/callback.go +++ b/platform/jdapi/callback.go @@ -57,7 +57,7 @@ func (j *JDAPI) unmarshalData(strData string, msg interface{}) (callbackResponse } func (j *JDAPI) CheckCallbackValidation(request *http.Request) (callbackResponse *JDCallbackResponse) { - mapData := make(map[string]string) + mapData := make(map[string]interface{}) mapData["token"] = request.FormValue("token") mapData["app_key"] = request.FormValue("app_key") mapData["timestamp"] = request.FormValue("timestamp") diff --git a/platform/jdapi/jdapi.go b/platform/jdapi/jdapi.go index 7cc586fc..4a9796cf 100644 --- a/platform/jdapi/jdapi.go +++ b/platform/jdapi/jdapi.go @@ -7,7 +7,6 @@ import ( "net/http" "net/url" "sort" - "strconv" "time" "git.rosy.net.cn/baseapi" @@ -96,7 +95,7 @@ var ( type PageResultParser func(map[string]interface{}, int) ([]interface{}, int) -func (j *JDAPI) signParams(jdParams map[string]string) string { +func (j *JDAPI) signParams(jdParams map[string]interface{}) string { var keys []string for k := range jdParams { if k != "app_secret" && k != signKey { @@ -105,16 +104,17 @@ func (j *JDAPI) signParams(jdParams map[string]string) string { } sort.Strings(keys) - allStr := "" + secretStr := fmt.Sprint(jdParams["app_secret"]) + allStr := secretStr for _, k := range keys { - allStr += k + jdParams[k] + allStr += k + fmt.Sprint(jdParams[k]) } - allStr = jdParams["app_secret"] + allStr + jdParams["app_secret"] + allStr = allStr + secretStr return fmt.Sprintf("%X", md5.Sum([]byte(allStr))) } -func genGetURL(baseURL, apiStr string, params map[string]string) string { +func genGetURL(baseURL, apiStr string, params map[string]interface{}) string { fullURL := "" if params != nil { @@ -124,7 +124,7 @@ func genGetURL(baseURL, apiStr string, params map[string]string) string { } else { fullURL += "&" } - fullURL += k + "=" + url.QueryEscape(v) + fullURL += k + "=" + url.QueryEscape(fmt.Sprint(v)) } } @@ -135,8 +135,8 @@ func NewJDAPI(token, appKey, appSecret string) *JDAPI { return &JDAPI{token, appKey, appSecret, &http.Client{Timeout: clientTimeout}} } -func (j *JDAPI) AccessJDQuery(apiStr string, jdParams map[string]string) (retVal map[string]interface{}, err error) { - params := make(map[string]string) +func (j *JDAPI) AccessJDQuery(apiStr string, jdParams map[string]interface{}) (retVal map[string]interface{}, err error) { + params := make(map[string]interface{}) params["v"] = "1.0" params["format"] = "json" params["app_key"] = j.appKey @@ -144,7 +144,7 @@ func (j *JDAPI) AccessJDQuery(apiStr string, jdParams map[string]string) (retVal params["token"] = j.token if jdParams == nil { - jdParams = make(map[string]string, 0) + jdParams = make(map[string]interface{}, 0) } jdParamStr, err := json.Marshal(jdParams) if err != nil { @@ -196,7 +196,7 @@ func (j *JDAPI) AccessJDQuery(apiStr string, jdParams map[string]string) (retVal return retVal, err } -func (j *JDAPI) AccessJDQueryNoPage(apiStr string, jdParams map[string]string, keyToRemove, keyToKeep []string) (interface{}, error) { +func (j *JDAPI) AccessJDQueryNoPage(apiStr string, jdParams map[string]interface{}, keyToRemove, keyToKeep []string) (interface{}, error) { jsonResult, err := j.AccessJDQuery(apiStr, jdParams) if err != nil { return jsonResult, err @@ -277,12 +277,12 @@ func NormalJDQueryHavePageResultParser(data map[string]interface{}, totalCount i panic("wrong format") } -func (j *JDAPI) AccessJDQueryHavePage(apiStr string, jdParams map[string]string, keyToRemove, keyToKeep []string, pageResultParser PageResultParser) ([]interface{}, error) { +func (j *JDAPI) AccessJDQueryHavePage(apiStr string, jdParams map[string]interface{}, keyToRemove, keyToKeep []string, pageResultParser PageResultParser) ([]interface{}, error) { if pageResultParser == nil { pageResultParser = NormalJDQueryHavePageResultParser } - localJdParams := make(map[string]string) + localJdParams := make(map[string]interface{}) if jdParams != nil && len(jdParams) > 0 { for k, v := range jdParams { localJdParams[k] = v @@ -293,10 +293,10 @@ func (j *JDAPI) AccessJDQueryHavePage(apiStr string, jdParams map[string]string, pageNo := AllPage pageSize := DefaultPageSize if tempPageNo, ok := localJdParams["pageNo"]; ok { - pageNo, _ = strconv.Atoi(tempPageNo) + pageNo = tempPageNo.(int) } if tempPageSize, ok := localJdParams["pageSize"]; ok { - pageSize, _ = strconv.Atoi(tempPageSize) + pageSize = tempPageSize.(int) } curPage := pageNo @@ -306,8 +306,8 @@ func (j *JDAPI) AccessJDQueryHavePage(apiStr string, jdParams map[string]string, retVal := make([]interface{}, 0) for { - localJdParams["pageNo"] = strconv.FormatInt(int64(curPage), 10) - localJdParams["pageSize"] = strconv.FormatInt(int64(pageSize), 10) + localJdParams["pageNo"] = curPage + localJdParams["pageSize"] = pageSize jsonResult, err := j.AccessJDQuery(apiStr, localJdParams) if err != nil { return nil, err diff --git a/platform/jdapi/jdapi_test.go b/platform/jdapi/jdapi_test.go index 504d7bf1..5e1b3f52 100644 --- a/platform/jdapi/jdapi_test.go +++ b/platform/jdapi/jdapi_test.go @@ -58,9 +58,9 @@ func TestAccessJDQueryNoPage(t *testing.T) { } func TestAccessJDQueryHavePage(t *testing.T) { - jdParams := map[string]string{ - "pageNo": "1", - "pageSize": "20", + jdParams := map[string]interface{}{ + "pageNo": 1, + "pageSize": 20, } skuInfo, err := jdapi.AccessJDQueryHavePage("pms/querySkuInfos", jdParams, nil, []string{"skuName", "skuId"}, nil) if err != nil { @@ -80,7 +80,7 @@ func TestAccessJDQueryHavePage(t *testing.T) { } func TestGenGetURL(t *testing.T) { - params := make(map[string]string) + params := make(map[string]interface{}) params["key"] = "v" params["key2"] = "v2" @@ -94,7 +94,7 @@ func TestGenGetURL(t *testing.T) { } func TestOrderQuery(t *testing.T) { - jdParams := map[string]string{ + jdParams := map[string]interface{}{ "orderId": "813452298000322", } result, err := jdapi.OrderQuery(jdParams) diff --git a/platform/jdapi/order.go b/platform/jdapi/order.go index 25435152..c0ee3157 100644 --- a/platform/jdapi/order.go +++ b/platform/jdapi/order.go @@ -11,19 +11,19 @@ const ( JdOrderStatusWaitOutStore = "32001" ) -func (j JDAPI) OrderQuery(jdParams map[string]string) (retVal []interface{}, err error) { +func (j JDAPI) OrderQuery(jdParams map[string]interface{}) (retVal []interface{}, err error) { retVal, err = j.AccessJDQueryHavePage("order/es/query", jdParams, nil, nil, nil) return } func (j JDAPI) QuerySingleOrder(orderId string) ([]interface{}, error) { - jdParams := make(map[string]string) + jdParams := make(map[string]interface{}) jdParams["orderId"] = orderId return j.AccessJDQueryHavePage("order/es/query", jdParams, nil, nil, nil) } func (j JDAPI) LegacyQuerySingleOrder(orderId string) (map[string]interface{}, error) { - jdParams := make(map[string]string) + jdParams := make(map[string]interface{}) jdParams["orderId"] = orderId result, err := j.AccessJDQuery("order/es/query", jdParams) @@ -44,7 +44,7 @@ func (j JDAPI) LegacyQuerySingleOrder(orderId string) (map[string]interface{}, e } func (j JDAPI) OrderAcceptOperate(orderId string, isAgreed bool) (interface{}, error) { - jdParams := map[string]string{ + jdParams := map[string]interface{}{ "orderId": orderId, "isAgreed": utils.Bool2String(isAgreed), "operator": utils.GetAPIOperator(),