aa
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package basesch
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
@@ -164,16 +165,21 @@ func (c *BaseScheduler) CreateWaybill(platformVendorID int, order *model.GoodsOr
|
||||
// return nil, fmt.Errorf("转商家自送的订单只允许有一个有效运单,当前已经有%s运单", jxutils.GetVendorName(waybillList[0].WaybillVendorID))
|
||||
// }
|
||||
// }
|
||||
storeDetail, _ := dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, order.VendorOrgCode)
|
||||
handlerInfo := partner.GetDeliveryPlatformFromVendorID(platformVendorID)
|
||||
if handlerInfo != nil && handlerInfo.Use4CreateWaybill {
|
||||
if c.IsReallyCallPlatformAPI {
|
||||
bill, err = handlerInfo.Handler.CreateWaybill(order, maxDeliveryFee)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Infof("CreateWaybill failed orderID:%s vendorID:%d with error:%v", order.VendorOrderID, platformVendorID, err)
|
||||
} else {
|
||||
order.DeliveryFlag |= model.WaybillVendorID2Mask(platformVendorID)
|
||||
err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order)
|
||||
if model.DeliveryBrandMarkMap[platformVendorID]&storeDetail.BrandIsOpen != 0 {
|
||||
if c.IsReallyCallPlatformAPI {
|
||||
bill, err = handlerInfo.Handler.CreateWaybill(order, maxDeliveryFee)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Infof("CreateWaybill failed orderID:%s vendorID:%d with error:%v", order.VendorOrderID, platformVendorID, err)
|
||||
} else {
|
||||
order.DeliveryFlag |= model.WaybillVendorID2Mask(platformVendorID)
|
||||
err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
err = fmt.Errorf("CreateWaybill failed brand is close orderID: %s, isOpen: %d", order.VendorOrderID, storeDetail.BrandIsOpen)
|
||||
}
|
||||
} else {
|
||||
err = scheduler.ErrDeliverProviderWrong
|
||||
|
||||
@@ -598,10 +598,12 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
||||
// smsmsg.NotifyJxOrder(order, bill)
|
||||
//}
|
||||
//门店发单的门店,需要根据实际运费更新账户(多退少补)
|
||||
//扣除品牌费用
|
||||
if storeDetail, err2 := dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, ""); err2 == nil {
|
||||
if storeDetail.CreateDeliveryType == model.YES {
|
||||
s.updateStoreAccount(order, bill)
|
||||
}
|
||||
s.updateBrandAccount(storeDetail, bill)
|
||||
}
|
||||
//针对快送的订单(订单接单后会立马召唤骑手,不会到自动拣货完成)
|
||||
//如果骑手已接单,没有通知过的门店,需要发送通知
|
||||
@@ -886,9 +888,10 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
|
||||
//1表示为门店发单,需要验证门店账户余额情况
|
||||
_, err = s.CheckStoreBalance(jxcontext.AdminCtx, order, waybillVendorIDs)
|
||||
//TODO 2021-02-19 增加品牌配送开关
|
||||
if storeDetail.BrandIsOpen == model.YES {
|
||||
err = fmt.Errorf("此品牌已关闭配送! [%v]", storeDetail.BrandName)
|
||||
}
|
||||
//TODO 2021-08-31 修改为每个平台的开关
|
||||
//if storeDetail.BrandIsOpen == model.YES {
|
||||
// err = fmt.Errorf("此品牌已关闭配送! [%v]", storeDetail.BrandName)
|
||||
//}
|
||||
if err == nil {
|
||||
if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, excludeVendorIDs, false, maxDeliveryFee); err == nil {
|
||||
savedOrderInfo.retryCount++
|
||||
@@ -1365,6 +1368,13 @@ func (s *DefScheduler) updateStoreAccount(order *model.GoodsOrder, bill *model.W
|
||||
}
|
||||
}
|
||||
|
||||
func (s *DefScheduler) updateBrandAccount(store *dao.StoreDetail, bill *model.Waybill) {
|
||||
realDesiredFee := bill.DesiredFee
|
||||
if balance, err := partner.CurStoreAcctManager.GetBrandBalance(store.BrandID); err == nil {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func (s *DefScheduler) updateBillsInfo(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) (isBillExist bool) {
|
||||
if savedOrderInfo != nil {
|
||||
if savedBill := savedOrderInfo.waybills[bill.WaybillVendorID]; savedBill != nil {
|
||||
|
||||
Reference in New Issue
Block a user