From 605dd7239655d3e06a9707c7d870b9dcf628f653 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 15 Jun 2020 14:19:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E8=BD=AC=E5=88=B0=E6=9E=9C?= =?UTF-8?q?=E5=9B=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/partner/delivery/mtps/waybill.go | 29 +++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/business/partner/delivery/mtps/waybill.go b/business/partner/delivery/mtps/waybill.go index 20c18c817..9dcc3dff1 100644 --- a/business/partner/delivery/mtps/waybill.go +++ b/business/partner/delivery/mtps/waybill.go @@ -3,6 +3,8 @@ package mtps import ( "errors" "fmt" + "net/http" + "strings" "time" "git.rosy.net.cn/baseapi/platformapi/mtpsapi" @@ -99,9 +101,36 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m globals.SugarLogger.Warnf("onWaybillMsg unknown msg:%v", msg) return mtpsapi.SuccessResponse } + c.pushToGy(order, msg) return mtpsapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), order.VendorStatus) } +func (c *DeliveryHandler) pushToGy(waybill *model.Waybill, msg *mtpsapi.CallbackOrderMsg) { + order, _ := dao.GetSimpleOrder(dao.GetDB(), waybill.VendorOrderID) + //查不到订单可能就是果园的订单 + if order == nil { + cl := http.Client{} + params := make(map[string]interface{}) + params["mt_peisong_id"] = msg.MtPeisongID + params["courier_name"] = msg.CourierName + params["delivery_id"] = msg.DeliveryID + params["sign"] = msg.Sign + params["appkey"] = msg.AppKey + params["order_id"] = msg.OrderID + params["courier_phone"] = msg.CourierPhone + params["status"] = msg.Status + params["timestamp"] = msg.Timestamp + params["cancel_reason_id"] = msg.CancelReasonId + params["cancel_reason"] = msg.CancelReason + request, err := http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/mtps/status", strings.NewReader(utils.Map2URLValues(params).Encode())) + if err != nil { + return + } + request.Header.Set("content_type", "application/x-www-form-urlencoded; charset=UTF-8") + cl.Do(request) + } +} + func (c *DeliveryHandler) callbackMsg2Waybill(msg *mtpsapi.CallbackOrderMsg) (retVal *model.Waybill) { retVal = &model.Waybill{ VendorWaybillID: msg.MtPeisongID,