Răsfoiți Sursa

fix ip地址统一方法

zoujiajian 3 ani în urmă
părinte
comite
0d285c3230

+ 37 - 0
netflix-common/src/main/java/com/cyksj/common/util/IpUtil.java

@@ -0,0 +1,37 @@
+package com.cyksj.common.util;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import lombok.extern.slf4j.Slf4j;
+
+/*
+ *项目名: netflix
+ *文件名: IpUtil
+ *创建者: JavaZou
+ *创建时间:2023/4/11 17:36
+ */
+@Slf4j
+public class IpUtil {
+	public static String getRealAddressByIP(String ip) {
+		if (StrUtil.isBlank(ip)) {
+			return "unknown";
+		}
+		try {
+			String rspStr = HttpUtil.get("http://whois.pconline.com.cn/ipJson.jsp?ip=" + ip + "&json=true");
+			if (StrUtil.isEmpty(rspStr)) {
+				log.error("获取地理位置异常 {}", ip);
+				return "unknown";
+			}
+			JSONObject obj = JSONUtil.parseObj(rspStr);
+			String region = obj.getStr("pro");
+			String city = obj.getStr("city");
+			return String.format("%s %s", region, city);
+		} catch (Exception e) {
+			log.error("获取地理位置异常 {}", ip);
+		}
+
+		return "unknown";
+	}
+}

+ 2 - 26
netflix-service/src/main/java/com/cyksj/service/mange/account/CmsAccountServiceImpl.java

@@ -1,14 +1,11 @@
 package com.cyksj.service.mange.account;
 
 import cn.hutool.core.util.RandomUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.http.HttpUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cyksj.common.util.IpUtil;
 import com.cyksj.mapper.AccountMapper;
 import com.cyksj.mapper.AccountUpdatePasswordRecordMapper;
 import com.cyksj.mapper.manage.AutoUpdateAccountPwdLogMapper;
@@ -97,7 +94,7 @@ public class CmsAccountServiceImpl extends ServiceImpl<AccountMapper, Account> i
 		log.setAccount(account);
 		log.setOldPwd(oldPwd);
 		log.setNewPwd(newPwd);
-		log.setOperateLocation(getRealAddressByIP(operateIp));
+		log.setOperateLocation(IpUtil.getRealAddressByIP(operateIp));
 		log.setOperateIp(operateIp);
 
 		autoUpdateAccountPwdLogMapper.insert(log);
@@ -156,25 +153,4 @@ public class CmsAccountServiceImpl extends ServiceImpl<AccountMapper, Account> i
 			});
 		}
 	}
-
-	public String getRealAddressByIP(String ip) {
-		if (StrUtil.isBlank(ip)) {
-			return "unknown";
-		}
-		try {
-			String rspStr = HttpUtil.get("http://whois.pconline.com.cn/ipJson.jsp?ip=" + ip + "&json=true");
-			if (StrUtil.isEmpty(rspStr)) {
-				log.error("获取地理位置异常 {}", ip);
-				return "unknown";
-			}
-			JSONObject obj = JSONUtil.parseObj(rspStr);
-			String region = obj.getStr("pro");
-			String city = obj.getStr("city");
-			return String.format("%s %s", region, city);
-		} catch (Exception e) {
-			log.error("获取地理位置异常 {}", ip);
-		}
-
-		return "unknown";
-	}
 }

+ 2 - 25
netflix-web/src/main/java/com/cyksj/aspect/LogAspect.java

@@ -4,10 +4,8 @@ import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.servlet.ServletUtil;
-import cn.hutool.http.HttpUtil;
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
 import com.cyksj.common.annotation.Log;
+import com.cyksj.common.util.IpUtil;
 import com.cyksj.common.util.Jsons;
 import com.cyksj.enums.BusinessStatus;
 import com.cyksj.mapper.manage.cms.SysLogMapper;
@@ -93,7 +91,7 @@ public class LogAspect {
 			getControllerMethodDescription(joinPoint, controllerLog, sysLog, jsonResult);
 			//请求方式
 			sysLog.setRequestMethod(request.getMethod());
-			sysLog.setOperateLocation(getRealAddressByIP(sysLog.getOperateIp()));
+			sysLog.setOperateLocation(IpUtil.getRealAddressByIP(sysLog.getOperateIp()));
 			sysLogManager.insert(sysLog);
 		} catch (Exception exp) {
 			// 记录本地异常日志
@@ -183,25 +181,4 @@ public class LogAspect {
 		return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse
 				|| o instanceof BindingResult;
 	}
-
-	public String getRealAddressByIP(String ip) {
-		if (StrUtil.isBlank(ip)) {
-			return "unknown";
-		}
-		try {
-			String rspStr = HttpUtil.get("http://whois.pconline.com.cn/ipJson.jsp?ip=" + ip + "&json=true");
-			if (StrUtil.isEmpty(rspStr)) {
-				log.error("获取地理位置异常 {}", ip);
-				return "unknown";
-			}
-			JSONObject obj = JSONUtil.parseObj(rspStr);
-			String region = obj.getStr("pro");
-			String city = obj.getStr("city");
-			return String.format("%s %s", region, city);
-		} catch (Exception e) {
-			log.error("获取地理位置异常 {}", ip);
-		}
-
-		return "unknown";
-	}
 }