refactor all

This commit is contained in:
Timi
2026-07-31 01:03:53 +08:00
parent 4e7f340cc6
commit e45809a0db
512 changed files with 14620 additions and 13519 deletions
@@ -23,19 +23,21 @@ import org.springframework.stereotype.Component;
@Component
public class RequestRateLimitInterceptor extends RequestRateLimitAbstractInterceptor {
private static final String KEY_PREFIX = "REQUEST:RATE_LIMIT:";
@Autowired
@Qualifier("redisRateLimit")
private Redis<String, Integer> redisRequestRateLimit;
private Redis<String, Integer> redis;
@Override
public boolean beforeRun(HttpServletRequest req, HttpServletResponse resp, String id, int cycle, int limit) {
// 键
String key = "TimiServerAPI." + TimiSpring.getRequestIP() + "." + id;
if (redisRequestRateLimit.has(key)) {
Integer count = redisRequestRateLimit.get(key);
String key = getKey(id);
if (redis.has(key)) {
Integer count = redis.get(key);
if (count != null) {
if (count < limit) {
redisRequestRateLimit.setAndKeepTTL(key, ++count);
redis.setAndKeepTTL(key, ++count);
} else {
log.warn("请求频率过高:[" + key + "].C" + count + "L" + limit);
throw new TimiException(TimiCode.REQUEST_BAD).msgKey("request_rate_limit");
@@ -43,7 +45,11 @@ public class RequestRateLimitInterceptor extends RequestRateLimitAbstractInterce
}
return true;
}
redisRequestRateLimit.set(key, 0, Time.S * cycle);
redis.set(key, 0, Time.S * cycle);
return true;
}
private String getKey(String id) {
return "%sTIMISERVERAPI:%s:%s".formatted(KEY_PREFIX, TimiSpring.getRequestIP(), id);
}
}