订单下载。jd下单。。
CI / changes (push) Successful in 37s
CI / ad (push) Successful in 29s
CI / admin (push) Successful in 17s
CI / bff (push) Successful in 13s
CI / chore (push) Successful in 15s
CI / equipment (push) Successful in 14s
CI / express (push) Successful in 14s
CI / product (push) Successful in 13s
CI / record (push) Successful in 13s
CI / sale (push) Successful in 13s
CI / task (push) Successful in 13s
CI / user (push) Successful in 14s
CI / wecom (push) Successful in 13s
CI / changes (push) Successful in 37s
CI / ad (push) Successful in 29s
CI / admin (push) Successful in 17s
CI / bff (push) Successful in 13s
CI / chore (push) Successful in 15s
CI / equipment (push) Successful in 14s
CI / express (push) Successful in 14s
CI / product (push) Successful in 13s
CI / record (push) Successful in 13s
CI / sale (push) Successful in 13s
CI / task (push) Successful in 13s
CI / user (push) Successful in 14s
CI / wecom (push) Successful in 13s
This commit is contained in:
@@ -79,10 +79,13 @@ func (l *ExpressAdminQueryLogic) ExpressAdminQuery(in *express.IdRequest) (*expr
|
||||
return l.fail(utils.SetError(utils.ErrorNotFund, "获取快递错误"))
|
||||
}
|
||||
|
||||
//TODO JD
|
||||
//if transitInfo.TransitId == dao.ExpressCompanyJd {
|
||||
// return // s.queryJdEdit(res.RequestQuery, &upData)
|
||||
//}
|
||||
if transitInfo.TransitId == dao.ExpressCompanyJd {
|
||||
items, s := svc.QueryJdEdit(res.RequestQuery, &upData, l.svcCtx.OrderSvcName)
|
||||
if s != utils.Ok {
|
||||
return l.fail(s)
|
||||
}
|
||||
return l.ok(items)
|
||||
}
|
||||
|
||||
items, s := svc.QueryEdit(res.RequestQuery, &upData, l.svcCtx.OrderSvcName)
|
||||
if s != utils.Ok {
|
||||
|
||||
@@ -58,7 +58,7 @@ func (l *ExpressApiQueryLogic) ExpressApiQuery(in *express.IdApiRequest) (*expre
|
||||
if orderInfo.Id < utils.NumberOne {
|
||||
return l.fail(utils.SetError(utils.ErrorNotFund, "没有找到订单信息"))
|
||||
}
|
||||
|
||||
|
||||
tw := modelbase.Params{Eq: map[string]string{"id": strconv.Itoa(upData.TransitId)}}
|
||||
var transitInfo dao.ExpressSend
|
||||
err = model.ExpressModel{}.Init().GetOne(tw, &transitInfo)
|
||||
@@ -84,10 +84,13 @@ func (l *ExpressApiQueryLogic) ExpressApiQuery(in *express.IdApiRequest) (*expre
|
||||
return l.fail(utils.SetError(utils.ErrorNotFund, "获取快递错误"))
|
||||
}
|
||||
|
||||
//TODO JD
|
||||
//if transitInfo.TransitId == dao.ExpressCompanyJd {
|
||||
// return // s.queryJdEdit(res.RequestQuery, &upData)
|
||||
//}
|
||||
if transitInfo.TransitId == dao.ExpressCompanyJd {
|
||||
items, s := svc.QueryJdEdit(res.RequestQuery, &upData, l.svcCtx.OrderSvcName)
|
||||
if s != utils.Ok {
|
||||
return l.fail(s)
|
||||
}
|
||||
return l.ok(items)
|
||||
}
|
||||
|
||||
items, s := svc.QueryEdit(res.RequestQuery, &upData, l.svcCtx.OrderSvcName)
|
||||
if s != utils.Ok {
|
||||
|
||||
@@ -2,10 +2,16 @@ package logic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"lone-services/pkg/modelbase"
|
||||
"lone-services/pkg/utils"
|
||||
"lone-services/rpc/express/pb"
|
||||
"lone-services/services/express/internal/dao"
|
||||
"lone-services/services/express/internal/model"
|
||||
"lone-services/services/express/internal/svc"
|
||||
"lone-services/services/express/internal/transit"
|
||||
"strconv"
|
||||
|
||||
jsoniter "github.com/json-iterator/go"
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
@@ -24,8 +30,127 @@ func NewExpressJdBackLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Exp
|
||||
}
|
||||
}
|
||||
|
||||
func (l *ExpressJdBackLogic) ExpressJdBack(in *express.EmtpyRequest) (*express.Response, error) {
|
||||
// todo: add your logic here and delete this line
|
||||
func (l *ExpressJdBackLogic) ExpressJdBack(in *express.JdRequest) (*express.SfResponse, error) {
|
||||
//TODO 透传数据还是获取?
|
||||
l.Logger.Error(in)
|
||||
//routers.POST("/transit/jd", obj.JdBack)
|
||||
//appKey := c.Query("app_key")
|
||||
//timestamp := c.Query("timestamp")
|
||||
//sign := c.Query("sign")
|
||||
//path := c.Query("path")
|
||||
//
|
||||
//l.Logger.Info("JD back params : app_key=", appKey,
|
||||
// " timestamp=", timestamp, " sign=", sign, " path=", path)
|
||||
|
||||
return &express.Response{}, nil
|
||||
//JD back params : app_key=e99f6232b45c4c3e871780f5a9b1a555 timestamp=Tue, 26 May 2026 01:41:06 GMT sign=2640A486A4A529AAD722FED2E5C7E0BB path=
|
||||
//JD back data:{"carrierId":2087,"customerOrderNo":"JD2026052609395822530404255","extend":{"curSiteName":"张家口涿鹿汽车点部项目小站","curSiteId":"1929145","siteTelephone":"15732381119","siteId":"4989","remark":"【实时调度-路区排班】揽收任务已分配给李晓龙,配送员电话13833376743","operatorPhone":"13833376743","curJDCode":"34512","requireTime":"2026-05-27 22:00:00"},"nextLocation":{},"operateLocation":{"lat":"40.459022","lon":"115.276425","routeAddress":" 河北省张家口市下花园区S342(张家口农商银行苏家坊信用社南)","routeCityName":"张家口市","routeDistrictName":"涿鹿县","routeProvinceName":"河北","routeStreetName":"涿鹿镇"},"operateSite":"张家口涿鹿汽车点部项目小站","operateSiteId":"1929145","operationCode":"200034","operationTime":"2026-05-26 09:40:11","operationType":"2013","operatorName":"李晓龙","orderNo":"JD2026052609395822530404255","remark":"您的快件将由快递员李晓龙上门取件,快递员电话:13833376743,营业部电话:15732381119","waybillNo":"JDVA44161571823"}
|
||||
body := utils.GetBody(l.ctx)
|
||||
ret := express.SfResponse{
|
||||
ReturnCode: "1001",
|
||||
ReturnMsg: "body获取失败",
|
||||
}
|
||||
if body == utils.StringEmpty {
|
||||
return &ret, nil
|
||||
}
|
||||
l.Logger.Info("JD back data:", body)
|
||||
|
||||
ret.ReturnCode = "1002"
|
||||
ret.ReturnMsg = "系统异常"
|
||||
ok := l.JdBack(body)
|
||||
if ok {
|
||||
ret.ReturnCode = "000"
|
||||
ret.ReturnMsg = "成功"
|
||||
}
|
||||
|
||||
return &ret, nil
|
||||
}
|
||||
|
||||
func (l *ExpressJdBackLogic) JdBack(body string) bool {
|
||||
var bodyData map[string]interface{}
|
||||
err := jsoniter.Unmarshal([]byte(body), &bodyData)
|
||||
if err != nil {
|
||||
l.Logger.Error("back body strInt error ", err)
|
||||
return false
|
||||
}
|
||||
result, ok := bodyData["Body"].(map[string]interface{})
|
||||
if !ok {
|
||||
l.Logger.Error("back Body interface error ")
|
||||
return false
|
||||
}
|
||||
|
||||
l.Logger.Error("back body strInt result ", result)
|
||||
waybillNo := utils.GetStringByMap(result, "waybillNo")
|
||||
if waybillNo == utils.StringEmpty {
|
||||
l.Logger.Error("back body no id error ")
|
||||
return false
|
||||
}
|
||||
|
||||
w := modelbase.Params{Eq: map[string]string{
|
||||
"status": strconv.Itoa(dao.SendStatusOk),
|
||||
"transit_type": strconv.Itoa(dao.ExpressCompanyJd),
|
||||
"transit_sn": waybillNo}}
|
||||
var info dao.DeliveryOrderUpTransit
|
||||
modelObj := model.DeliveryOrderModel{}.Init()
|
||||
err = modelObj.GetOne(w, &info)
|
||||
if err != nil || info.Id < utils.NumberOne {
|
||||
l.Logger.Error("没有找到快递数据", err)
|
||||
return true
|
||||
}
|
||||
var items []dao.ExpressQueryItems
|
||||
if len(info.TransitQuery) > utils.NumberTen {
|
||||
ok := utils.JsonStringToStruct(info.TransitQuery, &items)
|
||||
if ok != true {
|
||||
l.Logger.Error("back json error ", err)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
tmp := dao.ExpressQueryItems{
|
||||
Remark: result["remark"].(string),
|
||||
AcceptTime: result["operationTime"].(string),
|
||||
OperatorName: result["operatorName"].(string),
|
||||
OpCode: result["operationCode"].(string),
|
||||
AllInfo: body,
|
||||
}
|
||||
tmp.LastMd5 = utils.MD5Encrypt(tmp.Remark + tmp.AcceptTime +
|
||||
tmp.OperatorName)
|
||||
if len(items) > utils.NumberZero {
|
||||
if items[len(items)-utils.NumberOne].LastMd5 == tmp.LastMd5 {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
items = append(items, tmp)
|
||||
info.TransitQuery = utils.StructToJson(items)
|
||||
modelObj.Begin()
|
||||
if ok := transit.JdSingedCodeMap[tmp.OpCode]; ok {
|
||||
w = modelbase.Params{Eq: map[string]string{"deliver_goods_id": strconv.Itoa(info.Id)}}
|
||||
expEdit := dao.DeliveryExpStatus{
|
||||
Status: utils.StatusOk,
|
||||
}
|
||||
_, err = model.DeliveryOrderExpModel{}.Init().Edit(w, &expEdit)
|
||||
if err != nil {
|
||||
l.Logger.Error("back set deliver exp error ", err)
|
||||
modelObj.Rollback()
|
||||
return false
|
||||
}
|
||||
info.Status = dao.SendStatusOver
|
||||
info.ChangeEstimatedTime = utils.StatusFail
|
||||
info.SignTime = utils.Now()
|
||||
|
||||
s := svc.UpOrderDeliverStatus(l.svcCtx.OrderSvcName, info.ObjId, int(info.Type), int32(info.Status))
|
||||
if s != utils.Ok {
|
||||
modelObj.Rollback()
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
_, err = modelObj.Edit(w, &info)
|
||||
if err != nil {
|
||||
modelObj.Rollback()
|
||||
l.Logger.Error("back edit error ", err)
|
||||
return false
|
||||
}
|
||||
modelObj.Commit()
|
||||
return true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user