diff --git a/api/service/UserCoupon.go b/api/service/UserCoupon.go index a1a0597..27ad5dc 100644 --- a/api/service/UserCoupon.go +++ b/api/service/UserCoupon.go @@ -148,7 +148,19 @@ func (r *UserCouponService) GetUserUsableQuestionCoupon(userId, questionId int64 // 检测用户是否购买过单项产品 isBuy := userService.CheckUserBuySingle(userId) if isBuy == false { - // 未购买过-不允许使用优惠卷,强行使用首单优惠价格 + // 未购买过-检测是否存在首单优惠价格 + systemSingleDao := dao.SystemSingleDao{} + maps = make(map[string]interface{}) + systemSingle, err := systemSingleDao.GetSystemSingle(maps) + if err != nil { + return nil, errors.New("操作失败") + } + + if systemSingle.FirstTimePrice != nil { + // 存在首单优惠价格,不允许使用优惠卷 + return nil, nil + } + return nil, nil } @@ -200,8 +212,17 @@ func (r *UserCouponService) GetUserUsableMemberCoupon(userId, systemMemberId int // 检测用户是否购买过会员 isBuy := userService.CheckUserBuyMember(userId) if isBuy == false { - // 未购买过-不允许使用优惠卷,强行使用首单优惠价格 - return nil, nil + // 未购买过-检测是否存在首单优惠价格 + systemMemberDao := dao.SystemMemberDao{} + systemMember, err := systemMemberDao.GetSystemMemberById(systemMemberId) + if err != nil { + return nil, errors.New("操作失败") + } + + if systemMember.FirstTimePrice != nil { + // 存在首单优惠价格,不允许使用优惠卷 + return nil, nil + } } //定义返回数据