创建单项订单时增加会员支付判断
This commit is contained in:
parent
2067fd6782
commit
ba91b357fb
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user