This commit is contained in:
邹宗楠
2023-05-18 09:02:07 +08:00
parent b7c1e8638b
commit 55600bedb0
13 changed files with 275 additions and 159 deletions

View File

@@ -4,7 +4,6 @@ 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"
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
"git.rosy.net.cn/jx-callback/business/jxutils"
@@ -283,8 +282,9 @@ func (c *BaseScheduler) CancelWaybill(bill *model.Waybill, cancelReasonID int, c
if err := handlerInfo.Handler.CancelWaybill(bill, cancelReasonID, cancelReason); err != nil {
return err
}
order, _ := partner.CurOrderManager.LoadOrder(bill.VendorOrderID, bill.OrderVendorID)
return orderman.ResetCreateWaybillFee(nil, order, bill)
return nil
//order, _ := partner.CurOrderManager.LoadOrder(bill.VendorOrderID, bill.OrderVendorID)
//return orderman.ResetCreateWaybillFee(nil, order, bill)
}, "CancelWaybill bill:%v", bill); err == nil {
bill.Status = model.WaybillStatusCanceled
bill.DeliveryFlag |= model.WaybillDeliveryFlagMaskActiveCancel

View File

@@ -376,7 +376,7 @@ func (c *BaseScheduler) CheckStoreBalanceWithTip(ctx *jxcontext.Context, order *
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("门店账户余额不足,不能加小费!")
}
if tipFee > 1000 {
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("小费单次加价金额大于元")
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("小费单次加价金额大于元")
}
} else {
// 品牌发单
@@ -393,7 +393,7 @@ func (c *BaseScheduler) CheckStoreBalanceWithTip(ctx *jxcontext.Context, order *
return model.ErrCodeAccountBalanceNotEnough, fmt.Errorf("品牌账户余额不足,不能加小费!")
}
if tipFee > 1000 {
return model.ErrCodeOnePayTipFeeMore, fmt.Errorf("小费单次加价金额大于元")
return model.ErrCodeOnePayTipFeeMore, fmt.Errorf("小费单次加价金额大于元")
}
}
// 是否确认支付

View File

@@ -6,6 +6,7 @@ import (
"git.rosy.net.cn/baseapi/platformapi/fnpsapi"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
"git.rosy.net.cn/baseapi/platformapi/uuptapi"
"git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
"git.rosy.net.cn/jx-callback/business/jxutils/smsmsg"
"math/rand"
"strings"
@@ -511,20 +512,6 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
savedOrderInfo := s.loadSavedOrderFromMap(model.Waybill2Status(bill), true)
order := savedOrderInfo.order
// 打印通知
//netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeWayBill)
// 获取订单配送平台,如果是美团则需要获取门店配置的配送方式
//isBlendWay := false
//if bill.OrderVendorID == model.VendorIDMTWM {
// mtStoreInfo, err := api.MtwmAPI.PoiGet(utils.Int2Str(order.JxStoreID))
// globals.SugarLogger.Debugf("从美团上获取门店失败:%s", err)
// isBlendWay = strings.Contains(mtStoreInfo.LogisticsCodes, model.MTWMStorePSWay8)
//}
//if order.VendorID == model.VendorIDDD {
// partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).GetOrderRider()
//}
// 暂时只处理抖音平台,抖音暂无配送,只要是抖音订单,三方配送压单了,直接通知送出
if bill.Status == model.WaybillStatusNew {
s.addWaybill2Map(savedOrderInfo, bill)
@@ -634,10 +621,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
if order.VendorID == model.VendorIDJDShop {
s.solutionJdsOrder(bill)
}
//如果是商城的订单, 骑手取货时,需要发短信提醒
//if bill.Status == model.WaybillStatusDelivering && order.VendorID == model.VendorIDJX && order.OrderType == model.OrderTypeNormal {
// smsmsg.NotifyJxOrder(order, bill)
//}
// 当运单时三方配送时,美团状态20
if bill.WaybillVendorID == model.VendorIDDada || bill.WaybillVendorID == model.VendorIDMTPS || bill.WaybillVendorID == model.VendorIDFengNiao || bill.WaybillVendorID == model.VendorIDUUPT {
if (bill.VendorStatus == utils.Int64ToStr(mtpsapi.OrderStatusPickedUp) && bill.OrderVendorID == model.VendorIDMTWM) ||
@@ -747,9 +731,6 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
if model.IsOrderHaveWaybill(order) {
s.updateOrderByBill(order, nil, true)
}
//if order.VendorID == model.VendorIDMTWM {
// order, _ = partner.CurOrderManager.LoadOrder(order.VendorOrderID, order.VendorID)
//}
// 3方的运单取消才会重新发起创建3方订单购物平台的运单取消后它本身还会再创建新运单(NewWaybill事件有相应TIMER)),至少京东是这样的,暂时按京东的行为来
// 现在发现饿百取消订单后不会再创建运单了,所以饿百运单取消也允许直接创建三方运单
// 之前的条件是order.Status < model.OrderStatusDelivering但像订单902322817000122确实有在配送中取消状态改成非订单结束状态都可以
@@ -761,21 +742,12 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
//}
globals.SugarLogger.Debugf("auto cancelWaybill created second, orderID%s", order.VendorOrderID)
}
//if order.Status < model.OrderStatusDelivering {
// if order.VendorID == model.VendorIDMTWM && order.DeliveryType == model.OrderDeliveryTypePlatform {
// s.CancelOrder(jxcontext.AdminCtx, order, "")
// }
//}
}
}
// case model.WaybillStatusDelivering:
// s.resetTimer(savedOrderInfo, bill, isPending)
// if s.isBillCandidate(order, bill) {
// // do nothing
// } else {
// // s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonStrNotAcceptIntime)
// globals.SugarLogger.Infof("OnWaybillStatusChanged Delivering order(%d, %s) bill(%d, %s), bill:%v shouldn't get here", order.WaybillVendorID, order.VendorWaybillID, bill.WaybillVendorID, bill.VendorWaybillID, bill)
// }
if err := orderman.ResetCreateWaybillFee(nil, order, bill); err != nil {
globals.SugarLogger.Errorf("ResetCreateWaybillFee err : %v", err)
}
case model.WaybillStatusDelivered:
s.resetTimer(savedOrderInfo, bill, isPending)
@@ -805,22 +777,18 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
if !isPending {
s.notify3rdPartyWaybill(order, bill, false)
}
// case model.WaybillStatusNeverSend: // 平台不配送,直接创建三方运单
// s.resetTimer(savedOrderInfo, bill, isPending)
// s.removeWaybillFromMap(savedOrderInfo, bill.WaybillVendorID)
// if order.WaybillVendorID == model.VendorIDUnknown {
// s.createWaybillOn3rdProviders(savedOrderInfo, 0, nil)
// }
// 将订单修改为完成状态
order.Status = model.OrderStatusFinished
order.OrderFinishedAt = time.Now()
partner.CurOrderManager.UpdateOrderFields(order, []string{"status", "OrderFinishedAt"})
if err := orderman.FinisOrderWaybillFee(nil, order, bill); err != nil {
globals.SugarLogger.Debugf("FinisOrderWaybillFee count err : %v", err)
}
default:
s.resetTimer(savedOrderInfo, bill, isPending)
}
// s.updateBillsInfo(savedOrderInfo, bill) // 更新可能的运单状态变化
}
// }
}
return err
}