diff --git a/business/partner/delivery/mtps/waybill.go b/business/partner/delivery/mtps/waybill.go index 5cb8a7cb2..a602fcfa8 100644 --- a/business/partner/delivery/mtps/waybill.go +++ b/business/partner/delivery/mtps/waybill.go @@ -61,13 +61,7 @@ func OnWaybillExcept(msg *mtpsapi.CallbackOrderExceptionMsg) (retVal *mtpsapi.Ca } func (c *DeliveryHandler) OnWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *mtpsapi.CallbackResponse) { - vendorOrderID, _ := jxutils.SplitUniversalOrderID(msg.OrderID) - order, _ := dao.GetSimpleOrder(dao.GetDB(), vendorOrderID) - //查不到订单可能就是果园的订单 - if order == nil { - c.pushToGy(msg) - return mtpsapi.Err2CallbackResponse(nil, order.VendorStatus) - } + c.pushToGy(msg) jxutils.CallMsgHandler(func() { retVal = c.onWaybillMsg(msg) }, jxutils.ComposeUniversalOrderID(msg.OrderID, model.VendorIDMTPS)) @@ -116,27 +110,32 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m } func (c *DeliveryHandler) pushToGy(msg *mtpsapi.CallbackOrderMsg) { - 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["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 - urls := utils.Map2URLValues(params) - sign := signParams(urls) - params["sign"] = sign - request, err := http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/mtps/status", strings.NewReader(utils.Map2URLValues(params).Encode())) - if err != nil { - return + vendorOrderID, _ := jxutils.SplitUniversalOrderID(msg.OrderID) + order, _ := dao.GetSimpleOrder(dao.GetDB(), 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["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 + urls := utils.Map2URLValues(params) + sign := signParams(urls) + params["sign"] = sign + 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) } - request.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8") - cl.Do(request) } func signParams(params url.Values) string {