|
|
@@ -142,6 +142,9 @@ func (l *limiterRunner) limit(r models.LimitConfig) error { |
|
|
} |
|
|
} |
|
|
if p != nil { |
|
|
if p != nil { |
|
|
redis_client.Expire(redisKey, p.LeftTime) |
|
|
redis_client.Expire(redisKey, p.LeftTime) |
|
|
|
|
|
} else { |
|
|
|
|
|
//add default expire time if no period set |
|
|
|
|
|
redis_client.Expire(redisKey, 24*time.Hour) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
if usedNum > r.LimitNum { |
|
|
if usedNum > r.LimitNum { |
|
|
@@ -183,7 +186,7 @@ func (l *limiterRunner) LoadLimiters() error { |
|
|
func (l *limiterRunner) countInPeriod(r models.LimitConfig, p *models.PeriodResult) (int64, error) { |
|
|
func (l *limiterRunner) countInPeriod(r models.LimitConfig, p *models.PeriodResult) (int64, error) { |
|
|
switch r.LimitType { |
|
|
switch r.LimitType { |
|
|
case models.LimitTypeTask.Name(): |
|
|
case models.LimitTypeTask.Name(): |
|
|
return models.CountTaskAccomplishLogInTaskPeriod(r.ID, l.userId, p) |
|
|
|
|
|
|
|
|
return models.CountTaskAccomplishLogInTaskPeriod(r.LimitCode, l.userId, p) |
|
|
case models.LimitTypeRewardPoint.Name(): |
|
|
case models.LimitTypeRewardPoint.Name(): |
|
|
return models.SumRewardAmountInTaskPeriod(models.RewardTypePoint.Name(), r.LimitCode, l.userId, p) |
|
|
return models.SumRewardAmountInTaskPeriod(models.RewardTypePoint.Name(), r.LimitCode, l.userId, p) |
|
|
default: |
|
|
default: |
|
|
|