diff --git a/controller/user.go b/controller/user.go index 751da5d..84895ec 100644 --- a/controller/user.go +++ b/controller/user.go @@ -253,12 +253,31 @@ func OpenMember(c *gin.Context) { if user.Deposit == memberConfig.MemberDeposit { totalFee = memberConfig.MemberFee } - if totalFee == 0 { - logger.Error(errors.New("totalFee is 0")) + if totalFee <= 0 { + logger.Error("totalFee is:", totalFee) RespJson(c, status.InternalServerError, nil) return } + // 支付金额小于100(99或者49)的情况是:白金会员过期后没退押金,然后直接开通黄金会员 + if totalFee < 10000 { + var count int + // 需要判断当前会员租卡情况,如果已经租了2张卡,提示不能开通;需归还一张卡片 + count, err = model.NewOrderCardQuerySet(model.DB).PayStatusEq(PayStatusPaid).UidEq(user.Uid). + CardStatusIn([]uint32{1, 2, 3}...).Count() + if err != nil { + logger.Error("query order err:", err.Error()) + RespJson(c, status.InternalServerError, err.Error()) + return + } + + if count > 1 { + logger.Error("query order count is:", count) + RespJson(c, status.OrderOutRentCount, nil) + return + } + } + //短期会员不可用优惠券 if req.UserCouponId != 0 && req.MemberGenre != model.MemberGenreQuarter && req.MemberGenre != model.MemberGenreHalfYear { var coupon model.UserCoupon