From ac8fa391bb997b3a192f52e020be784bc682965f Mon Sep 17 00:00:00 2001 From: lbw Date: Thu, 13 Jul 2023 14:37:14 +0800 Subject: [PATCH] =?UTF-8?q?:zap:=20=E4=BC=98=E5=8C=96=E5=B9=82=E7=AD=89?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=A4=9A=E7=A7=9F=E6=88=B7=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pigx/common/idempotent/aspect/IdempotentAspect.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pigx-common/pigx-common-idempotent/src/main/java/com/pig4cloud/pigx/common/idempotent/aspect/IdempotentAspect.java b/pigx-common/pigx-common-idempotent/src/main/java/com/pig4cloud/pigx/common/idempotent/aspect/IdempotentAspect.java index 682e5213b..2b4eb3637 100644 --- a/pigx-common/pigx-common-idempotent/src/main/java/com/pig4cloud/pigx/common/idempotent/aspect/IdempotentAspect.java +++ b/pigx-common/pigx-common-idempotent/src/main/java/com/pig4cloud/pigx/common/idempotent/aspect/IdempotentAspect.java @@ -1,5 +1,6 @@ package com.pig4cloud.pigx.common.idempotent.aspect; +import cn.hutool.core.util.StrUtil; import com.pig4cloud.pigx.common.core.util.KeyStrResolver; import com.pig4cloud.pigx.common.idempotent.annotation.Idempotent; import com.pig4cloud.pigx.common.idempotent.exception.IdempotentException; @@ -26,6 +27,7 @@ import java.time.LocalDateTime; import java.util.Arrays; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import java.util.concurrent.TimeUnit; /** @@ -53,7 +55,7 @@ public class IdempotentAspect { private KeyResolver keyResolver; @Autowired - private KeyStrResolver keyStrResolver; + private Optional keyStrResolverOptional; @Pointcut("@annotation(com.pig4cloud.pigx.common.idempotent.annotation.Idempotent)") public void pointCut() { @@ -84,7 +86,10 @@ public class IdempotentAspect { // 使用jstl 规则区分 key = keyResolver.resolver(idempotent, joinPoint); } - key = keyStrResolver.extract(key,":"); + + if (keyStrResolverOptional.isPresent()) { + key = keyStrResolverOptional.get().extract(key, StrUtil.COLON); + } long expireTime = idempotent.expireTime(); String info = idempotent.info();