修改了优惠卷的使用

This commit is contained in:
wucongxing8150 2024-08-07 10:25:18 +08:00
parent f3833ee5d5
commit a38611011d
8 changed files with 47 additions and 19 deletions

View File

@ -109,8 +109,8 @@ func (r *Question) GetQuestion(c *gin.Context) {
userCollectionService := service.UserCollectionService{}
IsCollection := userCollectionService.GetUserCollectionQuestionStatus(userId, questionId)
// 获取用户首次购买价格
firstTimePrice, err := questionService.GetUserFirstTimeBuyPrice(userId, questionId)
// 获取用户首价格
firstTimePrice, err := questionService.GetUserFirstTimeBuyPrice(userId)
if err != nil {
responses.FailWithMessage("题目错误", c)
return

View File

@ -26,7 +26,7 @@ func (b *SystemMember) GetSystemMember(c *gin.Context) {
// 检测用户是否购买过会员
userService := service.UserService{}
isBuy := userService.CheckUserBuyOrderMember(userId)
isBuy := userService.CheckUserBuyMember(userId)
if isBuy == true {
for _, member := range systemMembers {
fmt.Println(member)

View File

@ -184,10 +184,9 @@ func (r *OrderSingleDao) GetOrderSinglePageSearch(req requests.GetOrderSinglePag
}
// GetUserFirstTimeBuyOrderSingle 获取用户首次购买的订单
func (r *OrderSingleDao) GetUserFirstTimeBuyOrderSingle(userId, questionId int64) (m *model.OrderSingle, err error) {
func (r *OrderSingleDao) GetUserFirstTimeBuyOrderSingle(userId int64) (m *model.OrderSingle, err error) {
err = global.Db.
Where("user_id = ?", userId).
Where("question_id = ?", questionId).
Where("order_status != ?", 3).
First(&m).Error
if err != nil {

View File

@ -14,6 +14,6 @@ type LoginWx struct {
// LoginPhone 手机号登录
type LoginPhone struct {
Mobile string `json:"mobile" form:"mobile" label:"手机号" validate:"required"`
Code string `json:"code" form:"code" label:"手机号" validate:"required"`
Source int `json:"source" form:"source" label:"来源" validate:"required"` // 1app 2公众号
Code string `json:"code" form:"code" label:"验证码" validate:"required"`
Source int `json:"source" form:"source" label:"来源" validate:"required"` // 1app 2公众号
}

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("优惠券异常")

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{}

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{})

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