修正了微信支付相关配置文件1

This commit is contained in:
2024-08-09 16:49:39 +08:00
parent b409d35bc9
commit 99320a018c
4 changed files with 71 additions and 94 deletions
+12 -23
View File
@@ -195,7 +195,7 @@ func (r *OrderMemberService) GetAppPrepay(m *model.OrderMember) (prepay *app.Pre
// OrderRefund 订单退款
func (r *OrderMemberService) OrderRefund(tx *gorm.DB, order *model.OrderMember, refundAmount *float64, refundReason string) (*model.OrderMemberRefund, error) {
var refundStatus int
var successTime time.Time
var successTime *time.Time
var refundId string
// 判断订单支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款)
@@ -217,7 +217,9 @@ func (r *OrderMemberService) OrderRefund(tx *gorm.DB, order *model.OrderMember,
// 支付金额为0,模拟退款
refundId = "模拟退款:" + strconv.FormatInt(global.Snowflake.Generate().Int64(), 10)
refundStatus = 3
successTime = time.Now()
now := time.Now()
successTime = &now
}
// 退款金额大于0
@@ -237,27 +239,14 @@ func (r *OrderMemberService) OrderRefund(tx *gorm.DB, order *model.OrderMember,
return nil, err
}
if refund.Status == nil {
return nil, errors.New("退款状态错误")
// 处理退款状态
wxPayRefundResult, err := weChat.HandlePayRefundStatus(refund)
if err != nil {
return nil, err
}
// 处理订单状态
switch *refund.Status {
case "SUCCESS": // 退款成功
refundStatus = 3
if refund.SuccessTime != nil {
successTime = *refund.SuccessTime
}
case "CLOSED": // 退款关闭
refundStatus = 5
case "PROCESSING": // 退款处理中
refundStatus = 2
case "ABNORMAL": // 退款异常
return nil, errors.New("退款状态错误")
default:
return nil, errors.New("退款状态错误")
}
refundStatus = wxPayRefundResult.RefundStatus
successTime = wxPayRefundResult.SuccessTime
if refund.RefundId == nil {
return nil, errors.New("缺少退款订单编号")
@@ -279,8 +268,8 @@ func (r *OrderMemberService) OrderRefund(tx *gorm.DB, order *model.OrderMember,
RefundReason: refundReason,
}
if refundStatus == 3 && !successTime.IsZero() {
t := model.LocalTime(successTime)
if refundStatus == 3 && successTime != nil {
t := model.LocalTime(*successTime)
orderRefund.SuccessTime = &t
}
+12 -23
View File
@@ -221,7 +221,7 @@ func (r *OrderSingleService) CompleteUnPayOrderSingle(tx *gorm.DB, userId int64)
// OrderRefund 订单退款
func (r *OrderSingleService) OrderRefund(tx *gorm.DB, order *model.OrderSingle, refundAmount *float64, refundReason string) (*model.OrderSingleRefund, error) {
var refundStatus int
var successTime time.Time
var successTime *time.Time
var refundId string
// 判断订单支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款)
@@ -243,7 +243,9 @@ func (r *OrderSingleService) OrderRefund(tx *gorm.DB, order *model.OrderSingle,
// 支付金额为0,模拟退款
refundId = "模拟退款:" + strconv.FormatInt(global.Snowflake.Generate().Int64(), 10)
refundStatus = 3
successTime = time.Now()
now := time.Now()
successTime = &now
}
// 退款金额大于0
@@ -263,27 +265,14 @@ func (r *OrderSingleService) OrderRefund(tx *gorm.DB, order *model.OrderSingle,
return nil, err
}
if refund.Status == nil {
return nil, errors.New("退款状态错误")
// 处理退款状态
wxPayRefundResult, err := weChat.HandlePayRefundStatus(refund)
if err != nil {
return nil, err
}
// 处理订单状态
switch *refund.Status {
case "SUCCESS": // 退款成功
refundStatus = 3
if refund.SuccessTime != nil {
successTime = *refund.SuccessTime
}
case "CLOSED": // 退款关闭
refundStatus = 5
case "PROCESSING": // 退款处理中
refundStatus = 2
case "ABNORMAL": // 退款异常
return nil, errors.New("退款状态错误")
default:
return nil, errors.New("退款状态错误")
}
refundStatus = wxPayRefundResult.RefundStatus
successTime = wxPayRefundResult.SuccessTime
if refund.RefundId == nil {
return nil, errors.New("缺少退款订单编号")
@@ -305,8 +294,8 @@ func (r *OrderSingleService) OrderRefund(tx *gorm.DB, order *model.OrderSingle,
RefundReason: refundReason,
}
if refundStatus == 3 && !successTime.IsZero() {
t := model.LocalTime(successTime)
if refundStatus == 3 && successTime != nil {
t := model.LocalTime(*successTime)
orderRefund.SuccessTime = &t
}