diff --git a/business/jxcallback/orderman/order.go b/business/jxcallback/orderman/order.go index b35f40236..e799caa63 100644 --- a/business/jxcallback/orderman/order.go +++ b/business/jxcallback/orderman/order.go @@ -467,49 +467,55 @@ func ResetCreateWaybillFee(db *dao.DaoDB, order *model.GoodsOrder) (err error) { return err } - isRefund := true // 默认可以退费 + isRefund := false // 默认可以退费 for _, v := range orderStatusList { globals.SugarLogger.Debug("=================营业时间未到取消订单1", v.VendorOrderID, v.RefVendorOrderID) if order.WaybillVendorID == model.VendorIDMTPS && v.VendorStatus == "30" { - isRefund = false + isRefund = true break } if order.WaybillVendorID == model.VendorIDFengNiao && v.VendorStatus == "80" { - isRefund = false + isRefund = true break } if order.WaybillVendorID == model.VendorIDDada && v.VendorStatus == "3" { - isRefund = false + isRefund = true break } } - if !isRefund { // 骑手已经到店了,无法退款 + if isRefund { // 骑手已经到店了,无法退款 globals.SugarLogger.Debug("Refund Money Fail:", "骑手已到店,无法退款") return errors.New("骑手已到店,无法退款") } // 获取品牌的支付记录 orderBill, _ := dao.GetBrandBill(db, store.BrandID, order.VendorOrderID, 0, model.BrandBillFeeTypeDelivery, order.VendorWaybillID) + if len(orderBill) <= 0 { + globals.SugarLogger.Debug("Refund Money Fail:", "无记录,不退款") + return errors.New("无记录,不退款") + } for _, v := range orderBill { if v.BillType == model.BrandBillTypeIncome { // 已经退款了 globals.SugarLogger.Debug("Refund Money Fail:", "同一订单无法重复退款") return errors.New("无法重复退款") } + if v.BillType == model.BrandBillTypeExpend { + // 将支出记录修改为退款记录,支付类型为收入,且类型为三方配送时:退费 + newBill := &model.BrandBill{ + BrandID: store.BrandID, + Price: v.Price, + BillType: model.BrandBillTypeIncome, + FeeType: model.BrandBillFeeTypeDelivery, + VendorOrderID: v.VendorOrderID, + OrderID: v.OrderID, + } + dao.WrapAddIDCULEntity(newBill, "系统退费") + err = dao.CreateEntity(db, newBill) + } } - // 将支出记录修改为退款记录,支付类型为收入,且类型为三方配送时:退费 - newBill := &model.BrandBill{ - BrandID: store.BrandID, - Price: orderBill[0].Price, - BillType: model.BrandBillTypeIncome, - FeeType: model.BrandBillFeeTypeDelivery, - VendorOrderID: orderBill[0].VendorOrderID, - OrderID: orderBill[0].OrderID, - } - dao.WrapAddIDCULEntity(newBill, "") - err = dao.CreateEntity(db, newBill) } return err }