zxl
2025-11-12 22ef5a53c7dd17f75b67cf3c5116c073e58badaa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Êþº¾=Í
 java/lang/Object<init>()V        
+com/ycl/framework/aspectj/RateLimiterAspect redisTemplate3Lorg/springframework/data/redis/core/RedisTemplate;      limitScript8Lorg/springframework/data/redis/core/script/RedisScript;  %com/ycl/common/annotation/RateLimitertime()I  count
  getCombineKeyW(Lcom/ycl/common/annotation/RateLimiter;Lorg/aspectj/lang/JoinPoint;)Ljava/lang/String;
 ! "#java/util/Collections singletonList$(Ljava/lang/Object;)Ljava/util/List;
%&' ()java/lang/IntegervalueOf(I)Ljava/lang/Integer;
+,- ./1org/springframework/data/redis/core/RedisTemplateexecuteo(Lorg/springframework/data/redis/core/script/RedisScript;Ljava/util/List;[Ljava/lang/Object;)Ljava/lang/Object;1java/lang/Long
345 67 com/ycl/common/utils/StringUtilsisNull(Ljava/lang/Object;)Z
09 :intValue<)com/ycl/common/exception/ServiceException>$访问过于频繁,请稍候再试
;@ A(Ljava/lang/String;)V    C DElogLorg/slf4j/Logger;G/限制请求'{}',当前请求'{}',缓存key'{}' IJK LMorg/slf4j/Loggerinfo((Ljava/lang/String;[Ljava/lang/Object;)VOjava/lang/ExceptionQjava/lang/RuntimeExceptionS'服务器限流异常,请稍候再试
P@Vjava/lang/StringBuffer X YZkey()Ljava/lang/String;
U@ ] ^_    limitType"()Lcom/ycl/common/enums/LimitType;    abc decom/ycl/common/enums/LimitTypeIP Lcom/ycl/common/enums/LimitType;
ghi jZcom/ycl/common/utils/ip/IpUtils    getIpAddr
Ul mnappend,(Ljava/lang/String;)Ljava/lang/StringBuffer;p- rst uvorg/aspectj/lang/JoinPoint getSignature()Lorg/aspectj/lang/Signature;x(org/aspectj/lang/reflect/MethodSignature wz {|    getMethod()Ljava/lang/reflect/Method;
~€ ‚java/lang/reflect/MethodgetDeclaringClass()Ljava/lang/Class;
„…† ‡Zjava/lang/ClassgetName
UŠ ‹ZtoString
Ž ‘org/slf4j/LoggerFactory    getLogger%(Ljava/lang/Class;)Lorg/slf4j/Logger;    SignatureYLorg/springframework/data/redis/core/RedisTemplate<Ljava/lang/Object;Ljava/lang/Object;>;JLorg/springframework/data/redis/core/script/RedisScript<Ljava/lang/Long;>;CodeLineNumberTableLocalVariableTablethis-Lcom/ycl/framework/aspectj/RateLimiterAspect;setRedisTemplate16(Lorg/springframework/data/redis/core/RedisTemplate;)VLocalVariableTypeTable\(Lorg/springframework/data/redis/core/RedisTemplate<Ljava/lang/Object;Ljava/lang/Object;>;)VRuntimeVisibleAnnotations8Lorg/springframework/beans/factory/annotation/Autowired;setLimitScript;(Lorg/springframework/data/redis/core/script/RedisScript;)VM(Lorg/springframework/data/redis/core/script/RedisScript<Ljava/lang/Long;>;)VdoBeforeF(Lorg/aspectj/lang/JoinPoint;Lcom/ycl/common/annotation/RateLimiter;)VnumberLjava/lang/Long;e+Lcom/ycl/common/exception/ServiceException;Ljava/lang/Exception;pointLorg/aspectj/lang/JoinPoint; rateLimiter'Lcom/ycl/common/annotation/RateLimiter;I
combineKeyLjava/lang/String;keysLjava/util/List;$Ljava/util/List<Ljava/lang/Object;>; StackMapTable¶java/lang/String¸java/util/List
Exceptions»java/lang/Throwable$Lorg/aspectj/lang/annotation/Before;value@annotation(rateLimiter) stringBufferLjava/lang/StringBuffer;    signature*Lorg/aspectj/lang/reflect/MethodSignature;methodLjava/lang/reflect/Method; targetClassLjava/lang/Class;Ljava/lang/Class<*>;<clinit>
SourceFileRateLimiterAspect.java$Lorg/aspectj/lang/annotation/Aspect;*Lorg/springframework/stereotype/Component;!DE ’“’”•/*·±–— ˜™š›•P*+µ±–
()—˜™ œ  “’žŸ ¡•P*+µ ±–
./—˜™œ ”’¢žŸ£¤•¸š,¹>,¹6*,+¶:¸:*´*´ ½Y¸$SY¸$S¶*À0:¸2š ¶8¤ »;Y=·?¿²BF½Y¸$SY¶8¸$SYS¹H§:¿:»PYR·T¿±…ˆ;…N–:4578;C<U>_@…IˆBŠDFH™J—f
CB¥¦Š§¨
§©š˜™šª«š¬­“®‹®ƒ¯°|±²œ |±³´>ÿUrµ·0    ÿ(rµ·;DN ¹ºž ¼½s¾•^»UY+¹W·[N+¹\²`¦-¸f¶ko¶kW,¹qÀw:¹y:¶}:-¶ƒ¶ko¶k¶ˆ¶kW-¶‰°–"NOQ'S2T;UBVYW—H^˜™^¬­^ª«P¿À2,ÁÂ;#ÃÄBÅÆœ BÅÇ´ü'UÈ•!    ¸Œ³B±–Éʞ
ËÌ