|
@@ -18,6 +18,8 @@ const (
|
|
|
WechatPay PaymentWay = "wechat"
|
|
|
RefundSuccess = "success"
|
|
|
RefundFail = "fail"
|
|
|
+ PaySuccess = "success"
|
|
|
+ PayFail = "fail"
|
|
|
)
|
|
|
|
|
|
type PaymentWay string
|
|
@@ -126,27 +128,6 @@ type RefundDealFlowDTO struct {
|
|
|
RefundOrderNo string `gorm:"column:refund_order_no"`
|
|
|
}
|
|
|
|
|
|
-func DealRefund(refundOrderNo string, flag string) (dto RefundDealFlowDTO, err error) {
|
|
|
- flow, err := order.GetRefundFlow(refundOrderNo)
|
|
|
- if err != nil {
|
|
|
- logger.Error("获取退款流水失败%v,退款订单:%s", err, refundOrderNo)
|
|
|
- return
|
|
|
- }
|
|
|
- dto = convertRefundDTO(flow)
|
|
|
- //处理退款订单
|
|
|
- TradeOrder, err := order.GetTradeOrderByNo(flow.RefundOrderNo, order.PaymentTypeRefund)
|
|
|
- if err != nil {
|
|
|
- logger.Error("获取退款订单失败%v,退款订单:%s", err, refundOrderNo)
|
|
|
- return
|
|
|
- }
|
|
|
- err = order.DealRefundOrder(TradeOrder, true)
|
|
|
- if err != nil {
|
|
|
- logger.Error("处理退款结果失败%v,退款订单:%s", err, refundOrderNo)
|
|
|
- return
|
|
|
- }
|
|
|
- _ = createRefundMetaInfo(flow.OperatorUserID, flow.ProductOrderNo, flag)
|
|
|
- return
|
|
|
-}
|
|
|
func convertRefundDTO(flow order.RefundDealFlow) RefundDealFlowDTO {
|
|
|
return RefundDealFlowDTO{
|
|
|
OperatorUserID: flow.OperatorUserID,
|
|
@@ -193,3 +174,49 @@ func createRefundMetaInfo(sysUserId int, productOrderNo string, flag string) (er
|
|
|
}
|
|
|
return message.CreateMetaInfo(metaInfo)
|
|
|
}
|
|
|
+
|
|
|
+func DealRefund(refundOrderNo string, flag string) (dto RefundDealFlowDTO, err error) {
|
|
|
+ flow, err := order.GetRefundFlow(refundOrderNo)
|
|
|
+ if err != nil {
|
|
|
+ logger.Error("获取退款流水失败%v,退款订单:%s", err, refundOrderNo)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ dto = convertRefundDTO(flow)
|
|
|
+ //处理退款订单
|
|
|
+ TradeOrder, err := order.GetTradeOrderByNo(flow.RefundOrderNo, order.PaymentTypeRefund)
|
|
|
+ if err != nil {
|
|
|
+ logger.Error("获取退款订单失败%v,退款订单:%s", err, refundOrderNo)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ isSuccess := false
|
|
|
+ if flag == RefundSuccess {
|
|
|
+ isSuccess = true
|
|
|
+ }
|
|
|
+ err = order.DealRefundOrder(TradeOrder, isSuccess)
|
|
|
+ if err != nil {
|
|
|
+ logger.Error("处理退款结果失败%v,退款订单:%s", err, refundOrderNo)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ _ = createRefundMetaInfo(flow.OperatorUserID, flow.ProductOrderNo, flag)
|
|
|
+ return
|
|
|
+}
|
|
|
+func DealPayment(tradeOrderNo string, flag string) (productOrderNo string, err error) {
|
|
|
+ //处理退款订单
|
|
|
+ tradeOrder, err := order.GetTradeOrderByNo(tradeOrderNo, order.PaymentTypePay)
|
|
|
+ if err != nil {
|
|
|
+ logger.Error("获取支付订单失败%v,支付订单:%s", err, tradeOrderNo)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ isSuccess := false
|
|
|
+ if flag == PaySuccess {
|
|
|
+ isSuccess = true
|
|
|
+ }
|
|
|
+ err = order.DealPaymentOrder(tradeOrder, isSuccess)
|
|
|
+ if err != nil {
|
|
|
+ logger.Error("处理支付结果失败%v,支付订单:%s", err, tradeOrderNo)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ productOrderNo = tradeOrder.ProductOrderID
|
|
|
+ return
|
|
|
+
|
|
|
+}
|