fix 修复 幂等组件 逻辑问题导致线程变量未清除

This commit is contained in:
疯狂的狮子Li 2022-07-26 20:20:20 +08:00
parent a8d798c38a
commit 0c9398776a

View File

@ -85,12 +85,16 @@ public class RepeatSubmitAspect {
@AfterReturning(pointcut = "@annotation(repeatSubmit)", returning = "jsonResult")
public void doAfterReturning(JoinPoint joinPoint, RepeatSubmit repeatSubmit, Object jsonResult) {
if (jsonResult instanceof R) {
R<?> r = (R<?>) jsonResult;
if (r.getCode() == R.SUCCESS) {
return;
try {
R<?> r = (R<?>) jsonResult;
// 成功则不删除redis数据 保证在有效时间内无法重复提交
if (r.getCode() == R.SUCCESS) {
return;
}
RedisUtils.deleteObject(KEY_CACHE.get());
} finally {
KEY_CACHE.remove();
}
RedisUtils.deleteObject(KEY_CACHE.get());
KEY_CACHE.remove();
}
}