Browse Source

fix 枚举转换器增加

Eric 11 months ago
parent
commit
2465e8f132

+ 2 - 2
.gitignore

@@ -60,5 +60,5 @@ target
 **/AuditLogInterceptor.java
 /toolset/audit-log/src/main/java/com/yonge/toolset/log/interceptor/AuditLogInterceptor.java
 /log/
-cooleshow-cms/src/main/resources/bootstrap-local.yaml
-/cooleshow-app/src/main/resources/logback-local.xml
+**/bootstrap-local.yaml
+**/logback-local.xml

+ 3 - 0
cooleshow-app/src/main/java/com/yonge/cooleshow/config/WebMvcConfig.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.config;
 
+import com.microsvc.toolkit.common.webportal.converter.EnumsConvertorFactory;
 import com.yonge.cooleshow.biz.dal.config.LocalFastJsonHttpMessageConverter;
 import com.yonge.cooleshow.common.config.EnumConverterFactory;
 import com.yonge.cooleshow.interceptor.MDCInterceptor;
@@ -34,6 +35,8 @@ public class WebMvcConfig implements WebMvcConfigurer {
 	@Override
 	public void addFormatters(FormatterRegistry registry) {
 		registry.addConverterFactory(enumConverterFactory);
+		// 枚举映射转换
+		registry.addConverterFactory(new EnumsConvertorFactory());
 	}
 
 	@Override

+ 5 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/config/LocalFastJsonHttpMessageConverter.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.serializer.ObjectSerializer;
 import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
 import com.alibaba.fastjson.serializer.ValueFilter;
 import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
+import com.microsvc.toolkit.common.enums.ConverterEnum;
 import com.vdurmont.emoji.EmojiParser;
 import com.yonge.toolset.base.enums.BaseEnum;
 import com.yonge.toolset.utils.json.JsonUtil;
@@ -68,6 +69,10 @@ class EnumFilter implements ValueFilter {
 		if (BaseEnum.class.isAssignableFrom(value.getClass())) {
 			return ((BaseEnum<?, ?>) value).getCode();
 		}
+		// ConverterEnum枚举映射转换
+		if (ConverterEnum.class.isAssignableFrom(value.getClass())) {
+			return ((ConverterEnum<?>) value).getCode();
+		}
 		return value;
 	}
 }

+ 3 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/config/WebMvcConfig.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.auth.config;
 import java.util.ArrayList;
 import java.util.List;
 
+import com.microsvc.toolkit.common.webportal.converter.EnumsConvertorFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
 import org.springframework.context.annotation.Bean;
@@ -27,6 +28,8 @@ public class WebMvcConfig implements WebMvcConfigurer {
 	@Override
 	public void addFormatters(FormatterRegistry registry) {
 		registry.addConverterFactory(new EnumConverterFactory());
+		// 枚举映射转换
+		registry.addConverterFactory(new EnumsConvertorFactory());
 	}
 	
 	@Override

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/config/LocalFastJsonHttpMessageConverter.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.serializer.ObjectSerializer;
 import com.alibaba.fastjson.serializer.SimpleDateFormatSerializer;
 import com.alibaba.fastjson.serializer.ValueFilter;
 import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
+import com.microsvc.toolkit.common.enums.ConverterEnum;
 import com.vdurmont.emoji.EmojiParser;
 import com.yonge.toolset.base.enums.BaseEnum;
 import com.yonge.toolset.utils.json.JsonUtil;
@@ -68,6 +69,10 @@ class EnumFilter implements ValueFilter {
 		if (BaseEnum.class.isAssignableFrom(value.getClass())) {
 			return ((BaseEnum<?, ?>) value).getCode();
 		}
+		// ConverterEnum枚举映射转换
+		if (ConverterEnum.class.isAssignableFrom(value.getClass())) {
+			return ((ConverterEnum<?>) value).getCode();
+		}
 		return value;
 	}
 }