- change jdapi params type from map[string]string to map[string]interface{}.
This commit is contained in:
@@ -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")
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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(),
|
||||||
|
|||||||
Reference in New Issue
Block a user