- 重构创建运单策略

This commit is contained in:
gazebo
2019-03-30 15:00:59 +08:00
parent 68b5ec38b6
commit 10a444c895
11 changed files with 142 additions and 125 deletions

View File

@@ -17,6 +17,7 @@ import (
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/business/partner/delivery"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego/orm"
)
@@ -515,25 +516,10 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
for _, vendorID := range savedOrderInfo.supported3rdCarriers {
handlerInfo := partner.GetDeliveryPlatformFromVendorID(vendorID)
if handlerInfo != nil && handlerInfo.Use4CreateWaybill && savedOrderInfo.waybills[vendorID] == nil && (excludeBill == nil || vendorID != excludeBill.WaybillVendorID) {
if _, err = s.CreateWaybill(vendorID, order, func(deliveryFee, addFee int64) error {
if savedOrderInfo.storeDeliveryType != scheduler.StoreDeliveryTypeByStore && addFee > maxAddFee {
db := orm.NewOrm()
globals.SugarLogger.Infof("createWaybillOn3rdProviders CreateWaybill orderID:%s addFee exceeded too much deliveryFee:%d, addFee:%d", order.VendorOrderID, deliveryFee, addFee)
tmpLog := &legacymodel.TempLog{
VendorOrderID: order.VendorOrderID,
RefVendorOrderID: order.VendorOrderID,
IntValue1: addFee,
Msg: fmt.Sprintf("createWaybillOn3rdProviders CreateWaybill orderID:%s addFee exceeded too much deliveryFee:%d, addFee:%d", order.VendorOrderID, deliveryFee, addFee),
}
db.Insert(tmpLog)
return ErrAddFeeExceeded
}
return nil
}); err == nil {
if _, err = s.CreateWaybill(vendorID, order, delivery.DefCreateWaybillPolicy); err == nil {
successCount++
} else {
globals.SugarLogger.Infof("CreateWaybill orderID:%s failed with error:%v", order.VendorOrderID, err)
globals.SugarLogger.Infof("CreateWaybill orderID:%s, vendor:%s failed with error:%v", order.VendorOrderID, jxutils.GetVendorName(vendorID), err)
}
}
}