1
This commit is contained in:
@@ -2,6 +2,7 @@ package basesch
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
|
||||
@@ -106,10 +107,6 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName
|
||||
if c.IsReallyCallPlatformAPI {
|
||||
err = utils.CallFuncLogError(func() error {
|
||||
// 下面这个写法暂存,可能会有问题
|
||||
if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil && (err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation) {
|
||||
partner.CurOrderManager.OnOrderMsg(order, "SelfDeliverDelivering 调用[SelfDeliverDelivering]转自送", err.Error())
|
||||
}
|
||||
|
||||
if order.VendorID == model.VendorIDMTWM {
|
||||
// 转自送同时取消平台订单(美团才做这个操作)
|
||||
if _, err := partner.GetPurchasePlatformFromVendorID(order.VendorID).GetCancelDeliveryReason(order); err != nil {
|
||||
@@ -134,13 +131,29 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName
|
||||
partner.CurOrderManager.OnOrderMsg(order, "美团外卖运单无法取消,", err.Error())
|
||||
return err
|
||||
}
|
||||
}
|
||||
//抖音配送
|
||||
if order.VendorID == model.VendorIDDD {
|
||||
//取消抖音配送转自送
|
||||
} else if order.VendorID == model.VendorIDDD { //抖音配送
|
||||
localBill, _ := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID)
|
||||
err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel)
|
||||
partner.CurOrderManager.OnOrderMsg(order, "取消抖音配送,转用门店自配送/三方配送", err.Error())
|
||||
// 获取抖音配送状态
|
||||
tiktokWayBillStatus, _ := partner.GetPurchasePlatformFromVendorID(order.VendorID).OrderLogisticsStatus(utils.Str2Int64(order.VendorOrderID))
|
||||
if tiktokWayBillStatus >= tiktokShop.ShipmentStatusReceived {
|
||||
//取消抖音配送转自送
|
||||
err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel)
|
||||
partner.CurOrderManager.OnOrderMsg(order, "取消抖音配送,转用门店自配送/三方配送", "抖音骑手已经接单,无法取消")
|
||||
return err
|
||||
}
|
||||
|
||||
// 先转自送,自送不成功取消平台配送.
|
||||
if err = partner.GetPurchasePlatformFromVendorID(order.VendorID).CancelLogisticsByWmOrderId(order, "", "", order.VendorStoreID, order.VendorOrderID); err != nil {
|
||||
err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel)
|
||||
partner.CurOrderManager.OnOrderMsg(order, "取消抖音平台运单错误,无法转自送", err.Error())
|
||||
return err
|
||||
} else {
|
||||
partner.GetPurchasePlatformFromVendorID(order.VendorID).SelfDeliverDelivering(order, "")
|
||||
}
|
||||
} else {
|
||||
if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil && (err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation) {
|
||||
partner.CurOrderManager.OnOrderMsg(order, "SelfDeliverDelivering 调用[SelfDeliverDelivering]转自送", err.Error())
|
||||
}
|
||||
}
|
||||
return err
|
||||
}, "SelfDeliverDelivering orderID:%s", order.VendorOrderID)
|
||||
|
||||
@@ -69,51 +69,51 @@ func (s *DefScheduler) SelfDeliveringAndUpdateStatus(ctx *jxcontext.Context, ven
|
||||
}
|
||||
err = scheduler.ErrCanNotFindOrder
|
||||
}
|
||||
globals.SugarLogger.Debugf("SelfDeliveringAndUpdateStatus=============err %v", err)
|
||||
vendorStatus := fmt.Sprintf("%s转商户自送成功", ctx.GetUserName())
|
||||
remark := ""
|
||||
if err != nil {
|
||||
vendorStatus = fmt.Sprintf("%s转商户自送失败", ctx.GetUserName())
|
||||
remark = err.Error()
|
||||
partner.CurOrderManager.OnOrderMsg(order, vendorStatus, remark)
|
||||
return err
|
||||
}
|
||||
|
||||
// 上面是真的转自送,支持美团,饿百,京东,如果时抖店,抖店暂时全部是自送的!但是有骑手信息时,就是一个白嫖单子!
|
||||
if order.VendorID == model.VendorIDDD && courierName != "" && courierMobile != "" {
|
||||
timeNow := time.Now()
|
||||
rand.Seed(timeNow.UnixNano())
|
||||
randNumber := rand.Int63n(640)
|
||||
if randNumber < 60 {
|
||||
randNumber += 60
|
||||
}
|
||||
randTime := time.Duration(randNumber) * time.Second
|
||||
bill := &model.Waybill{
|
||||
VendorWaybillID: order.VendorOrderID,
|
||||
VendorWaybillID2: "",
|
||||
WaybillVendorID: model.VendorJXFakeWL,
|
||||
VendorOrderID: order.VendorOrderID,
|
||||
OrderVendorID: model.VendorIDDD,
|
||||
CourierName: courierName,
|
||||
CourierMobile: courierMobile,
|
||||
Status: model.OrderStatusNew,
|
||||
VendorStatus: utils.Int2Str(model.OrderStatusNew),
|
||||
ActualFee: 500,
|
||||
DesiredFee: order.ActualPayPrice,
|
||||
TipFee: 0,
|
||||
DuplicatedCount: 0,
|
||||
DeliveryFlag: 0,
|
||||
WaybillCreatedAt: timeNow,
|
||||
WaybillFinishedAt: utils.DefaultTimeValue,
|
||||
StatusTime: timeNow.Add(randTime), // 下一状态时间
|
||||
OriginalData: "",
|
||||
Remark: "自定义物流单",
|
||||
VendorOrgCode: order.VendorOrgCode,
|
||||
}
|
||||
err = dao.CreateEntity(dao.GetDB(), bill)
|
||||
}
|
||||
return err
|
||||
}()
|
||||
globals.SugarLogger.Debugf("SelfDeliveringAndUpdateStatus2=============err %v", err)
|
||||
}, jxutils.ComposeUniversalOrderID(vendorOrderID, vendorID))
|
||||
vendorStatus := fmt.Sprintf("%s转商户自送成功", ctx.GetUserName())
|
||||
remark := ""
|
||||
if err != nil {
|
||||
vendorStatus = fmt.Sprintf("%s转商户自送失败", ctx.GetUserName())
|
||||
remark = err.Error()
|
||||
}
|
||||
partner.CurOrderManager.OnOrderMsg(order, vendorStatus, remark)
|
||||
// 上面是真的转自送,支持美团,饿百,京东,如果时抖店,抖店暂时全部是自送的!但是有骑手信息时,就是一个白嫖单子!
|
||||
if order.VendorID == model.VendorIDDD && courierName != "" && courierMobile != "" {
|
||||
timeNow := time.Now()
|
||||
rand.Seed(timeNow.UnixNano())
|
||||
randNumber := rand.Int63n(640)
|
||||
if randNumber < 60 {
|
||||
randNumber += 60
|
||||
}
|
||||
randTime := time.Duration(randNumber) * time.Second
|
||||
bill := &model.Waybill{
|
||||
VendorWaybillID: order.VendorOrderID,
|
||||
VendorWaybillID2: "",
|
||||
WaybillVendorID: model.VendorJXFakeWL,
|
||||
VendorOrderID: order.VendorOrderID,
|
||||
OrderVendorID: model.VendorIDDD,
|
||||
CourierName: courierName,
|
||||
CourierMobile: courierMobile,
|
||||
Status: model.OrderStatusNew,
|
||||
VendorStatus: utils.Int2Str(model.OrderStatusNew),
|
||||
ActualFee: 500,
|
||||
DesiredFee: order.ActualPayPrice,
|
||||
TipFee: 0,
|
||||
DuplicatedCount: 0,
|
||||
DeliveryFlag: 0,
|
||||
WaybillCreatedAt: timeNow,
|
||||
WaybillFinishedAt: utils.DefaultTimeValue,
|
||||
StatusTime: timeNow.Add(randTime), // 下一状态时间
|
||||
OriginalData: "",
|
||||
Remark: "自定义物流单",
|
||||
VendorOrgCode: order.VendorOrgCode,
|
||||
}
|
||||
err = dao.CreateEntity(dao.GetDB(), bill)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user