diff --git a/pom.xml b/pom.xml index d32bb2ce..c195363e 100644 --- a/pom.xml +++ b/pom.xml @@ -157,12 +157,7 @@ hutool-all ${hutool.version} - - - org.lionsoul - ip2region - 1.7.2 - + org.apache.poi poi diff --git a/yshop-common/src/main/java/co/yixiang/aspect/LimitType.java b/yshop-common/src/main/java/co/yixiang/aspect/LimitType.java index 75b54bd8..3043d112 100644 --- a/yshop-common/src/main/java/co/yixiang/aspect/LimitType.java +++ b/yshop-common/src/main/java/co/yixiang/aspect/LimitType.java @@ -13,5 +13,5 @@ public enum LimitType { // 默认 CUSTOMER, // by ip addr - IP; + IP } diff --git a/yshop-common/src/main/java/co/yixiang/config/RedisConfig.java b/yshop-common/src/main/java/co/yixiang/config/RedisConfig.java index 04ccd1ad..a51118dd 100644 --- a/yshop-common/src/main/java/co/yixiang/config/RedisConfig.java +++ b/yshop-common/src/main/java/co/yixiang/config/RedisConfig.java @@ -143,7 +143,7 @@ public class RedisConfig extends CachingConfigurerSupport { */ class FastJsonRedisSerializer implements RedisSerializer { - private Class clazz; + private final Class clazz; FastJsonRedisSerializer(Class clazz) { super(); diff --git a/yshop-common/src/main/java/co/yixiang/utils/StringUtils.java b/yshop-common/src/main/java/co/yixiang/utils/StringUtils.java index 551e0d85..09c11877 100644 --- a/yshop-common/src/main/java/co/yixiang/utils/StringUtils.java +++ b/yshop-common/src/main/java/co/yixiang/utils/StringUtils.java @@ -5,17 +5,13 @@ */ package co.yixiang.utils; -import cn.hutool.core.io.resource.ClassPathResource; +import cn.hutool.http.HttpUtil; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import eu.bitwalker.useragentutils.Browser; import eu.bitwalker.useragentutils.UserAgent; -import org.lionsoul.ip2region.DataBlock; -import org.lionsoul.ip2region.DbConfig; -import org.lionsoul.ip2region.DbSearcher; import javax.servlet.http.HttpServletRequest; -import java.io.File; -import java.io.IOException; -import java.lang.reflect.Method; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Calendar; @@ -150,35 +146,9 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils { * 根据ip获取详细地址 */ public static String getCityInfo(String ip) { - DbSearcher searcher = null; - try { - String path = "ip2region/ip2region.db"; - String name = "ip2region.db"; - DbConfig config = new DbConfig(); - File file = FileUtil.inputStreamToFile(new ClassPathResource(path).getStream(), name); - searcher = new DbSearcher(config, file.getPath()); - Method method; - method = searcher.getClass().getMethod("btreeSearch", String.class); - DataBlock dataBlock; - dataBlock = (DataBlock) method.invoke(searcher, ip); - String address = dataBlock.getRegion().replace("0|",""); - char symbol = '|'; - if(address.charAt(address.length()-1) == symbol){ - address = address.substring(0,address.length() - 1); - } - return address.equals(YshopConstant.REGION)?"内网IP":address; - } catch (Exception e) { - e.printStackTrace(); - }finally { - if(searcher!=null){ - try { - searcher.close(); - } catch (IOException ignored) { - } - } - - } - return ""; + String api = String.format(YshopConstant.Url.IP_URL,ip); + JSONObject object = JSONUtil.parseObj(HttpUtil.get(api)); + return object.get("addr", String.class); } public static String getBrowser(HttpServletRequest request){ diff --git a/yshop-common/src/main/java/co/yixiang/utils/YshopConstant.java b/yshop-common/src/main/java/co/yixiang/utils/YshopConstant.java index 4253762c..50d90737 100644 --- a/yshop-common/src/main/java/co/yixiang/utils/YshopConstant.java +++ b/yshop-common/src/main/java/co/yixiang/utils/YshopConstant.java @@ -16,15 +16,14 @@ public class YshopConstant { public static final String RESET_MAIL = "重置邮箱"; - /** - * 用于IP定位转换 - */ - static final String REGION = "内网IP|内网IP"; - /** * 常用接口 */ public static class Url{ + //免费图床 public static final String SM_MS_URL = "https://sm.ms/api"; + + // IP归属地查询 + public static final String IP_URL = "http://whois.pconline.com.cn/ipJson.jsp?ip=%s&json=true"; } } diff --git a/yshop-system/src/main/resources/ip2region/ip2region.db b/yshop-system/src/main/resources/ip2region/ip2region.db deleted file mode 100644 index 43e1daf5..00000000 Binary files a/yshop-system/src/main/resources/ip2region/ip2region.db and /dev/null differ