- 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" "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 { type JDAPI struct {
token string token string
appKey string appKey string
@@ -47,15 +68,17 @@ var (
ErrInnerCodeIsNotOk = errors.New("JD result inner code is not ok") ErrInnerCodeIsNotOk = errors.New("JD result inner code is not ok")
exceedLimitCodes = map[string]int{ exceedLimitCodes = map[string]int{
"10032": 1, JDErrorCodeExceedLimit: 1,
} }
// todo replace all magic number
canRetryCodes = map[string]int{ canRetryCodes = map[string]int{
"-10000": 1, JDerrorCodeFailedCanAutoRetry: 1,
"-1": 1, JDerrorCodeAccessFailed: 1,
"10000": 1, JDerrorCodeFailedAccessDB: 1,
"100022": 1, JDErrorCodeTimeout: 1,
"100023": 1, JDErrorCodeTomcateFailed: 1,
"100024": 1, JDErrorCodeLoadUnexpected: 1,
} }
jdResultInnerCodeKeys = []string{"code", "retCode", "errorCode"} jdResultInnerCodeKeys = []string{"code", "retCode", "errorCode"}

View File

@@ -4,6 +4,42 @@ import (
"git.rosy.net.cn/baseapi/utils" "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) { func (j JDAPI) OrderQuery(jdParams map[string]string) (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
@@ -42,5 +78,5 @@ func (j JDAPI) OrderAcceptOperate(orderId string, isAgreed bool) (interface{}, e
"isAgreed": utils.Bool2String(isAgreed), "isAgreed": utils.Bool2String(isAgreed),
"operator": getJDOperator(), "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 ( import (
"bytes" "bytes"
"encoding/json" "encoding/json"
"fmt"
"reflect" "reflect"
"strconv" "strconv"
) )
@@ -86,6 +87,15 @@ func UnmarshalUseNumber(data []byte, result interface{}) error {
return d.Decode(result) 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 { func Bool2String(value bool) string {
if value { if value {
return "true" return "true"
@@ -102,3 +112,11 @@ func Str2Int64(str string) int64 {
retVal, _ := strconv.ParseInt(str, 10, 64) retVal, _ := strconv.ParseInt(str, 10, 64)
return retVal return retVal
} }
func Int64ToStr(value int64) string {
return strconv.FormatInt(value, 10)
}
func Int2Str(value int) string {
return strconv.Itoa(value)
}