修改自配送订单送达时同步订单配送状态,和蜂鸟异常发单存储运单状态22导致重新发单失败
This commit is contained in:
@@ -300,7 +300,8 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify, resultParam *fnpsapi.ShortSta
|
||||
order.Status = model.WaybillStatusCanceled
|
||||
order.VendorStatus = utils.Int2Str(fnpsapi.OrderStatusAcceptCacle)
|
||||
case fnpsapi.OrderStatusException: // 5 异常
|
||||
order.Status = model.WaybillStatusDeliverFailed // 22
|
||||
order.Status = model.WaybillStatusCanceled // 22
|
||||
order.VendorStatus = utils.Int2Str(fnpsapi.OrderStatusException)
|
||||
default:
|
||||
globals.SugarLogger.Warnf("onWaybillMsg unknown msg:%v", msg)
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package mtwm
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
|
||||
"math"
|
||||
"net/url"
|
||||
"regexp"
|
||||
@@ -601,8 +602,42 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam
|
||||
|
||||
// SelfDeliverDelivered 自配送订单送达
|
||||
func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) {
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user