- CreateWaybillOnProviders添加maxAddFee与maxDiffFee2Mtps参数
This commit is contained in:
@@ -21,17 +21,29 @@ const (
|
||||
maxAddFee = 300 // 最大增加费用,单位为分,超过不发三方配送了
|
||||
)
|
||||
|
||||
var (
|
||||
DefCreateWaybillPolicy = CreateWaybillPolicy(maxDiffFee2Mtps, maxAddFee)
|
||||
)
|
||||
|
||||
func NullCreateWaybillPolicy(refDeliveryFee, refAddFee, deliveryFee int64) (errStr string) {
|
||||
return ""
|
||||
}
|
||||
|
||||
func DefCreateWaybillPolicy(refDeliveryFee, refAddFee, deliveryFee int64) (errStr string) {
|
||||
if refDeliveryFee-deliveryFee > maxDiffFee2Mtps {
|
||||
errStr = fmt.Sprintf("超参考价太多, 费用:%d,参考价:%d, 最高超价:%d", deliveryFee, refDeliveryFee, maxDiffFee2Mtps)
|
||||
} else if refAddFee > maxAddFee {
|
||||
errStr = fmt.Sprintf("超基础价太多, 当前加价:%d, 最高加价:%d", refAddFee, maxAddFee)
|
||||
func CreateWaybillPolicy(maxDiffFee2Mtps2, maxAddFee2 int64) func(refDeliveryFee, refAddFee, deliveryFee int64) (errStr string) {
|
||||
if maxDiffFee2Mtps2 == 0 {
|
||||
maxDiffFee2Mtps2 = maxDiffFee2Mtps
|
||||
}
|
||||
if maxAddFee2 == 0 {
|
||||
maxAddFee2 = maxAddFee
|
||||
}
|
||||
return func(refDeliveryFee, refAddFee, deliveryFee int64) (errStr string) {
|
||||
if deliveryFee-refDeliveryFee > maxDiffFee2Mtps2 {
|
||||
errStr = fmt.Sprintf("超参考价太多, 费用:%d,参考价:%d, 最高超价:%d", deliveryFee, refDeliveryFee, maxDiffFee2Mtps2)
|
||||
} else if refAddFee > maxAddFee2 {
|
||||
errStr = fmt.Sprintf("超基础价太多, 当前加价:%d, 最高加价:%d", refAddFee, maxAddFee2)
|
||||
}
|
||||
return errStr
|
||||
}
|
||||
return errStr
|
||||
}
|
||||
|
||||
func AddPolicy(prevPolicy, newPolicy partner.CreateWaybillPolicy) (outPolicy partner.CreateWaybillPolicy) {
|
||||
@@ -43,11 +55,11 @@ func AddPolicy(prevPolicy, newPolicy partner.CreateWaybillPolicy) (outPolicy par
|
||||
}
|
||||
}
|
||||
|
||||
func CallCreateWaybillPolicy(policy partner.CreateWaybillPolicy, refDeliveryFee, deliveryFee, addFee int64, order *model.GoodsOrder, waybillVendorID int) (err error) {
|
||||
func CallCreateWaybillPolicy(policy partner.CreateWaybillPolicy, refDeliveryFee, refAddFee, deliveryFee int64, order *model.GoodsOrder, waybillVendorID int) (err error) {
|
||||
if policy == nil {
|
||||
policy = NullCreateWaybillPolicy
|
||||
}
|
||||
if errStr := policy(deliveryFee, deliveryFee, addFee); errStr != "" {
|
||||
if errStr := policy(refDeliveryFee, refAddFee, deliveryFee); errStr != "" {
|
||||
waybillVendorName := jxutils.GetVendorName(waybillVendorID)
|
||||
errStr = fmt.Sprintf("oderID:%s创建运单出错:%s", order.VendorOrderID, errStr)
|
||||
globals.SugarLogger.Debugf("%s CallCreateWaybillPolicy failed with %s", waybillVendorName, errStr)
|
||||
|
||||
Reference in New Issue
Block a user