Files
baseapi/platform/jdapi/order.go
gazebo 51da947103 - export low level jdapi.
- access jd order info.
2018-06-06 14:49:07 +08:00

71 lines
2.1 KiB
Go

package jdapi
import (
"encoding/json"
"git.rosy.net.cn/baseapi/utils"
)
type LegacyJDOrderInfo struct {
Code string `json:"code"`
Msg string `json:"msg"`
Result map[string]interface{} `json:"result"`
Detail string `json:"detail"`
Success bool `json:"success"`
OrderStatus int `json:"-"`
OrderStatusTime string `json:"-"`
}
func (j JDAPI) OrderQuery(jdParams map[string]string) (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["orderId"] = orderId
return j.AccessJDQueryHavePage("order/es/query", jdParams, nil, nil, nil)
}
func (j JDAPI) LegacyQuerySingleOrder(orderId string) (*LegacyJDOrderInfo, error) {
jdParams := make(map[string]string)
jdParams["orderId"] = orderId
result, err := j.AccessJDQuery("order/es/query", jdParams)
if err != nil {
return nil, err
}
dataStr, _ := result["data"].(string)
var data map[string]interface{}
utils.UnmarshalUseNumber([]byte(dataStr), &data)
resultList, _ := NormalJDQueryHavePageResultParser(data, 0)
orderInfo, _ := resultList[0].(map[string]interface{})
orderStatus64, _ := orderInfo["orderStatus"].(json.Number).Int64()
var dataResult map[string]interface{}
utils.UnmarshalUseNumber([]byte(data["result"].(string)), &dataResult)
dataResult["resultList"] = resultList
retVal := &LegacyJDOrderInfo{}
retVal.OrderStatus = int(orderStatus64)
retVal.OrderStatusTime = orderInfo["orderStatusTime"].(string)
retVal.Code = result["code"].(string)
retVal.Msg = result["msg"].(string)
retVal.Result = dataResult
retVal.Success = true
return retVal, nil
}
func (j JDAPI) OrderAcceptOperate(orderId string, isAgreed bool) (interface{}, error) {
jdParams := map[string]string{
"orderId": orderId,
"isAgreed": utils.Bool2String(isAgreed),
"operator": getJDOperator(),
}
return j.AccessJDQueryNoPage("order/es/query", jdParams, nil, nil)
}