创建单项订单时增加会员支付判断

This commit is contained in:
wucongxing8150 2024-08-23 16:59:44 +08:00
parent 2067fd6782
commit ba91b357fb

View File

@ -73,6 +73,7 @@ func (r *OrderSingleService) AddOrderSingle(tx *gorm.DB, UserId, QuestionId int6
var payStatus int // 支付状态1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款) var payStatus int // 支付状态1:未支付 2:已支付 3:支付中 4:支付失败 5:支付超时 6:支付关闭 7:已撤销 8:转入退款)
var payTime *model.LocalTime // 支付时间 var payTime *model.LocalTime // 支付时间
var escrowTradeNo string // 第三方支付流水号 var escrowTradeNo string // 第三方支付流水号
var validDate *model.LocalTime // 算一算有效期
// 获取问题最终价格 // 获取问题最终价格
amountTotal, err = questionService.GetUserBuyPrice(UserId, QuestionId) amountTotal, err = questionService.GetUserBuyPrice(UserId, QuestionId)
@ -111,6 +112,18 @@ func (r *OrderSingleService) AddOrderSingle(tx *gorm.DB, UserId, QuestionId int6
payTime = &now // 支付时间 payTime = &now // 支付时间
escrowTradeNo = "GD" + global.Snowflake.Generate().String() // 第三方支付流水号 escrowTradeNo = "GD" + global.Snowflake.Generate().String() // 第三方支付流水号
// 处理单项有效时间
systemSingleDao := dao.SystemSingleDao{}
maps := make(map[string]interface{})
systemSingle, err := systemSingleDao.GetSystemSingle(maps)
if err != nil {
return nil, errors.New("订单创建失败")
}
singleValidDate := model.LocalTime(time.Now().Add(time.Duration(systemSingle.ValidDays) * 24 * time.Hour))
validDate = &singleValidDate
} else { } else {
if orderPrice == nil { if orderPrice == nil {
return nil, errors.New("价格异常") return nil, errors.New("价格异常")
@ -149,6 +162,7 @@ func (r *OrderSingleService) AddOrderSingle(tx *gorm.DB, UserId, QuestionId int6
CancelTime: nil, CancelTime: nil,
CancelRemarks: "", CancelRemarks: "",
OrderRemarks: "", OrderRemarks: "",
ValidDate: validDate,
} }
orderSingleDao := dao.OrderSingleDao{} orderSingleDao := dao.OrderSingleDao{}
@ -214,6 +228,23 @@ func (r *OrderSingleService) AddOrderSingle(tx *gorm.DB, UserId, QuestionId int6
} }
} }
// 会员支付
if payChannel == 3 {
// 增加单项支付次数
questionService := QuestionService{}
res, err := questionService.AddQuestionPayCount(tx, orderSingle.QuestionId)
if err != nil || res == false {
return nil, errors.New("内部错误")
}
// 增加用户单项支付次数
userService := UserService{}
res, err = userService.AddUserSingleSubmitCount(tx, orderSingle.UserId)
if err != nil || res == false {
return nil, errors.New("内部错误")
}
}
return orderSingle, nil return orderSingle, nil
} }