1
This commit is contained in:
@@ -8,8 +8,6 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/authz/autils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/excel"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/netprinter"
|
||||
@@ -176,17 +174,18 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m
|
||||
// 有些平台(比如美团外卖),在新订单事件没有成功返回,但在重发订单消息前,订单状态转换,则不会再重发新订单事件,特殊处理一下
|
||||
if orderStatus != nil {
|
||||
if orderStatus.Status == model.OrderStatusAccepted {
|
||||
if loadOrder, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID); err2 == ErrCanNotFindOrder {
|
||||
if _, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID); err2 == ErrCanNotFindOrder {
|
||||
if handler := partner.GetPurchaseOrderHandlerFromVendorID(orderStatus.VendorID); handler != nil {
|
||||
if order, err2 := handler.GetOrder(vendorOrgCode, orderStatus.VendorOrderID, ""); err2 == nil && order != nil {
|
||||
c.OnOrderNew(order, orderStatus)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
loadOrder.Status = model.OrderStatusAccepted
|
||||
loadOrder.VendorStatus = tao_vegetable.OrderStatusNew
|
||||
c.UpdateOrderFields(loadOrder, []string{"Status", "VendorStatus"})
|
||||
}
|
||||
//else {
|
||||
// loadOrder.Status = model.OrderStatusAccepted
|
||||
// loadOrder.VendorStatus = tao_vegetable.OrderStatusNew
|
||||
// c.UpdateOrderFields(loadOrder, []string{"Status", "VendorStatus"})
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -260,25 +259,25 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m
|
||||
order.OrderFinishedAt = time.Now()
|
||||
dao.UpdateEntity(db, order, "OrderFinishedAt")
|
||||
} else if orderStatus.Status == model.OrderStatusCanceled {
|
||||
order, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID) // 订单被取消,则取消三方运单
|
||||
waybill, _ := dao.GetWaybills(db, order.VendorOrderID, []int64{model.VendorIDMTPS, model.VendorIDDada, model.VendorIDFengNiao, model.VendorIDUUPT, model.VendorIDSFPS})
|
||||
order2, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID) // 订单被取消,则取消三方运单
|
||||
waybill, _ := dao.GetWaybills(db, order2.VendorOrderID, []int64{model.VendorIDMTPS, model.VendorIDDada, model.VendorIDFengNiao, model.VendorIDUUPT, model.VendorIDSFPS})
|
||||
for _, v := range waybill {
|
||||
if err := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID).Handler.CancelWaybill(v, 0, "订单被取消了"); err != nil {
|
||||
partner.CurOrderManager.OnOrderMsg(order, fmt.Sprintf("订单[%s]被取消了,运单[%s]取消失败Err: %s", order.VendorOrderID, v.VendorWaybillID, err.Error()), "")
|
||||
partner.CurOrderManager.OnOrderMsg(order2, fmt.Sprintf("订单[%s]被取消了,运单[%s]取消失败Err: %s", order.VendorOrderID, v.VendorWaybillID, err.Error()), "")
|
||||
} else {
|
||||
partner.CurOrderManager.OnOrderMsg(order, fmt.Sprintf("订单[%s]被取消了,运单[%s]取消成功", order.VendorOrderID, v.VendorWaybillID), "")
|
||||
partner.CurOrderManager.OnOrderMsg(order2, fmt.Sprintf("订单[%s]被取消了,运单[%s]取消成功", order.VendorOrderID, v.VendorWaybillID), "")
|
||||
}
|
||||
}
|
||||
// 刷新订单结束时间
|
||||
order.OrderFinishedAt = time.Now()
|
||||
dao.UpdateEntity(db, order, "OrderFinishedAt")
|
||||
order2.OrderFinishedAt = time.Now()
|
||||
dao.UpdateEntity(db, order2, "OrderFinishedAt")
|
||||
|
||||
//如果取消订单则要把库存加回去
|
||||
if err2 == nil {
|
||||
// 判断是否需要打印取消订单
|
||||
storeDetail, err := c.LoadStoreDetail(order.StoreID, order.VendorID)
|
||||
storeDetail, err := c.LoadStoreDetail(order2.StoreID, order2.VendorID)
|
||||
if err == nil && storeDetail.IsPrintCancelOrder == model.YES { // 取消申请
|
||||
_, err = netprinter.PrintRefundOrCancelOrder(jxcontext.AdminCtx, model.YES, order, order.StoreID)
|
||||
_, err = netprinter.PrintRefundOrCancelOrder(jxcontext.AdminCtx, model.YES, order2, order2.StoreID)
|
||||
}
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debug("Get store Detail Err: ", err)
|
||||
@@ -1111,7 +1110,6 @@ func (c *OrderManager) UpdateOrderStatusAndDeliveryFlag(order *model.GoodsOrder)
|
||||
|
||||
func (c *OrderManager) UpdateOrderFields(order *model.GoodsOrder, fieldList []string) (err error) {
|
||||
db := dao.GetDB()
|
||||
globals.SugarLogger.Debugf("=============order:=2 %s", utils.Format4Output(order, false))
|
||||
utils.CallFuncLogError(func() error {
|
||||
if order.ID == 0 {
|
||||
order2 := *order
|
||||
|
||||
@@ -41,7 +41,7 @@ func (c *PurchaseHandler) onWaybillMsg(tag, orderId string, data interface{}) *t
|
||||
waybill := c.callbackMsg2Waybill(tag, orderId, data)
|
||||
if localOrder, err := partner.CurOrderManager.LoadOrder(waybill.VendorOrderID, model.VendorIDDD); err == nil {
|
||||
err := partner.CurOrderManager.OnWaybillStatusChanged(waybill)
|
||||
if err == nil && waybill.Status == model.WaybillStatusDelivering {
|
||||
if err == nil {
|
||||
status := &model.OrderStatus{
|
||||
VendorOrderID: waybill.VendorOrderID,
|
||||
VendorID: model.VendorIDDD,
|
||||
@@ -71,7 +71,7 @@ func (c *PurchaseHandler) callbackMsg2Waybill(tag, orderId string, data interfac
|
||||
if req.Status == tiktok_api.ShipmentStatusReceived {
|
||||
tempRemark = req.RiderName + "," + req.RiderPhone
|
||||
}
|
||||
return &model.Waybill{
|
||||
way := &model.Waybill{
|
||||
VendorOrderID: utils.Int64ToStr(req.ShopOrderID),
|
||||
OrderVendorID: model.VendorIDDD,
|
||||
VendorWaybillID: utils.Int64ToStr(req.ShopOrderID),
|
||||
@@ -84,6 +84,7 @@ func (c *PurchaseHandler) callbackMsg2Waybill(tag, orderId string, data interfac
|
||||
Remark: tempRemark,
|
||||
VendorOrgCode: utils.Int64ToStr(req.ShopID), //为抖音账号ID
|
||||
}
|
||||
return way
|
||||
}
|
||||
|
||||
//设置自动呼叫运力
|
||||
|
||||
Reference in New Issue
Block a user