Ver Fonte

fix 修复 加解密拦截器 同一对象多次处理问题

疯狂的狮子li há 2 anos atrás
pai
commit
f55fa60f4d

+ 2 - 5
ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/interceptor/MybatisDecryptInterceptor.java

@@ -16,10 +16,7 @@ import org.apache.ibatis.plugin.*;
 
 import java.lang.reflect.Field;
 import java.sql.Statement;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
+import java.util.*;
 
 /**
  * 出参解密拦截器
@@ -60,7 +57,7 @@ public class MybatisDecryptInterceptor implements Interceptor {
             return;
         }
         if (sourceObject instanceof Map<?, ?> map) {
-            map.values().forEach(this::decryptHandler);
+            new HashSet<>(map.values()).forEach(this::decryptHandler);
             return;
         }
         if (sourceObject instanceof List<?> list) {

+ 2 - 5
ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/interceptor/MybatisEncryptInterceptor.java

@@ -19,10 +19,7 @@ import org.apache.ibatis.plugin.Signature;
 
 import java.lang.reflect.Field;
 import java.sql.PreparedStatement;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
+import java.util.*;
 
 /**
  * 入参加密拦截器
@@ -69,7 +66,7 @@ public class MybatisEncryptInterceptor implements Interceptor {
             return;
         }
         if (sourceObject instanceof Map<?, ?> map) {
-            map.values().forEach(this::encryptHandler);
+            new HashSet<>(map.values()).forEach(this::encryptHandler);
             return;
         }
         if (sourceObject instanceof List<?> list) {