- change jdapi params type from map[string]string to map[string]interface{}.

This commit is contained in:
gazebo
2018-06-21 16:15:51 +08:00
parent 0289f26a8a
commit e0ce7a1c29
4 changed files with 27 additions and 27 deletions

View File

@@ -57,7 +57,7 @@ func (j *JDAPI) unmarshalData(strData string, msg interface{}) (callbackResponse
} }
func (j *JDAPI) CheckCallbackValidation(request *http.Request) (callbackResponse *JDCallbackResponse) { 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["token"] = request.FormValue("token")
mapData["app_key"] = request.FormValue("app_key") mapData["app_key"] = request.FormValue("app_key")
mapData["timestamp"] = request.FormValue("timestamp") mapData["timestamp"] = request.FormValue("timestamp")

View File

@@ -7,7 +7,6 @@ import (
"net/http" "net/http"
"net/url" "net/url"
"sort" "sort"
"strconv"
"time" "time"
"git.rosy.net.cn/baseapi" "git.rosy.net.cn/baseapi"
@@ -96,7 +95,7 @@ var (
type PageResultParser func(map[string]interface{}, int) ([]interface{}, int) 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 var keys []string
for k := range jdParams { for k := range jdParams {
if k != "app_secret" && k != signKey { if k != "app_secret" && k != signKey {
@@ -105,16 +104,17 @@ func (j *JDAPI) signParams(jdParams map[string]string) string {
} }
sort.Strings(keys) sort.Strings(keys)
allStr := "" secretStr := fmt.Sprint(jdParams["app_secret"])
allStr := secretStr
for _, k := range keys { 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))) 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 := "" fullURL := ""
if params != nil { if params != nil {
@@ -124,7 +124,7 @@ func genGetURL(baseURL, apiStr string, params map[string]string) string {
} else { } else {
fullURL += "&" 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}} 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) { func (j *JDAPI) AccessJDQuery(apiStr string, jdParams map[string]interface{}) (retVal map[string]interface{}, err error) {
params := make(map[string]string) params := make(map[string]interface{})
params["v"] = "1.0" params["v"] = "1.0"
params["format"] = "json" params["format"] = "json"
params["app_key"] = j.appKey params["app_key"] = j.appKey
@@ -144,7 +144,7 @@ func (j *JDAPI) AccessJDQuery(apiStr string, jdParams map[string]string) (retVal
params["token"] = j.token params["token"] = j.token
if jdParams == nil { if jdParams == nil {
jdParams = make(map[string]string, 0) jdParams = make(map[string]interface{}, 0)
} }
jdParamStr, err := json.Marshal(jdParams) jdParamStr, err := json.Marshal(jdParams)
if err != nil { if err != nil {
@@ -196,7 +196,7 @@ func (j *JDAPI) AccessJDQuery(apiStr string, jdParams map[string]string) (retVal
return retVal, err 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) jsonResult, err := j.AccessJDQuery(apiStr, jdParams)
if err != nil { if err != nil {
return jsonResult, err return jsonResult, err
@@ -277,12 +277,12 @@ func NormalJDQueryHavePageResultParser(data map[string]interface{}, totalCount i
panic("wrong format") 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 { if pageResultParser == nil {
pageResultParser = NormalJDQueryHavePageResultParser pageResultParser = NormalJDQueryHavePageResultParser
} }
localJdParams := make(map[string]string) localJdParams := make(map[string]interface{})
if jdParams != nil && len(jdParams) > 0 { if jdParams != nil && len(jdParams) > 0 {
for k, v := range jdParams { for k, v := range jdParams {
localJdParams[k] = v localJdParams[k] = v
@@ -293,10 +293,10 @@ func (j *JDAPI) AccessJDQueryHavePage(apiStr string, jdParams map[string]string,
pageNo := AllPage pageNo := AllPage
pageSize := DefaultPageSize pageSize := DefaultPageSize
if tempPageNo, ok := localJdParams["pageNo"]; ok { if tempPageNo, ok := localJdParams["pageNo"]; ok {
pageNo, _ = strconv.Atoi(tempPageNo) pageNo = tempPageNo.(int)
} }
if tempPageSize, ok := localJdParams["pageSize"]; ok { if tempPageSize, ok := localJdParams["pageSize"]; ok {
pageSize, _ = strconv.Atoi(tempPageSize) pageSize = tempPageSize.(int)
} }
curPage := pageNo curPage := pageNo
@@ -306,8 +306,8 @@ func (j *JDAPI) AccessJDQueryHavePage(apiStr string, jdParams map[string]string,
retVal := make([]interface{}, 0) retVal := make([]interface{}, 0)
for { for {
localJdParams["pageNo"] = strconv.FormatInt(int64(curPage), 10) localJdParams["pageNo"] = curPage
localJdParams["pageSize"] = strconv.FormatInt(int64(pageSize), 10) localJdParams["pageSize"] = pageSize
jsonResult, err := j.AccessJDQuery(apiStr, localJdParams) jsonResult, err := j.AccessJDQuery(apiStr, localJdParams)
if err != nil { if err != nil {
return nil, err return nil, err

View File

@@ -58,9 +58,9 @@ func TestAccessJDQueryNoPage(t *testing.T) {
} }
func TestAccessJDQueryHavePage(t *testing.T) { func TestAccessJDQueryHavePage(t *testing.T) {
jdParams := map[string]string{ jdParams := map[string]interface{}{
"pageNo": "1", "pageNo": 1,
"pageSize": "20", "pageSize": 20,
} }
skuInfo, err := jdapi.AccessJDQueryHavePage("pms/querySkuInfos", jdParams, nil, []string{"skuName", "skuId"}, nil) skuInfo, err := jdapi.AccessJDQueryHavePage("pms/querySkuInfos", jdParams, nil, []string{"skuName", "skuId"}, nil)
if err != nil { if err != nil {
@@ -80,7 +80,7 @@ func TestAccessJDQueryHavePage(t *testing.T) {
} }
func TestGenGetURL(t *testing.T) { func TestGenGetURL(t *testing.T) {
params := make(map[string]string) params := make(map[string]interface{})
params["key"] = "v" params["key"] = "v"
params["key2"] = "v2" params["key2"] = "v2"
@@ -94,7 +94,7 @@ func TestGenGetURL(t *testing.T) {
} }
func TestOrderQuery(t *testing.T) { func TestOrderQuery(t *testing.T) {
jdParams := map[string]string{ jdParams := map[string]interface{}{
"orderId": "813452298000322", "orderId": "813452298000322",
} }
result, err := jdapi.OrderQuery(jdParams) result, err := jdapi.OrderQuery(jdParams)

View File

@@ -11,19 +11,19 @@ const (
JdOrderStatusWaitOutStore = "32001" 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) retVal, err = j.AccessJDQueryHavePage("order/es/query", jdParams, nil, nil, nil)
return return
} }
func (j JDAPI) QuerySingleOrder(orderId string) ([]interface{}, error) { func (j JDAPI) QuerySingleOrder(orderId string) ([]interface{}, error) {
jdParams := make(map[string]string) jdParams := make(map[string]interface{})
jdParams["orderId"] = orderId jdParams["orderId"] = orderId
return j.AccessJDQueryHavePage("order/es/query", jdParams, nil, nil, nil) return j.AccessJDQueryHavePage("order/es/query", jdParams, nil, nil, nil)
} }
func (j JDAPI) LegacyQuerySingleOrder(orderId string) (map[string]interface{}, error) { func (j JDAPI) LegacyQuerySingleOrder(orderId string) (map[string]interface{}, error) {
jdParams := make(map[string]string) jdParams := make(map[string]interface{})
jdParams["orderId"] = orderId jdParams["orderId"] = orderId
result, err := j.AccessJDQuery("order/es/query", jdParams) 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) { func (j JDAPI) OrderAcceptOperate(orderId string, isAgreed bool) (interface{}, error) {
jdParams := map[string]string{ jdParams := map[string]interface{}{
"orderId": orderId, "orderId": orderId,
"isAgreed": utils.Bool2String(isAgreed), "isAgreed": utils.Bool2String(isAgreed),
"operator": utils.GetAPIOperator(), "operator": utils.GetAPIOperator(),