修改会员订单0元支付的问题

This commit is contained in:
wucongxing8150 2024-09-09 17:35:30 +08:00
parent 508976a93c
commit 7d2ddb6598
3 changed files with 24 additions and 23 deletions

View File

@ -112,8 +112,8 @@ func (b *OrderMember) AddOrderMember(c *gin.Context) {
defer func() { defer func() {
if r := recover(); r != nil { if r := recover(); r != nil {
tx.Rollback() tx.Rollback()
utils.LogJsonErr("订单创建失败", r) utils.LogJsonErr("订单创建失败1", r)
responses.FailWithMessage("订单创建失败", c) responses.FailWithMessage("订单创建失败2", c)
return return
} }
}() }()

View File

@ -86,14 +86,6 @@ func (r *OrderMemberService) AddOrderMember(tx *gorm.DB, UserId, SystemMemberId
// 检测用户优惠卷 // 检测用户优惠卷
var userCoupon *model.UserCoupon var userCoupon *model.UserCoupon
if UserCouponId != nil { if UserCouponId != nil {
// 检测用户是否购买过会员
userService := &UserService{}
isBuy := userService.CheckUserBuyMember(UserId)
if isBuy == true {
// 已购买过会员,无法使用优惠卷
return nil, errors.New("优惠券异常")
}
// 获取优惠卷数据 // 获取优惠卷数据
UserCouponDao := dao.UserCouponDao{} UserCouponDao := dao.UserCouponDao{}
userCoupon, err = UserCouponDao.GetUserCouponPreloadById(*UserCouponId) userCoupon, err = UserCouponDao.GetUserCouponPreloadById(*UserCouponId)
@ -122,6 +114,8 @@ func (r *OrderMemberService) AddOrderMember(tx *gorm.DB, UserId, SystemMemberId
paymentAmountTotal = 0 // 实际付款金额 paymentAmountTotal = 0 // 实际付款金额
} }
fmt.Println(*orderPrice)
fmt.Println(paymentAmountTotal)
if *orderPrice != paymentAmountTotal { if *orderPrice != paymentAmountTotal {
return nil, errors.New("价格异常") return nil, errors.New("价格异常")
} }
@ -135,11 +129,6 @@ func (r *OrderMemberService) AddOrderMember(tx *gorm.DB, UserId, SystemMemberId
escrowTradeNo = "GD" + global.Snowflake.Generate().String() // 第三方支付流水号 escrowTradeNo = "GD" + global.Snowflake.Generate().String() // 第三方支付流水号
// 处理会员订单支付成功
err := r.HandleOrderMemberPaySuccess(tx, orderMember, user)
if err != nil {
return nil, err
}
} else { } else {
orderStatus = 1 // 订单状态1:待支付 2:已完成 3:已取消) orderStatus = 1 // 订单状态1:待支付 2:已完成 3:已取消)
payStatus = 1 // 支付状态1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款) payStatus = 1 // 支付状态1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款)
@ -233,6 +222,14 @@ func (r *OrderMemberService) AddOrderMember(tx *gorm.DB, UserId, SystemMemberId
} }
} }
if paymentAmountTotal == 0 {
// 处理会员订单支付成功
err := r.HandleOrderMemberPaySuccess(tx, orderMember, user)
if err != nil {
return nil, err
}
}
return orderMember, nil return orderMember, nil
} }

View File

@ -21,7 +21,6 @@ func (r *SystemMemberService) GetSystemMemberBuyPrice(m *model.SystemMember) (p
// GetUserBuyPrice 获取会员最终价格 // GetUserBuyPrice 获取会员最终价格
func (r *SystemMemberService) GetUserBuyPrice(userId int64, m *model.SystemMember) (p float64) { func (r *SystemMemberService) GetUserBuyPrice(userId int64, m *model.SystemMember) (p float64) {
// 优惠价格 // 优惠价格
price := r.HandleSystemMemberDiscountPrice(m.DiscountPrice, m.DiscountEndTime) price := r.HandleSystemMemberDiscountPrice(m.DiscountPrice, m.DiscountEndTime)
if price == nil { if price == nil {
@ -48,6 +47,9 @@ func (r *SystemMemberService) GetUserBuyPrice(userId int64, m *model.SystemMembe
func (r *SystemMemberService) HandleSystemMemberDiscountPrice(discountPrice *float64, discountEndTime *model.LocalTime) (p *float64) { func (r *SystemMemberService) HandleSystemMemberDiscountPrice(discountPrice *float64, discountEndTime *model.LocalTime) (p *float64) {
// 优惠价格 // 优惠价格
if discountPrice != nil { if discountPrice != nil {
if discountEndTime == nil {
p = discountPrice
} else {
discountEndTime := time.Time(*discountEndTime) discountEndTime := time.Time(*discountEndTime)
// 检测是否超出优惠时间 // 检测是否超出优惠时间
@ -59,5 +61,7 @@ func (r *SystemMemberService) HandleSystemMemberDiscountPrice(discountPrice *flo
} }
} }
}
return p return p
} }