修改自配送订单送达时同步订单配送状态,和蜂鸟异常发单存储运单状态22导致重新发单失败
This commit is contained in:
@@ -300,7 +300,8 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify, resultParam *fnpsapi.ShortSta
|
|||||||
order.Status = model.WaybillStatusCanceled
|
order.Status = model.WaybillStatusCanceled
|
||||||
order.VendorStatus = utils.Int2Str(fnpsapi.OrderStatusAcceptCacle)
|
order.VendorStatus = utils.Int2Str(fnpsapi.OrderStatusAcceptCacle)
|
||||||
case fnpsapi.OrderStatusException: // 5 异常
|
case fnpsapi.OrderStatusException: // 5 异常
|
||||||
order.Status = model.WaybillStatusDeliverFailed // 22
|
order.Status = model.WaybillStatusCanceled // 22
|
||||||
|
order.VendorStatus = utils.Int2Str(fnpsapi.OrderStatusException)
|
||||||
default:
|
default:
|
||||||
globals.SugarLogger.Warnf("onWaybillMsg unknown msg:%v", msg)
|
globals.SugarLogger.Warnf("onWaybillMsg unknown msg:%v", msg)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package mtwm
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
|
||||||
"math"
|
"math"
|
||||||
"net/url"
|
"net/url"
|
||||||
"regexp"
|
"regexp"
|
||||||
@@ -601,8 +602,42 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam
|
|||||||
|
|
||||||
// SelfDeliverDelivered 自配送订单送达
|
// SelfDeliverDelivered 自配送订单送达
|
||||||
func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) {
|
func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) {
|
||||||
|
|
||||||
if globals.EnableMtwmStoreWrite {
|
if globals.EnableMtwmStoreWrite {
|
||||||
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderArrived(utils.Str2Int64(order.VendorOrderID))
|
api := getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "")
|
||||||
|
db := dao.GetDB()
|
||||||
|
|
||||||
|
err = api.OrderArrived(utils.Str2Int64(order.VendorOrderID))
|
||||||
|
if err == nil {
|
||||||
|
riderInfo := &mtpsapi.RiderInfo{
|
||||||
|
OrderId: order.VendorOrderID,
|
||||||
|
ThirdCarrierOrderId: order.VendorOrderID,
|
||||||
|
CourierName: "",
|
||||||
|
CourierPhone: "",
|
||||||
|
LogisticsProviderCode: "10015", // 商家自建配送
|
||||||
|
LogisticsStatus: utils.Str2Int(mtwmapi.WaybillStatusDelivered),
|
||||||
|
Latitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(order.ConsigneeLat)), // 送达即为客户坐标
|
||||||
|
Longitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(order.ConsigneeLng)),
|
||||||
|
}
|
||||||
|
waybills, _ := dao.GetWaybills(db, order.VendorOrderID, nil)
|
||||||
|
if len(waybills) == model.NO {
|
||||||
|
store, _ := dao.GetStoreDetail(db, jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, order.VendorOrgCode)
|
||||||
|
riderInfo.CourierName = "老板"
|
||||||
|
riderInfo.CourierPhone = store.Tel1
|
||||||
|
} else {
|
||||||
|
for _, v := range waybills {
|
||||||
|
if v.Status >= model.OrderStatusDelivering && v.Status <= model.OrderStatusFinished {
|
||||||
|
riderInfo.CourierName = v.CourierName
|
||||||
|
riderInfo.CourierPhone = v.CourierMobile
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if riderInfo.CourierName == "" || riderInfo.CourierPhone == "" {
|
||||||
|
riderInfo.CourierName = "老板"
|
||||||
|
riderInfo.CourierPhone = "18048531223"
|
||||||
|
}
|
||||||
|
err = c.GetOrderRider(order.VendorOrgCode, order.VendorStoreID, utils.Struct2Map(riderInfo, "", true))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user