- refactor.
This commit is contained in:
@@ -19,6 +19,27 @@ import (
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
const (
|
||||
// JDErrorCodeSuccess 操作成功
|
||||
JDErrorCodeSuccess = "0"
|
||||
// JDerrorCodeAccessFailed 操作失败,请重试,如还不能正常提供服务,可以提交工单(https://opengd.jd.com)详细说明一下,开放平台跟进回复。
|
||||
JDerrorCodeAccessFailed = "-1"
|
||||
// JDerrorCodeFailedCanAutoRetry 操作失败,系统会自动重试,如还不能正常提供服务,可以提交工单(https://opengd.jd.com)详细说明一下,开放平台跟进回复。
|
||||
JDerrorCodeFailedCanAutoRetry = "-10000"
|
||||
JDerrorCodeFailedAccessDB = "10000"
|
||||
// JDerrorCodeMissingMandatoryParam 请求参数中缺失必填项信息,请检查,如不清楚,请访问到家开放平台(https://opendj.jd.com)API分组有接口详细说明。
|
||||
JDerrorCodeMissingMandatoryParam = "10005"
|
||||
JDerrorCodeInvalidToken = "10013"
|
||||
JDerrorCodeInvalidSign = "10014"
|
||||
JDerrorCodeAbnormalParam = "10015"
|
||||
JDerrorCodeMethodNotExist = "10018"
|
||||
JDErrorCodeExceedLimit = "10032"
|
||||
|
||||
JDErrorCodeTimeout = "100022"
|
||||
JDErrorCodeTomcateFailed = "100023"
|
||||
JDErrorCodeLoadUnexpected = "100024"
|
||||
)
|
||||
|
||||
type JDAPI struct {
|
||||
token string
|
||||
appKey string
|
||||
@@ -47,15 +68,17 @@ var (
|
||||
ErrInnerCodeIsNotOk = errors.New("JD result inner code is not ok")
|
||||
|
||||
exceedLimitCodes = map[string]int{
|
||||
"10032": 1,
|
||||
JDErrorCodeExceedLimit: 1,
|
||||
}
|
||||
|
||||
// todo replace all magic number
|
||||
canRetryCodes = map[string]int{
|
||||
"-10000": 1,
|
||||
"-1": 1,
|
||||
"10000": 1,
|
||||
"100022": 1,
|
||||
"100023": 1,
|
||||
"100024": 1,
|
||||
JDerrorCodeFailedCanAutoRetry: 1,
|
||||
JDerrorCodeAccessFailed: 1,
|
||||
JDerrorCodeFailedAccessDB: 1,
|
||||
JDErrorCodeTimeout: 1,
|
||||
JDErrorCodeTomcateFailed: 1,
|
||||
JDErrorCodeLoadUnexpected: 1,
|
||||
}
|
||||
|
||||
jdResultInnerCodeKeys = []string{"code", "retCode", "errorCode"}
|
||||
|
||||
@@ -4,6 +4,42 @@ import (
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
)
|
||||
|
||||
type JDOrderMsgResponse struct {
|
||||
Code string
|
||||
Msg string
|
||||
Data string
|
||||
}
|
||||
|
||||
type JDOrderMsg struct {
|
||||
Id int `json:"-"` // 用于传递Jdorder的主键值,减少一次读库操作
|
||||
BillId string
|
||||
StatusId string
|
||||
Timestamp string
|
||||
}
|
||||
|
||||
type JDDeliveryStatusMsg struct {
|
||||
OrderId string
|
||||
DeliveryStatusTime string
|
||||
DeliveryManNo string
|
||||
DeliveryManName string
|
||||
DeliveryManPhone string
|
||||
DeliveryCarrierNo string
|
||||
DeliveryCarrierName string
|
||||
DeliveryStatus int
|
||||
Remark string
|
||||
FailType string
|
||||
CreatePin string
|
||||
OpTime int64
|
||||
InputTime string
|
||||
}
|
||||
|
||||
const (
|
||||
JdOrderStatusNew = "32000"
|
||||
JdOrderStatusAdjust = "33080"
|
||||
JdOrderStatusUserCancel = "20030"
|
||||
JdOrderStatusWaitOutStore = "32001"
|
||||
)
|
||||
|
||||
func (j JDAPI) OrderQuery(jdParams map[string]string) (retVal []interface{}, err error) {
|
||||
retVal, err = j.AccessJDQueryHavePage("order/es/query", jdParams, nil, nil, nil)
|
||||
return
|
||||
@@ -42,5 +78,5 @@ func (j JDAPI) OrderAcceptOperate(orderId string, isAgreed bool) (interface{}, e
|
||||
"isAgreed": utils.Bool2String(isAgreed),
|
||||
"operator": getJDOperator(),
|
||||
}
|
||||
return j.AccessJDQueryNoPage("order/es/query", jdParams, nil, nil)
|
||||
return j.AccessJDQueryNoPage("ocs/orderAcceptOperate", jdParams, nil, nil)
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package utils
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"strconv"
|
||||
)
|
||||
@@ -86,6 +87,15 @@ func UnmarshalUseNumber(data []byte, result interface{}) error {
|
||||
return d.Decode(result)
|
||||
}
|
||||
|
||||
func MustMarshal(obj interface{}) []byte {
|
||||
byteArr, err := json.Marshal(obj)
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("err when Marshal obj:%v", obj))
|
||||
}
|
||||
|
||||
return byteArr
|
||||
}
|
||||
|
||||
func Bool2String(value bool) string {
|
||||
if value {
|
||||
return "true"
|
||||
@@ -102,3 +112,11 @@ func Str2Int64(str string) int64 {
|
||||
retVal, _ := strconv.ParseInt(str, 10, 64)
|
||||
return retVal
|
||||
}
|
||||
|
||||
func Int64ToStr(value int64) string {
|
||||
return strconv.FormatInt(value, 10)
|
||||
}
|
||||
|
||||
func Int2Str(value int) string {
|
||||
return strconv.Itoa(value)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user