修改了优惠卷的使用
This commit is contained in:
parent
f3833ee5d5
commit
a38611011d
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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"` // (1:app 2:公众号
|
||||
Code string `json:"code" form:"code" label:"验证码" validate:"required"`
|
||||
Source int `json:"source" form:"source" label:"来源" validate:"required"` // (1:app 2:公众号
|
||||
}
|
||||
|
||||
@ -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("优惠券异常")
|
||||
|
||||
@ -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{}
|
||||
|
||||
|
||||
@ -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{})
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user