- 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) {
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")

View File

@@ -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

View File

@@ -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)

View File

@@ -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(),