修改会员订单0元支付的问题
This commit is contained in:
parent
508976a93c
commit
7d2ddb6598
@ -112,8 +112,8 @@ func (b *OrderMember) AddOrderMember(c *gin.Context) {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
tx.Rollback()
|
||||
utils.LogJsonErr("订单创建失败", r)
|
||||
responses.FailWithMessage("订单创建失败", c)
|
||||
utils.LogJsonErr("订单创建失败1", r)
|
||||
responses.FailWithMessage("订单创建失败2", c)
|
||||
return
|
||||
}
|
||||
}()
|
||||
|
||||
@ -86,14 +86,6 @@ func (r *OrderMemberService) AddOrderMember(tx *gorm.DB, UserId, SystemMemberId
|
||||
// 检测用户优惠卷
|
||||
var userCoupon *model.UserCoupon
|
||||
if UserCouponId != nil {
|
||||
// 检测用户是否购买过会员
|
||||
userService := &UserService{}
|
||||
isBuy := userService.CheckUserBuyMember(UserId)
|
||||
if isBuy == true {
|
||||
// 已购买过会员,无法使用优惠卷
|
||||
return nil, errors.New("优惠券异常")
|
||||
}
|
||||
|
||||
// 获取优惠卷数据
|
||||
UserCouponDao := dao.UserCouponDao{}
|
||||
userCoupon, err = UserCouponDao.GetUserCouponPreloadById(*UserCouponId)
|
||||
@ -122,6 +114,8 @@ func (r *OrderMemberService) AddOrderMember(tx *gorm.DB, UserId, SystemMemberId
|
||||
paymentAmountTotal = 0 // 实际付款金额
|
||||
}
|
||||
|
||||
fmt.Println(*orderPrice)
|
||||
fmt.Println(paymentAmountTotal)
|
||||
if *orderPrice != paymentAmountTotal {
|
||||
return nil, errors.New("价格异常")
|
||||
}
|
||||
@ -135,11 +129,6 @@ func (r *OrderMemberService) AddOrderMember(tx *gorm.DB, UserId, SystemMemberId
|
||||
|
||||
escrowTradeNo = "GD" + global.Snowflake.Generate().String() // 第三方支付流水号
|
||||
|
||||
// 处理会员订单支付成功
|
||||
err := r.HandleOrderMemberPaySuccess(tx, orderMember, user)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
} else {
|
||||
orderStatus = 1 // 订单状态(1:待支付 2:已完成 3:已取消)
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
@ -21,7 +21,6 @@ func (r *SystemMemberService) GetSystemMemberBuyPrice(m *model.SystemMember) (p
|
||||
|
||||
// GetUserBuyPrice 获取会员最终价格
|
||||
func (r *SystemMemberService) GetUserBuyPrice(userId int64, m *model.SystemMember) (p float64) {
|
||||
|
||||
// 优惠价格
|
||||
price := r.HandleSystemMemberDiscountPrice(m.DiscountPrice, m.DiscountEndTime)
|
||||
if price == nil {
|
||||
@ -48,15 +47,20 @@ func (r *SystemMemberService) GetUserBuyPrice(userId int64, m *model.SystemMembe
|
||||
func (r *SystemMemberService) HandleSystemMemberDiscountPrice(discountPrice *float64, discountEndTime *model.LocalTime) (p *float64) {
|
||||
// 优惠价格
|
||||
if discountPrice != nil {
|
||||
discountEndTime := time.Time(*discountEndTime)
|
||||
|
||||
// 检测是否超出优惠时间
|
||||
now := time.Now()
|
||||
if discountEndTime.Before(now) {
|
||||
p = nil
|
||||
} else {
|
||||
if discountEndTime == nil {
|
||||
p = discountPrice
|
||||
} else {
|
||||
discountEndTime := time.Time(*discountEndTime)
|
||||
|
||||
// 检测是否超出优惠时间
|
||||
now := time.Now()
|
||||
if discountEndTime.Before(now) {
|
||||
p = nil
|
||||
} else {
|
||||
p = discountPrice
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return p
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user