From 117a81ff1a0d76754134bdcb83feca8db4e91770 Mon Sep 17 00:00:00 2001
From: chenfeng <694447355@qq.com>
Date: Tue, 4 Jul 2023 10:14:47 +0800
Subject: [PATCH] =?UTF-8?q?1.=20=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
framework-core/pom.xml | 2 +-
.../unionmed/framework/spring/mvc/BaseReturnUtils.java | 8 +++++++-
.../interceptor/EncryptionResponseBodyInterceptor.java | 16 ++++++++++++----
framework-orm/pom.xml | 2 +-
framework-test/pom.xml | 2 +-
pom.xml | 2 +-
6 files changed, 23 insertions(+), 9 deletions(-)
diff --git a/framework-core/pom.xml b/framework-core/pom.xml
index 16187ea..34e0f80 100644
--- a/framework-core/pom.xml
+++ b/framework-core/pom.xml
@@ -5,7 +5,7 @@
com.unionmed
unionmed-framework
- 0.0.15
+ 0.0.16
4.0.0
diff --git a/framework-core/src/main/java/com/unionmed/framework/spring/mvc/BaseReturnUtils.java b/framework-core/src/main/java/com/unionmed/framework/spring/mvc/BaseReturnUtils.java
index 1f80c05..b0d8a6c 100644
--- a/framework-core/src/main/java/com/unionmed/framework/spring/mvc/BaseReturnUtils.java
+++ b/framework-core/src/main/java/com/unionmed/framework/spring/mvc/BaseReturnUtils.java
@@ -3,6 +3,8 @@ package com.unionmed.framework.spring.mvc;
import com.alibaba.fastjson.JSONObject;
import com.unionmed.framework.util.ObjectUtils;
+import java.util.Map;
+
/**
* @author ianChen
* @date 2023/6/6 10:48
@@ -39,6 +41,10 @@ public final class BaseReturnUtils {
}
public static boolean isBaseReturnFormat(JSONObject jsn) {
- return jsn.containsKey("code") && jsn.containsKey("message") && jsn.containsKey("data");
+ return isBaseReturnFormat((Map) jsn);
+ }
+
+ public static boolean isBaseReturnFormat(Map map) {
+ return map.containsKey("code") && map.containsKey("message") && map.containsKey("data");
}
}
diff --git a/framework-core/src/main/java/com/unionmed/framework/spring/mvc/response/interceptor/EncryptionResponseBodyInterceptor.java b/framework-core/src/main/java/com/unionmed/framework/spring/mvc/response/interceptor/EncryptionResponseBodyInterceptor.java
index 40877d4..3e60cb3 100644
--- a/framework-core/src/main/java/com/unionmed/framework/spring/mvc/response/interceptor/EncryptionResponseBodyInterceptor.java
+++ b/framework-core/src/main/java/com/unionmed/framework/spring/mvc/response/interceptor/EncryptionResponseBodyInterceptor.java
@@ -46,12 +46,15 @@ public class EncryptionResponseBodyInterceptor implements ResponseBodyIntercepto
}
private Object handleReturnValue(String sk, String iv, Object returnValue) {
+ if (returnValue == null) {
+ return returnValue;
+ }
if (returnValue instanceof BaseReturn) {
BaseReturn br = (BaseReturn) returnValue;
if (br.getData() != null) {
br.setData(handleReturnValue(sk, iv, br.getData()));
- return returnValue;
}
+ return returnValue;
} else if (returnValue instanceof String) {
String str = (String) returnValue;
if (JSONUtil.isJsonObj(str)) {
@@ -60,11 +63,16 @@ public class EncryptionResponseBodyInterceptor implements ResponseBodyIntercepto
} else if (returnValue instanceof JSONObject) {
JSONObject jObject = (JSONObject) returnValue;
if (BaseReturnUtils.isBaseReturnFormat(jObject)) {
- jObject.put("data", handleReturnValue(sk, iv, jObject.get("data")));
+ if (jObject.get("data") != null) {
+ jObject.put("data", handleReturnValue(sk, iv, jObject.get("data")));
+ }
return jObject;
}
- } else if (returnValue instanceof Map) {
- return handleReturnValue(sk, iv, new JSONObject((Map) returnValue));
+ } else if (returnValue instanceof Map && !((Map) returnValue).isEmpty()) {
+ Map map = (Map) returnValue;
+ if (BaseReturnUtils.isBaseReturnFormat(map)) {
+ return map.get("data") == null ? returnValue : handleReturnValue(sk, iv, new JSONObject((Map) returnValue));
+ }
}
return BodyCryptUtils.encrypt(sk, iv, returnValue);
diff --git a/framework-orm/pom.xml b/framework-orm/pom.xml
index 5e57b3f..fcc54c4 100644
--- a/framework-orm/pom.xml
+++ b/framework-orm/pom.xml
@@ -5,7 +5,7 @@
unionmed-framework
com.unionmed
- 0.0.15
+ 0.0.16
4.0.0
diff --git a/framework-test/pom.xml b/framework-test/pom.xml
index 155dd9e..2f18d2c 100644
--- a/framework-test/pom.xml
+++ b/framework-test/pom.xml
@@ -5,7 +5,7 @@
com.unionmed
unionmed-framework
- 0.0.15
+ 0.0.16
4.0.0
diff --git a/pom.xml b/pom.xml
index fd44909..b73ec64 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
4.0.0
com.unionmed
unionmed-framework
- 0.0.15
+ 0.0.16
pom
unionmed-framework