新增默认IP地理库

pull/82/head^2
awenes 8 months ago
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…
Cancel
Save