|  | @@ -1,27 +1,38 @@
 | 
											
												
													
														|  |  package com.yonge.cooleshow.common.config;
 |  |  package com.yonge.cooleshow.common.config;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -import com.google.common.collect.Maps;
 |  | 
 | 
											
												
													
														|  |  import com.yonge.toolset.base.enums.BaseEnum;
 |  |  import com.yonge.toolset.base.enums.BaseEnum;
 | 
											
												
													
														|  |  import org.springframework.core.convert.converter.Converter;
 |  |  import org.springframework.core.convert.converter.Converter;
 | 
											
												
													
														|  |  import org.springframework.core.convert.converter.ConverterFactory;
 |  |  import org.springframework.core.convert.converter.ConverterFactory;
 | 
											
												
													
														|  |  import org.springframework.stereotype.Component;
 |  |  import org.springframework.stereotype.Component;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -import java.util.Map;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  @Component
 |  |  @Component
 | 
											
												
													
														|  |  public class EnumConverterFactory implements ConverterFactory<Object, BaseEnum<?, ?>> {
 |  |  public class EnumConverterFactory implements ConverterFactory<Object, BaseEnum<?, ?>> {
 | 
											
												
													
														|  | -	@SuppressWarnings("rawtypes")
 |  | 
 | 
											
												
													
														|  | -	private static final Map<Class, Converter> CONVERTERS = Maps.newHashMap();
 |  | 
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	//@SuppressWarnings("rawtypes")
 | 
											
												
													
														|  | 
 |  | +	//private static final Map<Class, Converter> CONVERTERS = Maps.newHashMap();
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  	@Override
 |  |  	@Override
 | 
											
												
													
														|  |  	public <T extends BaseEnum<?, ?>> Converter<Object, T> getConverter(Class<T> targetType) {
 |  |  	public <T extends BaseEnum<?, ?>> Converter<Object, T> getConverter(Class<T> targetType) {
 | 
											
												
													
														|  | -		Converter<Object, T> converter = CONVERTERS.get(targetType);
 |  | 
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		return source ->  {
 | 
											
												
													
														|  | 
 |  | +			T ret = null;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +			for (T t : targetType.getEnumConstants()) {
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +				// 枚举类型为字符串
 | 
											
												
													
														|  | 
 |  | +				if (t.getCode().equals(source)) {
 | 
											
												
													
														|  | 
 |  | +					ret = t;
 | 
											
												
													
														|  | 
 |  | +				}
 | 
											
												
													
														|  | 
 |  | +			}
 | 
											
												
													
														|  | 
 |  | +			return ret;
 | 
											
												
													
														|  | 
 |  | +		};
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +		/*Converter<Object, T> converter = CONVERTERS.get(targetType);
 | 
											
												
													
														|  |  		if (converter == null) {
 |  |  		if (converter == null) {
 | 
											
												
													
														|  |  			converter = new EnumConverter<>(targetType);
 |  |  			converter = new EnumConverter<>(targetType);
 | 
											
												
													
														|  |  			CONVERTERS.put(targetType, converter);
 |  |  			CONVERTERS.put(targetType, converter);
 | 
											
												
													
														|  |  		}
 |  |  		}
 | 
											
												
													
														|  | -		return converter;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | 
 |  | +		return converter;*/
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  }
 |  |  }
 |