- refactor.

This commit is contained in:
gazebo
2018-06-12 14:06:11 +08:00
parent 35e46f7563
commit 94fd9c3e60
3 changed files with 85 additions and 8 deletions

View File

@@ -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.comAPI分组有接口详细说明。
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"}

View File

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

View File

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