修改了优惠卷的使用

This commit is contained in:
2024-08-07 10:25:18 +08:00
parent f3833ee5d5
commit a38611011d
8 changed files with 47 additions and 19 deletions
+1 -1
View File
@@ -85,7 +85,7 @@ func (r *OrderMemberService) AddOrderMember(tx *gorm.DB, UserId, SystemMemberId
if UserCouponId != nil {
// 检测用户是否购买过会员
userService := &UserService{}
isBuy := userService.CheckUserBuyOrderMember(UserId)
isBuy := userService.CheckUserBuyMember(UserId)
if isBuy == true {
// 已购买过会员,无法使用优惠卷
return nil, errors.New("优惠券异常")
+16 -9
View File
@@ -97,7 +97,12 @@ func (r *QuestionService) CheckUserCollectionQuestion(userId, questionId int64)
// CheckUserBuyQuestion 检测用户是否购买过该问题
func (r *QuestionService) CheckUserBuyQuestion(userId, questionId int64) bool {
orderSingleDao := dao.OrderSingleDao{}
orderSingle, _ := orderSingleDao.GetUserFirstTimeBuyOrderSingle(userId, questionId)
maps := make(map[string]interface{})
maps["user_id"] = userId
maps["question_id"] = questionId
maps["order_status"] = 3
orderSingle, _ := orderSingleDao.GetOrderSingle(maps)
if orderSingle == nil {
return false
}
@@ -105,11 +110,12 @@ func (r *QuestionService) CheckUserBuyQuestion(userId, questionId int64) bool {
return true
}
// GetUserFirstTimeBuyPrice 获取用户首次购买价格
func (r *QuestionService) GetUserFirstTimeBuyPrice(userId, questionId int64) (f *float64, err error) {
// 检测用户是否购买过该问题
isFirstBuy := r.CheckUserBuyQuestion(userId, questionId)
if isFirstBuy == false {
// GetUserFirstTimeBuyPrice 获取用户首价格
func (r *QuestionService) GetUserFirstTimeBuyPrice(userId int64) (f *float64, err error) {
// 检测用户是否购买过单项产品
userService := &UserService{}
isBuy := userService.CheckUserBuySingle(userId)
if isBuy == false {
// 未购买过
systemSingleDao := dao.SystemSingleDao{}
@@ -152,9 +158,10 @@ func (r *QuestionService) GetUserBuyPrice(userId, questionId int64) (p *float64,
return nil, errors.New("题目异常")
}
// 检测用户是否购买过该问题
isFirstBuy := r.CheckUserBuyQuestion(userId, questionId)
if isFirstBuy == false {
// 检测用户是否购买过单项产品
userService := &UserService{}
isBuy := userService.CheckUserBuySingle(userId)
if isBuy == false {
// 未购买过
systemSingleDao := dao.SystemSingleDao{}
+17 -2
View File
@@ -73,8 +73,8 @@ func (r *UserService) CheckUserMember(user *model.User) bool {
return true
}
// CheckUserBuyOrderMember 检测用户是否购买过会员
func (r *UserService) CheckUserBuyOrderMember(userId int64) bool {
// CheckUserBuyMember 检测用户是否购买过会员
func (r *UserService) CheckUserBuyMember(userId int64) bool {
orderMemberDao := dao.OrderMemberDao{}
orderMember, _ := orderMemberDao.GetUserFirstTimeBuyOrderMember(userId)
if orderMember == nil {
@@ -84,6 +84,21 @@ func (r *UserService) CheckUserBuyOrderMember(userId int64) bool {
return true
}
// CheckUserBuySingle 检测用户是否购买过单项产品
func (r *UserService) CheckUserBuySingle(userId int64) bool {
orderSingleDao := dao.OrderSingleDao{}
maps := make(map[string]interface{})
maps["user_id"] = userId
maps["order_status"] = 3
orderSingle, _ := orderSingleDao.GetOrderSingle(maps)
if orderSingle == nil {
return false
}
return true
}
// AddUserMemberValidDate 增加用户会员过期时间
func (r *UserService) AddUserMemberValidDate(tx *gorm.DB, user *model.User, d int) bool {
userData := make(map[string]interface{})
+7
View File
@@ -145,6 +145,13 @@ func (r *UserCouponService) GetUserUsableQuestionCoupon(userId, questionId int64
return nil, errors.New("优惠券异常")
}
// 检测用户是否购买过单项产品
isBuy := userService.CheckUserBuySingle(userId)
if isBuy == false {
// 未购买过-不允许使用优惠卷,强行使用首单优惠价格
return nil, nil
}
//定义返回数据
var responses []*model.UserCoupon