mirror of https://gitee.com/topiam/eiam
✨ 新增默认IP地理库
parent
c2bad81246
commit
9d2cd04d4e
|
@ -19,6 +19,7 @@ package cn.topiam.employee.console.converter.setting;
|
|||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -115,27 +116,27 @@ public interface GeoLocationSettingConverter {
|
|||
*/
|
||||
default GeoIpProviderResult entityToGeoLocationProviderConfig(SettingEntity entity) {
|
||||
//没有数据,默认未启用
|
||||
if (Objects.isNull(entity)) {
|
||||
if (Objects.isNull(entity) || StringUtils.isBlank(entity.getValue())) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
String value = entity.getValue();
|
||||
ObjectMapper objectMapper = EncryptionModule.deserializerDecrypt();
|
||||
// 指定序列化输入的类型
|
||||
objectMapper.activateDefaultTyping(objectMapper.getPolymorphicTypeValidator(),
|
||||
ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);
|
||||
// 根据提供商序列化
|
||||
GeoLocationProviderConfig setting = objectMapper.readValue(value, GeoLocationProviderConfig.class);
|
||||
if (MAXMIND.equals(setting.getProvider())) {
|
||||
MaxmindProviderConfig config = (MaxmindProviderConfig) setting.getConfig();
|
||||
//@formatter:off
|
||||
return GeoIpProviderResult.builder()
|
||||
.provider(setting.getProvider().getProvider())
|
||||
.config(config)
|
||||
.enabled(true)
|
||||
.build();
|
||||
}
|
||||
//@formatter:on
|
||||
try {
|
||||
String value = entity.getValue();
|
||||
ObjectMapper objectMapper = EncryptionModule.deserializerDecrypt();
|
||||
// 指定序列化输入的类型
|
||||
objectMapper.activateDefaultTyping(objectMapper.getPolymorphicTypeValidator(),
|
||||
ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);
|
||||
// 根据提供商序列化
|
||||
GeoLocationProviderConfig setting = objectMapper.readValue(value, GeoLocationProviderConfig.class);
|
||||
if (MAXMIND.equals(setting.getProvider())) {
|
||||
MaxmindProviderConfig config = (MaxmindProviderConfig) setting.getConfig();
|
||||
//@formatter:off
|
||||
return GeoIpProviderResult.builder()
|
||||
.provider(setting.getProvider().getProvider())
|
||||
.config(config)
|
||||
.enabled(true)
|
||||
.build();
|
||||
}
|
||||
//@formatter:on
|
||||
return null;
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
|
|
Loading…
Reference in New Issue