From f55fa60f4d73a46e143fb49cbc22a093582de3a9 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期三, 08 三月 2023 17:53:08 +0800 Subject: [PATCH] fix 修复 加解密拦截器 同一对象多次处理问题 --- ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/interceptor/MybatisDecryptInterceptor.java | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/interceptor/MybatisDecryptInterceptor.java b/ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/interceptor/MybatisDecryptInterceptor.java index 4e1c366..2c209b4 100644 --- a/ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/interceptor/MybatisDecryptInterceptor.java +++ b/ruoyi-common/ruoyi-common-encrypt/src/main/java/com/ruoyi/common/encrypt/interceptor/MybatisDecryptInterceptor.java @@ -1,6 +1,7 @@ package com.ruoyi.common.encrypt.interceptor; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.encrypt.annotation.EncryptField; import com.ruoyi.common.encrypt.core.EncryptContext; @@ -15,10 +16,7 @@ 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.*; /** * 鍑哄弬瑙e瘑鎷︽埅鍣� @@ -55,8 +53,11 @@ * @param sourceObject 寰呭姞瀵嗗璞� */ private void decryptHandler(Object sourceObject) { + if (ObjectUtil.isNull(sourceObject)) { + return; + } if (sourceObject instanceof Map<?, ?> map) { - map.values().forEach(this::decryptHandler); + new HashSet<>(map.values()).forEach(this::decryptHandler); return; } if (sourceObject instanceof List<?> list) { -- Gitblit v1.9.3