From 11f548b53b665e7e634ded5fc447cf0741dba427 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Wed, 12 Apr 2023 18:33:43 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E5=8A=A0=E8=A7=A3?= =?UTF-8?q?=E5=AF=86=E6=8B=A6=E6=88=AA=E5=99=A8=20=E5=AF=B9=E8=B1=A1?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E4=B8=BAnull=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/framework/encrypt/MybatisDecryptInterceptor.java | 7 ++++++- .../ruoyi/framework/encrypt/MybatisEncryptInterceptor.java | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/MybatisDecryptInterceptor.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/MybatisDecryptInterceptor.java index 8755e7d46..f241babd7 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/MybatisDecryptInterceptor.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/MybatisDecryptInterceptor.java @@ -76,7 +76,12 @@ public class MybatisDecryptInterceptor implements Interceptor { Set fields = encryptorManager.getFieldCache(sourceObject.getClass()); try { for (Field field : fields) { - field.set(sourceObject, this.decryptField(String.valueOf(field.get(sourceObject)), field)); + // 防止对象不是null 属性内容是null + Object obj = field.get(sourceObject); + if (ObjectUtil.isNull(obj)) { + continue; + } + field.set(sourceObject, this.decryptField(String.valueOf(field.get(obj)), field)); } } catch (Exception e) { log.error("处理解密字段时出错", e); diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/MybatisEncryptInterceptor.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/MybatisEncryptInterceptor.java index e2ce1957b..7aed05fc5 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/MybatisEncryptInterceptor.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/MybatisEncryptInterceptor.java @@ -86,7 +86,12 @@ public class MybatisEncryptInterceptor implements Interceptor { Set fields = encryptorManager.getFieldCache(sourceObject.getClass()); try { for (Field field : fields) { - field.set(sourceObject, this.encryptField(String.valueOf(field.get(sourceObject)), field)); + // 防止对象不是null 属性内容是null + Object obj = field.get(sourceObject); + if (ObjectUtil.isNull(obj)) { + continue; + } + field.set(sourceObject, this.encryptField(String.valueOf(field.get(obj)), field)); } } catch (Exception e) { log.error("处理加密字段时出错", e);