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
@@ -201,7 +201,7 @@ func (l *ExpressDeliveringLogic) saveDelever(w modelbase.Params, info *dao.Deliv
func (l *ExpressDeliveringLogic) getOrderInfo(items *[]dao.DeliveryOrderPrint) utils.Status {
for value, item := range *items {
obj := &(*items)[value]
mobile, aErr := utils.Crypto{}.AESDecryptECB(item.Mobile)
mobile, aErr := utils.DecryptPhone(item.Mobile)
if aErr == nil {
obj.Mobile = mobile
}
@@ -236,7 +236,6 @@ func (l *ExpressDeliveringLogic) createTransit(info dao.DeliveryOrderPrint, tran
func (l *ExpressDeliveringLogic) getDown(client transit.Transit, orders []string, info dao.DeliveryOrderPrint) (transit.TransitResult, error) {
ret, err := client.DownSheet(orders, info)
if err != nil || len(ret.Files) < utils.NumberOne {
l.Logger.Error("get down err ", orders, err, ret)
if len(ret.Files) < utils.NumberOne {
err = errors.New("files is empty")
}
@@ -335,7 +334,7 @@ func (l *ExpressDeliveringLogic) cancel(client transit.Transit, w modelbase.Para
return
}
ww := modelbase.Params{Eq: map[string]string{"deliver_goods_id": strconv.Itoa(info.Id)}}
ww := modelbase.Params{Eq: map[string]string{"delivery_order_id": strconv.Itoa(info.Id)}}
editExp := dao.DeliveryExpStatus{
Status: utils.StatusFail,
}
@@ -0,0 +1,31 @@
package logic
import (
"context"
"lone-services/rpc/express/pb"
"lone-services/services/express/internal/svc"
"github.com/zeromicro/go-zero/core/logx"
)
type ExpressJdBackLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
BaseLogic
}
func NewExpressJdBackLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ExpressJdBackLogic {
return &ExpressJdBackLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *ExpressJdBackLogic) ExpressJdBack(in *express.EmtpyRequest) (*express.Response, error) {
// todo: add your logic here and delete this line
return &express.Response{}, nil
}
@@ -0,0 +1,32 @@
package logic
import (
"context"
"lone-services/pkg/utils"
"lone-services/rpc/express/pb"
"lone-services/services/express/internal/svc"
"github.com/zeromicro/go-zero/core/logx"
)
type ExpressSfBackLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
BaseLogic
}
func NewExpressSfBackLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ExpressSfBackLogic {
return &ExpressSfBackLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *ExpressSfBackLogic) ExpressSfBack(in *express.EmtpyRequest) (*express.SfResponse, error) {
info := utils.GetHeaderAndBody(l.ctx)
l.Logger.Error("ExpressSfBack", "info", string(info.Body))
return &express.SfResponse{}, nil
}
@@ -70,6 +70,16 @@ func (s *ExpressServer) ExpressDelivering(ctx context.Context, in *express.Deliv
return l.ExpressDelivering(in)
}
func (s *ExpressServer) ExpressSfBack(ctx context.Context, in *express.EmtpyRequest) (*express.SfResponse, error) {
l := logic.NewExpressSfBackLogic(ctx, s.svcCtx)
return l.ExpressSfBack(in)
}
func (s *ExpressServer) ExpressJdBack(ctx context.Context, in *express.EmtpyRequest) (*express.Response, error) {
l := logic.NewExpressJdBackLogic(ctx, s.svcCtx)
return l.ExpressJdBack(in)
}
// 添加生成订单的发货信息
func (s *ExpressServer) DeliveryOrderCreate(ctx context.Context, in *express.DeliveryOrderCreateRequest) (*express.IdResponse, error) {
l := logic.NewDeliveryOrderCreateLogic(ctx, s.svcCtx)
+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)