This commit is contained in:
2026-09-04 17:51:30 +08:00
parent 04402a8bdf
commit e615be6ad7
18 changed files with 449 additions and 124 deletions
+22 -23
View File
@@ -19,6 +19,7 @@ import (
"unicode/utf8"
jsoniter "github.com/json-iterator/go"
"github.com/zeromicro/go-zero/core/logx"
)
// JdClient 顺丰快递客户端
@@ -99,11 +100,11 @@ func (c *JdClient) Create(order dao.DeliveryOrderPrint) (TransitResult, error) {
//发送请求
result, err = c.send(JdServiceOrder, info)
if err != nil {
utils.Logger.Error("Jd Create Order:", err)
logx.Error("Jd Create Order:", err)
return result, err
}
if result.ErrorCode != utils.StringStatusOk {
utils.Logger.Error("Jd Create Order:", err)
logx.Error("Jd Create Order:", err)
return result, nil
}
c.subscribe(result.WaybillNo[utils.NumberZero])
@@ -123,7 +124,7 @@ func (c *JdClient) Query(waybillCode string) (TransitResult, error) {
//发送请求
result, err := c.send(JdServiceOrderQueryByMailNo, data)
if err != nil {
utils.Logger.Error("Jd Query Order:", err)
logx.Error("Jd Query Order:", err)
return result, err
}
return result, nil
@@ -155,7 +156,7 @@ func (c *JdClient) DownSheet(orders []string, info dao.DeliveryOrderPrint) (Tran
//发送请求
result, err := c.sendDown(JdServiceOrderWaybills, data, orders[0])
if err != nil {
utils.Logger.Error("Jd Create Order:", err)
logx.Error("Jd Create Order:", err)
return result, err
}
result.PostInfo = utils.StructToJson(data)
@@ -169,14 +170,14 @@ func (c *JdClient) Estimated(orderId, card string) (TransitResult, error) {
"customerCode": c.customerCode,
"deliveryId": orderId,
}
utils.Logger.Error(data)
logx.Error(data)
//发送请求
result, err := c.send(JdServiceOrderEstimated, data)
if err != nil {
utils.Logger.Error("Jd estimated Order:", err)
logx.Error("Jd estimated Order:", err)
return result, err
}
utils.Logger.Error(result)
logx.Error(result)
result.PostInfo = utils.StructToJson(data)
return result, nil
}
@@ -192,7 +193,7 @@ func (c *JdClient) Cancel(waybillCode string) (TransitResult, error) {
//发送请求
result, err := c.send(JdServiceOrderConfirm, data)
if err != nil {
utils.Logger.Error("Jd cancel Order:", err)
logx.Error("Jd cancel Order:", err)
return result, err
}
result.PostInfo = utils.StructToJson(data)
@@ -210,7 +211,7 @@ func (c *JdClient) Edit(waybillCode string) (TransitResult, error) {
//发送请求
result, err := c.send(JdServiceOrderConfirm, data)
if err != nil {
utils.Logger.Error("Jd cancel Order:", err)
logx.Error("Jd cancel Order:", err)
return result, err
}
result.PostInfo = utils.StructToJson(data)
@@ -238,13 +239,13 @@ func (c *JdClient) sendPost(apiUri, lop string, postData map[string]interface{})
}, "")
sign, err := c.sign(JdAlgorithm, []byte(content), c.config.AppSecretKey)
if err != nil {
utils.Logger.Error("Jd:", err)
logx.Error("Jd:", err)
return "", err
}
postUrl := baseUri + apiUri
httpRequest, err := http.NewRequest("POST", postUrl, bytes.NewReader([]byte(body)))
if err != nil {
utils.Logger.Error("Jd:", err)
logx.Error("Jd:", err)
return "", err
}
query := httpRequest.URL.Query()
@@ -264,19 +265,19 @@ func (c *JdClient) sendPost(apiUri, lop string, postData map[string]interface{})
httpRequest.Header.Add("content-type", "application/json;charset=utf-8")
httpResponse, err := client.Do(httpRequest)
if err != nil {
utils.Logger.Error("Jd:", err)
logx.Error("Jd:", err)
return "", err
}
defer func(Body io.ReadCloser) {
err := Body.Close()
if err != nil {
utils.Logger.Error(err)
logx.Error(err)
}
}(httpResponse.Body)
b, err := io.ReadAll(httpResponse.Body)
if err != nil {
utils.Logger.Error("Jd:", err)
logx.Error("Jd:", err)
return "", err
}
@@ -438,12 +439,12 @@ func (c *JdClient) send(uri string, postData map[string]interface{}) (TransitRes
// 发送请求
resultStr, err := c.sendPost(uri, JdOrderECAP, postData)
if err != nil {
utils.Logger.Error(err)
logx.Error(err)
return res, err
}
var result map[string]interface{}
if err = jsoniter.Unmarshal([]byte(resultStr), &result); err != nil {
utils.Logger.Error(err)
logx.Error(err)
return res, err
}
res.RequestInfo = resultStr
@@ -471,8 +472,6 @@ func (c *JdClient) send(uri string, postData map[string]interface{}) (TransitRes
if msgData, ok := result["data"].(map[string]interface{}); ok {
res.RequestQuery = msgData
}
utils.Logger.Error(res)
utils.Logger.Error(result)
return res, nil
}
@@ -484,14 +483,14 @@ func (c *JdClient) subscribe(referenceNumber string) bool {
res := TransitResult{}
// 发送请求
resultStr, err := c.sendPost(JdServiceBackUrl, JdLopDNBackECAP, data)
utils.Logger.Error(data)
logx.Error(data)
if err != nil {
utils.Logger.Error(err)
logx.Error(err)
return false
}
var result map[string]interface{}
if err = jsoniter.Unmarshal([]byte(resultStr), &result); err != nil {
utils.Logger.Error(err)
logx.Error(err)
return false
}
res.RequestInfo = resultStr
@@ -500,12 +499,12 @@ func (c *JdClient) subscribe(referenceNumber string) bool {
if result["code"].(float64) == 1000 {
res.ErrorCode = utils.StringStatusOk
} else {
utils.Logger.Error(result)
logx.Error(result)
}
res.ApiErrorMsg = utils.GetStringByMap(result, "msg")
}
utils.Logger.Error(resultStr)
logx.Error(resultStr)
return true
}
+8 -7
View File
@@ -14,6 +14,7 @@ import (
"time"
jsoniter "github.com/json-iterator/go"
"github.com/zeromicro/go-zero/core/logx"
)
// SfClient 顺丰快递客户端
@@ -73,7 +74,7 @@ func (c *SfClient) Create(order dao.DeliveryOrderPrint) (TransitResult, error) {
//发送请求
result, err := c.send(postData)
if err != nil {
utils.Logger.Error("SF Create Order:", err)
logx.Error("SF Create Order:", err)
return result, nil
}
result.PostInfo = info
@@ -94,7 +95,7 @@ func (c *SfClient) Query(orderId string) (TransitResult, error) {
//发送请求
result, err := c.send(postData)
if err != nil {
utils.Logger.Error("SF Query Order:", err)
logx.Error("SF Query Order:", err)
return result, err
}
return result, nil
@@ -130,7 +131,7 @@ func (c *SfClient) DownSheet(orders []string, info dao.DeliveryOrderPrint) (Tran
//发送请求
result, err := c.sendDown(postData)
if err != nil {
utils.Logger.Error("SF Create Order:", err)
logx.Error("SF Create Order:", err)
return result, err
}
result.PostInfo = string(bytes)
@@ -151,7 +152,7 @@ func (c *SfClient) Estimated(orderId, card string) (TransitResult, error) {
//发送请求
result, err := c.send(postData)
if err != nil {
utils.Logger.Error("SF estimated Order:", err)
logx.Error("SF estimated Order:", err)
return result, err
}
result.PostInfo = string(bytes)
@@ -170,7 +171,7 @@ func (c *SfClient) Cancel(orderId string) (TransitResult, error) {
//发送请求
result, err := c.send(postData)
if err != nil {
utils.Logger.Error("SF cancel Order:", err)
logx.Error("SF cancel Order:", err)
return result, err
}
result.PostInfo = string(bytes)
@@ -204,13 +205,13 @@ func (c *SfClient) sendPost(apiUrl string, postData map[string]interface{}) (str
resp, err := client.Do(req)
if err != nil {
utils.Logger.Error("Sf:", err)
logx.Error("Sf:", err)
return "", err
}
defer func(Body io.ReadCloser) {
err := Body.Close()
if err != nil {
utils.Logger.Error(err)
logx.Error(err)
}
}(resp.Body)