提交订单
This commit is contained in:
@@ -138,6 +138,7 @@ func (w *OrderManager) OnWaybillStatusChanged(bill *model.Waybill) (err error) {
|
|||||||
}
|
}
|
||||||
dao.Commit(db, txDB)
|
dao.Commit(db, txDB)
|
||||||
// 进运单调度器OnWaybillStatusChanged之前要确保事务是提交了的,否则会导致死锁
|
// 进运单调度器OnWaybillStatusChanged之前要确保事务是提交了的,否则会导致死锁
|
||||||
|
// 加载数据到当前系统调度器当中
|
||||||
scheduler.CurrentScheduler.OnWaybillStatusChanged(&billCopy, false)
|
scheduler.CurrentScheduler.OnWaybillStatusChanged(&billCopy, false)
|
||||||
dao.Begin(db)
|
dao.Begin(db)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ func (c *BaseScheduler) CreateWaybill(platformVendorID int, order *model.GoodsOr
|
|||||||
}
|
}
|
||||||
// if order.DeliveryFlag&model.OrderDeliveryFlagMaskScheduleDisabled != 0 {
|
// if order.DeliveryFlag&model.OrderDeliveryFlagMaskScheduleDisabled != 0 {
|
||||||
// waybillList, err := partner.CurOrderManager.GetOrderWaybillInfo(jxcontext.AdminCtx, order.VendorOrderID, order.VendorID, true)
|
// waybillList, err := partner.CurOrderManager.GetOrderWaybillInfo(jxcontext.AdminCtx, order.VendorOrderID, order.VendorID, true)
|
||||||
// if err != nil {1
|
// if err != nil {
|
||||||
// return nil, err
|
// return nil, err
|
||||||
// }
|
// }
|
||||||
// if len(waybillList) > 0 {
|
// if len(waybillList) > 0 {
|
||||||
|
|||||||
@@ -504,7 +504,7 @@ func (s *DefScheduler) OnOrderStatusChanged(order *model.GoodsOrder, status *mod
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// 以下是运单
|
// 以下是运单 (将订单数据放入系统内部调度器当中)
|
||||||
func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending bool) (err error) {
|
func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending bool) (err error) {
|
||||||
if bill.Status > model.WaybillStatusUnknown {
|
if bill.Status > model.WaybillStatusUnknown {
|
||||||
globals.SugarLogger.Debugf("OnWaybillStatusChanged orderID:%s %s, bill:%v", bill.VendorOrderID, model.WaybillStatusName[bill.Status], utils.Format4Output(bill, true))
|
globals.SugarLogger.Debugf("OnWaybillStatusChanged orderID:%s %s, bill:%v", bill.VendorOrderID, model.WaybillStatusName[bill.Status], utils.Format4Output(bill, true))
|
||||||
|
|||||||
@@ -207,6 +207,7 @@ func (s *DefScheduler) CreateWaybillOnProvidersEx(ctx *jxcontext.Context, vendor
|
|||||||
if vendorID == model.VendorIDELM {
|
if vendorID == model.VendorIDELM {
|
||||||
return nil, fmt.Errorf("不要直接使用饿了么订单号,请使用相应的饿百订单号")
|
return nil, fmt.Errorf("不要直接使用饿了么订单号,请使用相应的饿百订单号")
|
||||||
}
|
}
|
||||||
|
// 创建可调度对象,并且存储
|
||||||
savedOrderInfo := s.loadSavedOrderByID(vendorOrderID, vendorID, true)
|
savedOrderInfo := s.loadSavedOrderByID(vendorOrderID, vendorID, true)
|
||||||
if savedOrderInfo != nil {
|
if savedOrderInfo != nil {
|
||||||
order := savedOrderInfo.order
|
order := savedOrderInfo.order
|
||||||
|
|||||||
@@ -120,6 +120,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m
|
|||||||
c.pushToGy(msg)
|
c.pushToGy(msg)
|
||||||
return mtpsapi.SuccessResponse
|
return mtpsapi.SuccessResponse
|
||||||
}
|
}
|
||||||
|
// 加入调度器
|
||||||
return mtpsapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), order.VendorStatus)
|
return mtpsapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), order.VendorStatus)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,10 +208,15 @@ func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInf
|
|||||||
deliveryFeeInfo = &partner.WaybillFeeInfo{}
|
deliveryFeeInfo = &partner.WaybillFeeInfo{}
|
||||||
// 获取送货单id
|
// 获取送货单id
|
||||||
deliveryID := c.getDeliveryID(order)
|
deliveryID := c.getDeliveryID(order)
|
||||||
|
shopId, err := c.getMTPSShopID(order, dao.GetDB())
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
deliveryFeeInfo.RefDeliveryFee, deliveryFeeInfo.RefAddFee, err = api.MtpsAPI.PreCreateByShop(&mtpsapi.PreCreateByShopParam{
|
deliveryFeeInfo.RefDeliveryFee, deliveryFeeInfo.RefAddFee, err = api.MtpsAPI.PreCreateByShop(&mtpsapi.PreCreateByShopParam{
|
||||||
DeliveryID: deliveryID,
|
DeliveryID: deliveryID,
|
||||||
OrderID: order.VendorOrderID,
|
OrderID: order.VendorOrderID,
|
||||||
ShopID: utils.Int2Str(order.StoreID),
|
ShopID: shopId,
|
||||||
DeliveryServiceCode: mtpsapi.DeliveryServiceCodeRapid,
|
DeliveryServiceCode: mtpsapi.DeliveryServiceCodeRapid,
|
||||||
ReceiverName: order.ConsigneeName,
|
ReceiverName: order.ConsigneeName,
|
||||||
ReceiverAddress: order.ConsigneeAddress,
|
ReceiverAddress: order.ConsigneeAddress,
|
||||||
|
|||||||
@@ -109,7 +109,6 @@ func (c *OrderController) QueryOrderWaybillFeeInfo() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo 召唤第三方骑手配送生成订单
|
|
||||||
// @Title 创建三方运单
|
// @Title 创建三方运单
|
||||||
// @Description 创建三方运单
|
// @Description 创建三方运单
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
|
|||||||
Reference in New Issue
Block a user