处理会员订单支付成功
This commit is contained in:
parent
d6dde2d5d3
commit
9771b2e76f
@ -239,38 +239,12 @@ func (r *CallBack) WxPayMember(c *gin.Context) {
|
||||
|
||||
// 处理支付成功情况
|
||||
if wxResult.OrderStatus == 2 {
|
||||
// 完成未支付单项订单
|
||||
orderSingleService := service.OrderSingleService{}
|
||||
res, err := orderSingleService.CompleteUnPayOrderSingle(tx, orderMember.UserId)
|
||||
if err != nil || res == false {
|
||||
tx.Rollback()
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"code": "ERROR", "message": err})
|
||||
return
|
||||
}
|
||||
|
||||
// 处理用户会员过期时间
|
||||
// 获取订单配置
|
||||
systemMemberDao := dao.SystemMemberDao{}
|
||||
systemMember, err := systemMemberDao.GetSystemMemberById(orderMember.SystemMemberId)
|
||||
// 处理会员订单支付成功
|
||||
orderMemberService := service.OrderMemberService{}
|
||||
err := orderMemberService.HandleOrderMemberPaySuccess(tx, orderMember, user)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"code": "ERROR", "message": "会员配置错误"})
|
||||
return
|
||||
}
|
||||
|
||||
userService := service.UserService{}
|
||||
res = userService.AddUserMemberValidDate(tx, user, int(systemMember.MemberDays))
|
||||
if res == false {
|
||||
tx.Rollback()
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"code": "ERROR", "message": "增加用户会员到期时间失败"})
|
||||
return
|
||||
}
|
||||
|
||||
// 增加用户会员购买次数
|
||||
res, err = userService.AddUserMemberBuyCount(tx, user.UserId)
|
||||
if err != nil || res == false {
|
||||
tx.Rollback()
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"code": "ERROR", "message": "增加用户会员到期时间失败"})
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"code": "ERROR", "message": err.Error()})
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@ -119,7 +119,7 @@ func (r *OrderMemberService) AddOrderMember(tx *gorm.DB, UserId, SystemMemberId
|
||||
paymentAmountTotal = amountTotal - couponAmountTotal // 实际付款金额
|
||||
paymentAmountTotal = math.Round(paymentAmountTotal*100) / 100
|
||||
if paymentAmountTotal < 0 {
|
||||
paymentAmountTotal = 0
|
||||
paymentAmountTotal = 0 // 实际付款金额
|
||||
}
|
||||
|
||||
if *orderPrice != paymentAmountTotal {
|
||||
@ -127,14 +127,19 @@ func (r *OrderMemberService) AddOrderMember(tx *gorm.DB, UserId, SystemMemberId
|
||||
}
|
||||
|
||||
if paymentAmountTotal == 0 {
|
||||
paymentAmountTotal = 0 // 实际付款金额
|
||||
orderStatus = 2 // 订单状态(1:待支付 2:已完成 3:已取消)
|
||||
payStatus = 2 // 支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款)
|
||||
orderStatus = 2 // 订单状态(1:待支付 2:已完成 3:已取消)
|
||||
payStatus = 2 // 支付状态(1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款)
|
||||
|
||||
now := model.LocalTime(time.Now())
|
||||
payTime = &now // 支付时间
|
||||
|
||||
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:转入退款)
|
||||
@ -404,3 +409,36 @@ func (r *OrderMemberService) OrderCouponRefund(tx *gorm.DB, order *model.OrderMe
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// HandleOrderMemberPaySuccess 处理会员订单支付成功
|
||||
func (r *OrderMemberService) HandleOrderMemberPaySuccess(tx *gorm.DB, order *model.OrderMember, user *model.User) error {
|
||||
// 完成未支付单项订单
|
||||
orderSingleService := OrderSingleService{}
|
||||
res, err := orderSingleService.CompleteUnPayOrderSingle(tx, order.UserId)
|
||||
if err != nil || res == false {
|
||||
return err
|
||||
}
|
||||
|
||||
// 处理用户会员过期时间
|
||||
// 获取订单配置
|
||||
systemMemberDao := dao.SystemMemberDao{}
|
||||
systemMember, err := systemMemberDao.GetSystemMemberById(order.SystemMemberId)
|
||||
if err != nil {
|
||||
return errors.New("会员配置错误")
|
||||
}
|
||||
|
||||
// 增加用户会员过期时间
|
||||
userService := UserService{}
|
||||
res = userService.AddUserMemberValidDate(tx, user, int(systemMember.MemberDays))
|
||||
if res == false {
|
||||
return errors.New("增加用户会员到期时间失败")
|
||||
}
|
||||
|
||||
// 增加用户会员购买次数
|
||||
res, err = userService.AddUserMemberBuyCount(tx, user.UserId)
|
||||
if err != nil || res == false {
|
||||
return errors.New("增加用户会员到期时间失败")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user