退费修改

This commit is contained in:
邹宗楠
2022-07-15 09:56:27 +08:00
parent f2032b3f30
commit 9f3b148453

View File

@@ -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
}