- 创建三方运单超价时报警
This commit is contained in:
@@ -268,9 +268,6 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy partner.
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
dadaFee := jxutils.StandardPrice2Int(result.Fee)
|
dadaFee := jxutils.StandardPrice2Int(result.Fee)
|
||||||
if dadaFee > 2000 {
|
|
||||||
globals.SugarLogger.Infof("[运营]计算订单orderID:%s, 达达配送费:%d太高,请检查达达门店坐标信息!", order.VendorOrderID, dadaFee)
|
|
||||||
}
|
|
||||||
if err = delivery.CallCreateWaybillPolicy(policy, deliveryFee, addFee, dadaFee, order, model.VendorIDDada); err != nil {
|
if err = delivery.CallCreateWaybillPolicy(policy, deliveryFee, addFee, dadaFee, order, model.VendorIDDada); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -285,6 +282,7 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy partner.
|
|||||||
DesiredFee: deliveryFee,
|
DesiredFee: deliveryFee,
|
||||||
ActualFee: jxutils.StandardPrice2Int(result.Fee),
|
ActualFee: jxutils.StandardPrice2Int(result.Fee),
|
||||||
}
|
}
|
||||||
|
delivery.OnWaybillCreated(bill)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
err = fmt.Errorf("测试环境不能真正创建运单")
|
err = fmt.Errorf("测试环境不能真正创建运单")
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ const (
|
|||||||
warningWeight = 50 * 1000 // 克
|
warningWeight = 50 * 1000 // 克
|
||||||
maxDiffFee2Mtps = 200 // 与美团配送最多差价
|
maxDiffFee2Mtps = 200 // 与美团配送最多差价
|
||||||
maxAddFee = 200 // 最大增加费用,单位为分,超过不发三方配送了
|
maxAddFee = 200 // 最大增加费用,单位为分,超过不发三方配送了
|
||||||
|
|
||||||
|
alarmFee = 1500 // 配送费报警阈值
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -151,3 +153,11 @@ func CalculateBillDeliveryFee(bill *model.Waybill) (deliveryFee, addFee int64) {
|
|||||||
deliveryFee, addFee, _ = CalculateOrderDeliveryFee(order, bill.StatusTime, nil)
|
deliveryFee, addFee, _ = CalculateOrderDeliveryFee(order, bill.StatusTime, nil)
|
||||||
return deliveryFee, addFee
|
return deliveryFee, addFee
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func OnWaybillCreated(waybill *model.Waybill) {
|
||||||
|
deliveryFee := int64(math.Max(float64(waybill.DesiredFee), float64(waybill.ActualFee)))
|
||||||
|
if deliveryFee > alarmFee {
|
||||||
|
globals.SugarLogger.Infof("[运营]%s订单, orderID:%s, 成功创建%s运单:%s, 配送费:%s太高(大于%s),请知悉!", model.VendorChineseNames[waybill.OrderVendorID], waybill.VendorOrderID,
|
||||||
|
model.VendorChineseNames[waybill.WaybillVendorID], waybill.VendorWaybillID, jxutils.IntPrice2StandardCurrencyString(deliveryFee), jxutils.IntPrice2StandardCurrencyString(alarmFee))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -188,6 +188,7 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy partner.
|
|||||||
WaybillVendorID: model.VendorIDMTPS,
|
WaybillVendorID: model.VendorIDMTPS,
|
||||||
DesiredFee: deliveryFee,
|
DesiredFee: deliveryFee,
|
||||||
}
|
}
|
||||||
|
delivery.OnWaybillCreated(bill)
|
||||||
} else {
|
} else {
|
||||||
globals.SugarLogger.Debugf("CreateWaybill failed, orderID:%s, billParams:%v, addParams:%v, error:%v", order.VendorOrderID, billParams, addParams, err)
|
globals.SugarLogger.Debugf("CreateWaybill failed, orderID:%s, billParams:%v, addParams:%v, error:%v", order.VendorOrderID, billParams, addParams, err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user