fix(LimitAspect): 修复lua脚本执行结束后,类型转换失败的bug

1、测试jdk版本:jdk1.8.0_351、jdk11.0.18
类型转换失败,不能将值转换为Number,用Long进行替代
pull/810/head
全糖咖啡 2023-07-28 16:33:07 +08:00
parent 9447f54af3
commit d5dd5e21b7
1 changed files with 2 additions and 2 deletions

View File

@ -71,8 +71,8 @@ public class LimitAspect {
ImmutableList<Object> keys = ImmutableList.of(StringUtils.join(limit.prefix(), "_", key, "_", request.getRequestURI().replace("/","_")));
String luaScript = buildLuaScript();
RedisScript<Number> redisScript = new DefaultRedisScript<>(luaScript, Number.class);
Number count = redisTemplate.execute(redisScript, keys, limit.count(), limit.period());
RedisScript<Long> redisScript = new DefaultRedisScript<>(luaScript, Long.class);
Long count = redisTemplate.execute(redisScript, keys, limit.count(), limit.period());
if (null != count && count.intValue() <= limit.count()) {
logger.info("第{}次访问key为 {},描述为 [{}] 的接口", count, keys, limit.name());
return joinPoint.proceed();