diff --git a/business/model/store.go b/business/model/store.go index 5e97c8f1c..3d15e97f0 100644 --- a/business/model/store.go +++ b/business/model/store.go @@ -377,7 +377,7 @@ type Store struct { PayeeAccountNo string `orm:"size(255)" json:"payeeAccountNo"` // 收款账号 PayeeBankBranchName string `orm:"size(255)" json:"payeeBankBranchName"` // 开户支行 PayeeBankCode string `orm:"size(8)" json:"payeeBankCode"` // 开户行代码 - PayPercentage int `json:"payPercentage"` + PayPercentage int `json:"payPercentage"` // 扣点模式,小于50为扣点,其他为报价 OldPayPercentage int `json:"oldPayPercentage"` StoreFrontPic string `orm:"size(255)" json:"storeFrontPic"` //门面照 diff --git a/business/partner/delivery/delivery.go b/business/partner/delivery/delivery.go index c29b87d75..8bfd91700 100644 --- a/business/partner/delivery/delivery.go +++ b/business/partner/delivery/delivery.go @@ -21,6 +21,19 @@ const ( ) func CallCreateWaybillPolicy(deliveryFee, maxDeliveryFee int64, order *model.GoodsOrder, waybillVendorID int) (err error) { + //storeDetail, err := dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, order.VendorOrgCode) + //if storeDetail.PayPercentage < 50 { + // order.EarningType = model.EarningTypePoints + //} else { + // order.EarningType = model.EarningTypeQuote + //} + //if err == nil && storeDetail != nil && storeDetail.PayPercentage < 50 { + // + //} + // 扣点模式订单不需要限额 + if order.EarningType == model.EarningTypePoints { + return nil + } if maxDeliveryFee <= model.DefMaxDeliveryFee { maxDeliveryFee = model.DefMaxDeliveryFee } diff --git a/business/partner/delivery/fn/waybill.go b/business/partner/delivery/fn/waybill.go index e689bc21d..caf8e6994 100644 --- a/business/partner/delivery/fn/waybill.go +++ b/business/partner/delivery/fn/waybill.go @@ -102,13 +102,16 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee } 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)) + // 扣点模式订单不需要限额 + if order.EarningType != model.EarningTypePoints { + // 获取配送费 + 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)) + } } } diff --git a/business/partner/delivery/mtps/waybill.go b/business/partner/delivery/mtps/waybill.go index a5f1e3c8b..60e6b9b1d 100644 --- a/business/partner/delivery/mtps/waybill.go +++ b/business/partner/delivery/mtps/waybill.go @@ -332,12 +332,14 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee } 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)) + if order.EarningType != model.EarningTypePoints { + 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)) + } } } diff --git a/business/partner/delivery/sfps/waybill.go b/business/partner/delivery/sfps/waybill.go index 6335258aa..fca99fac5 100644 --- a/business/partner/delivery/sfps/waybill.go +++ b/business/partner/delivery/sfps/waybill.go @@ -90,12 +90,14 @@ func (d DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee i } if maxDeliveryFee == model.NO { - fee, err := d.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)) + if order.EarningType != model.EarningTypePoints { + fee, err := d.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)) + } } } diff --git a/business/partner/delivery/uupt/waybill.go b/business/partner/delivery/uupt/waybill.go index aad805e81..ebf5b6a85 100644 --- a/business/partner/delivery/uupt/waybill.go +++ b/business/partner/delivery/uupt/waybill.go @@ -140,14 +140,15 @@ func (d DeliveryHandler) IsErrStoreExist(err error) bool { func (d DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee int64) (bill *model.Waybill, err error) { if maxDeliveryFee == model.NO { - fee, err := d.GetWaybillFee(order) - if err != nil { - return nil, err + if order.EarningType != model.EarningTypePoints { + fee, err := d.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)) + } } - if fee.DeliveryFee >= model.DefMaxDeliveryFee { - return nil, fmt.Errorf("顺丰超最高限价, 所需运费:%s, 最高限价:%s", jxutils.IntPrice2StandardCurrencyString(fee.DeliveryFee), jxutils.IntPrice2StandardCurrencyString(model.DefMaxDeliveryFee)) - } - } //获取门店老板详情 storeOwner, err := dao.GetStoreDetail(dao.GetDB(), getReallyStoreID(order.StoreID, order.JxStoreID), 0, "")