This commit is contained in:
richboo111
2024-01-23 16:46:50 +08:00
parent c6b5305353
commit 28922e913f
16 changed files with 258 additions and 180 deletions

View File

@@ -950,7 +950,7 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
if err == nil && err2 == nil {
// 1.检查门店三方配送配置,达达>蜂鸟>美团>顺丰>uu
// excludeVendorIDs 包括上面已经发送的平台id
storeCourierList, _ := dao.GetStoreCourierList2(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order)}, nil, model.StoreStatusOpened, []int{model.StoreAuditStatusOnline, model.StoreAuditStatusUpdated})
storeCourierList, err := dao.GetStoreCourierList2(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order)}, nil, model.StoreStatusOpened, []int{model.StoreAuditStatusOnline, model.StoreAuditStatusUpdated})
excludeVendorIDsMap := make(map[int]int, 0) // 被排除的配送
for _, v := range excludeVendorIDs {
excludeVendorIDsMap[v] = model.YES
@@ -989,17 +989,9 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
}
if vendorID != model.NO {
if bills, err := s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, excludeVendorIDs, false, maxDeliveryFee); err == nil {
for _, v := range bills {
if v.DesiredFee >= model.AlarmFee {
s.CancelWaybill(v, 0, partner.CancelWaybillReasonStrDeliveryFeeUp)
partner.CurOrderManager.OnOrderMsg(order, utils.Int2Str(vendorID), fmt.Sprintf("发起自动创建三方运单,目标创建运单平台[%s],创建失败:%s", jxutils.GetVendorName(vendorID), partner.CancelWaybillReasonStrDeliveryFeeUp))
} else {
savedOrderInfo.retryCount++
partner.CurOrderManager.OnOrderMsg(order, utils.Int2Str(vendorID), fmt.Sprintf("订单自动创建三方运单成功:%s", jxutils.GetVendorName(vendorID)))
}
}
if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, excludeVendorIDs, false, maxDeliveryFee); err == nil {
savedOrderInfo.retryCount++
partner.CurOrderManager.OnOrderMsg(order, utils.Int2Str(vendorID), fmt.Sprintf("订单自动创建三方运单成功:%s", jxutils.GetVendorName(vendorID)))
} else {
partner.CurOrderManager.OnOrderMsg(order, utils.Int2Str(vendorID), fmt.Sprintf("发起自动创建三方运单,目标创建运单平台[%s],创建失败:%v", jxutils.GetVendorName(vendorID), err))
}

View File

@@ -2,12 +2,13 @@ package defsch
import (
"fmt"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
"math"
"math/rand"
"time"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
@@ -287,16 +288,6 @@ func (s *DefScheduler) CreateWaybillOnProvidersEx(ctx *jxcontext.Context, vendor
return nil, errCode, err
}
}
excludeCourierVendorIDs := make([]int, 0, 0)
allDelivery := map[int]int{model.VendorIDFengNiao: 1, model.VendorIDDada: 1, model.VendorIDMTPS: 1, model.VendorIDUUPT: 1, model.VendorIDSFPS: 1}
for _, v := range courierVendorIDs {
if allDelivery[v] == model.YES {
delete(allDelivery, v)
}
}
for k, _ := range allDelivery {
excludeCourierVendorIDs = append(excludeCourierVendorIDs, k)
}
billFunc := func() {
bills, err = func() (bills []*model.Waybill, err error) {
@@ -322,7 +313,7 @@ func (s *DefScheduler) CreateWaybillOnProvidersEx(ctx *jxcontext.Context, vendor
order.DeliveryFlag = 0
err = partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order)
// 创建订单
if bills, err = s.CreateWaybillOnProviders4SavedOrder(ctx, savedOrderInfo, courierVendorIDs, excludeCourierVendorIDs, forceCreate, maxDeliveryFee); err == nil && len(bills) > 0 {
if bills, err = s.CreateWaybillOnProviders4SavedOrder(ctx, savedOrderInfo, courierVendorIDs, nil, forceCreate, maxDeliveryFee); err == nil && len(bills) > 0 {
partner.CurOrderManager.OnOrderMsg(order, "手动创建运单成功", fmt.Sprintf("%s创建%s平台运单,强发:%t,最高限价:%d", ctx.GetUserName(), model.VendorChineseNames[bills[0].WaybillVendorID], forceCreate, maxDeliveryFee))
}
}