- rename partner.CreateWaybillPolicy to CreateWaybillPolicyFunc
This commit is contained in:
@@ -244,7 +244,7 @@ func (c *DeliveryHandler) getBillParams(db *dao.DaoDB, order *model.GoodsOrder)
|
||||
}
|
||||
|
||||
// IDeliveryPlatformHandler
|
||||
func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy partner.CreateWaybillPolicy) (bill *model.Waybill, err error) {
|
||||
func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy partner.CreateWaybillPolicyFunc) (bill *model.Waybill, err error) {
|
||||
db := dao.GetDB()
|
||||
deliveryFee, addFee, err := delivery.CalculateOrderDeliveryFee(order, time.Now(), db)
|
||||
if err != nil {
|
||||
|
||||
@@ -24,14 +24,14 @@ const (
|
||||
)
|
||||
|
||||
var (
|
||||
DefCreateWaybillPolicy = CreateWaybillPolicy(maxDiffFee2Mtps, maxAddFee)
|
||||
DefCreateWaybillPolicy = CreateWaybillPolicy(maxDiffFee2Mtps, maxAddFee, 0)
|
||||
)
|
||||
|
||||
func NullCreateWaybillPolicy(refDeliveryFee, refAddFee, deliveryFee int64) (errStr string) {
|
||||
return ""
|
||||
}
|
||||
|
||||
func CreateWaybillPolicy(maxDiffFee2Mtps2, maxAddFee2 int64) func(refDeliveryFee, refAddFee, deliveryFee int64) (errStr string) {
|
||||
func CreateWaybillPolicy(maxDiffFee2Mtps2, maxAddFee2, maxDeliveryFee2 int64) func(refDeliveryFee, refAddFee, deliveryFee int64) (errStr string) {
|
||||
if maxDiffFee2Mtps2 == 0 {
|
||||
maxDiffFee2Mtps2 = maxDiffFee2Mtps
|
||||
}
|
||||
@@ -40,15 +40,17 @@ func CreateWaybillPolicy(maxDiffFee2Mtps2, maxAddFee2 int64) func(refDeliveryFee
|
||||
}
|
||||
return func(refDeliveryFee, refAddFee, deliveryFee int64) (errStr string) {
|
||||
if deliveryFee-refDeliveryFee > maxDiffFee2Mtps2 {
|
||||
errStr = fmt.Sprintf("超参考价太多, 费用:%d,参考价:%d, 最高超价:%d", deliveryFee, refDeliveryFee, maxDiffFee2Mtps2)
|
||||
errStr = fmt.Sprintf("超参考价太多, 费用:%s,参考价:%s, 最高超价:%s", jxutils.IntPrice2StandardCurrencyString(deliveryFee), jxutils.IntPrice2StandardCurrencyString(refDeliveryFee), jxutils.IntPrice2StandardCurrencyString(maxDiffFee2Mtps2))
|
||||
} else if refAddFee > maxAddFee2 {
|
||||
errStr = fmt.Sprintf("超基础价太多, 当前加价:%d, 最高加价:%d", refAddFee, maxAddFee2)
|
||||
errStr = fmt.Sprintf("超基础价太多, 当前加价:%s, 最高加价:%s", jxutils.IntPrice2StandardCurrencyString(refAddFee), jxutils.IntPrice2StandardCurrencyString(maxAddFee2))
|
||||
} else if maxDeliveryFee2 > 0 && deliveryFee > maxDeliveryFee2 {
|
||||
errStr = fmt.Sprintf("超最高限价, 所需运费:%s, 最高限价:%s", jxutils.IntPrice2StandardCurrencyString(deliveryFee), jxutils.IntPrice2StandardCurrencyString(maxDeliveryFee2))
|
||||
}
|
||||
return errStr
|
||||
}
|
||||
}
|
||||
|
||||
func AddPolicy(prevPolicy, newPolicy partner.CreateWaybillPolicy) (outPolicy partner.CreateWaybillPolicy) {
|
||||
func AddPolicy(prevPolicy, newPolicy partner.CreateWaybillPolicyFunc) (outPolicy partner.CreateWaybillPolicyFunc) {
|
||||
return func(refDeliveryFee, refAddFee, deliveryFee int64) (errStr string) {
|
||||
if errStr = prevPolicy(refDeliveryFee, refAddFee, deliveryFee); errStr == "" {
|
||||
errStr = newPolicy(refDeliveryFee, refAddFee, deliveryFee)
|
||||
@@ -57,7 +59,7 @@ func AddPolicy(prevPolicy, newPolicy partner.CreateWaybillPolicy) (outPolicy par
|
||||
}
|
||||
}
|
||||
|
||||
func CallCreateWaybillPolicy(policy partner.CreateWaybillPolicy, refDeliveryFee, refAddFee, deliveryFee int64, order *model.GoodsOrder, waybillVendorID int) (err error) {
|
||||
func CallCreateWaybillPolicy(policy partner.CreateWaybillPolicyFunc, refDeliveryFee, refAddFee, deliveryFee int64, order *model.GoodsOrder, waybillVendorID int) (err error) {
|
||||
waybillVendorName := jxutils.GetVendorName(waybillVendorID)
|
||||
globals.SugarLogger.Debugf("CallCreateWaybillPolicy orderID:%s, refDeliveryFee:%d, refAddFee:%d, deliveryFee:%d, waybillVendor:%s",
|
||||
order.VendorOrderID, refDeliveryFee, refAddFee, deliveryFee, waybillVendorName)
|
||||
|
||||
@@ -127,7 +127,7 @@ func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInf
|
||||
}
|
||||
|
||||
// IDeliveryPlatformHandler
|
||||
func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy partner.CreateWaybillPolicy) (bill *model.Waybill, err error) {
|
||||
func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy partner.CreateWaybillPolicyFunc) (bill *model.Waybill, err error) {
|
||||
db := dao.GetDB()
|
||||
deliveryFee, addFee, err := delivery.CalculateOrderDeliveryFee(order, time.Now(), db)
|
||||
if err == nil {
|
||||
|
||||
@@ -25,7 +25,7 @@ type WaybillFeeInfo struct {
|
||||
Waybill *model.Waybill `json:"waybill"`
|
||||
}
|
||||
|
||||
type CreateWaybillPolicy func(refDeliveryFee, refAddFee, deliveryFee int64) (errStr string)
|
||||
type CreateWaybillPolicyFunc func(refDeliveryFee, refAddFee, deliveryFee int64) (errStr string)
|
||||
|
||||
type IDeliveryPlatformHandler interface {
|
||||
GetVendorID() int
|
||||
@@ -35,7 +35,7 @@ type IDeliveryPlatformHandler interface {
|
||||
IsErrStoreNotExist(err error) bool
|
||||
IsErrStoreExist(err error) bool
|
||||
|
||||
CreateWaybill(order *model.GoodsOrder, policy CreateWaybillPolicy) (bill *model.Waybill, err error)
|
||||
CreateWaybill(order *model.GoodsOrder, policy CreateWaybillPolicyFunc) (bill *model.Waybill, err error)
|
||||
CancelWaybill(bill *model.Waybill, cancelReasonID int, cancelReason string) (err error)
|
||||
GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo *WaybillFeeInfo, err error)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user