1
This commit is contained in:
@@ -950,7 +950,7 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
|
||||
if err == nil && err2 == nil {
|
||||
// 1.检查门店三方配送配置,达达>蜂鸟>美团>顺丰>uu
|
||||
// excludeVendorIDs 包括上面已经发送的平台id
|
||||
storeCourierList, err := dao.GetStoreCourierList2(dao.GetDB(), []int{jxutils.GetSaleStoreIDFromOrder(order)}, nil, model.StoreStatusOpened, []int{model.StoreAuditStatusOnline, model.StoreAuditStatusUpdated})
|
||||
storeCourierList, _ := 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,9 +989,17 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
|
||||
}
|
||||
|
||||
if vendorID != model.NO {
|
||||
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)))
|
||||
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)))
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
partner.CurOrderManager.OnOrderMsg(order, utils.Int2Str(vendorID), fmt.Sprintf("发起自动创建三方运单,目标创建运单平台[%s],创建失败:%v", jxutils.GetVendorName(vendorID), err))
|
||||
}
|
||||
|
||||
@@ -316,11 +316,10 @@ func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInf
|
||||
deliveryFeeInfo.RefDeliveryFee, deliveryFeeInfo.RefAddFee, err = api.MtpsAPI.PreCreateByShop(param)
|
||||
deliveryFeeInfo.DeliveryFee = deliveryFeeInfo.RefDeliveryFee
|
||||
|
||||
globals.SugarLogger.Debugf("=============deliveryFeeInfo := %s", utils.Format4Output(deliveryFeeInfo, false))
|
||||
return deliveryFeeInfo, err
|
||||
}
|
||||
|
||||
// CreateWaybill(美团配送)
|
||||
// CreateWaybill (美团配送)
|
||||
func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee int64) (bill *model.Waybill, err error) {
|
||||
db := dao.GetDB()
|
||||
// 检查配送平台是否被禁用
|
||||
@@ -332,16 +331,6 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee
|
||||
return nil, fmt.Errorf("此平台配送已被系统关闭,暂不发配送 [%v]", vendorOrgCode[0].Comment)
|
||||
}
|
||||
|
||||
if maxDeliveryFee == model.NO {
|
||||
fee, err := c.GetWaybillFee(order)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if fee.DeliveryFee >= model.DefMaxDeliveryFee {
|
||||
return nil, fmt.Errorf("美团配送超最高限价, 所需运费:%s, 最高限价:%s", jxutils.IntPrice2StandardCurrencyString(fee.DeliveryFee), jxutils.IntPrice2StandardCurrencyString(model.DefMaxDeliveryFee))
|
||||
}
|
||||
}
|
||||
|
||||
// 忽略坐标转换错误,即使是转换出错,也只能当成转换成功来处理,底层会有错误日志输出
|
||||
lngFloat, latFloat, _ := jxutils.IntCoordinate2MarsStandard(order.ConsigneeLng, order.ConsigneeLat, order.CoordinateType)
|
||||
billParams := &mtpsapi.CreateOrderByShopParam{
|
||||
|
||||
@@ -75,6 +75,7 @@ var (
|
||||
CancelWaybillReasonStrActive = "操作由人员主动发起"
|
||||
CancelWaybillReasonNotInStoreOpenTime = "不在门店的营业时间范围内"
|
||||
CancelWaybillReasonStrDYPSCancel = "抖音门店转自送,取消自动运力"
|
||||
CancelWaybillReasonStrDeliveryFeeUp = "配送距离太远,配送费超过15元"
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
taoVegetable "git.rosy.net.cn/jx-callback/business/partner/purchase/tao_vegetable"
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
"github.com/astaxie/beego/server/web"
|
||||
"io/ioutil"
|
||||
@@ -227,6 +228,8 @@ func (c *TaoBaoVegetableController) CancelOnSaleRefundOrder() {
|
||||
//callbackResponse := taoVegetable.OnCallbackMsg(tao_vegetable.OrderStatusOnSaleCancel, utils.Int64ToStr(afsOrder.PartCancelRequest.BizOrderId), afsOrder)
|
||||
//c.Data["json"] = callbackResponse
|
||||
order, err := partner.CurOrderManager.LoadOrder(utils.Int64ToStr(afsOrder.PartCancelRequest.BizOrderId), model.VendorIDTaoVegetable)
|
||||
globals.SugarLogger.Debugf("=========order:= %s", utils.Format4Output(order, false))
|
||||
globals.SugarLogger.Debugf("=========order:= %v", err)
|
||||
if err != nil || order.Status >= model.OrderStatusDelivering {
|
||||
c.Data["json"] = tao_vegetable.CallBackResultOnSaleCancel(fmt.Errorf("不支持售中取消"))
|
||||
c.ServeJSON()
|
||||
|
||||
Reference in New Issue
Block a user