diff --git a/service/src/main/java/com/hfkj/common/utils/AliyunService.java b/service/src/main/java/com/hfkj/common/utils/AliyunService.java deleted file mode 100644 index 2ced96b..0000000 --- a/service/src/main/java/com/hfkj/common/utils/AliyunService.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.hfkj.common.utils; - -import com.alibaba.fastjson.JSONObject; -import org.apache.http.HttpResponse; -import org.apache.http.util.EntityUtils; - -import java.util.HashMap; -import java.util.Map; - -/** - * 阿里云业务服务 - * @className: AliyunService - * @author: HuRui - * @date: 2024/4/3 - **/ -public class AliyunService { - - /** - * 查询ip地址 - * @param ip ip地址 - * @return - */ - public static JSONObject queryAddress(String ip) { - try { - String host = "https://ipaddquery.market.alicloudapi.com"; - String path = "/ip/address-query"; - String method = "POST"; - String appcode = "f9ace4c915054ca697a76fb9a4e1e8c0"; - - Map headers = new HashMap<>(); - headers.put("Authorization", "APPCODE " + appcode); - headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); - - Map bodys = new HashMap<>(); - bodys.put("ip", ip); - - HttpResponse response = HttpUtils.doPost(host, path, method, headers, new HashMap<>(), bodys); - JSONObject resObj = JSONObject.parseObject(EntityUtils.toString(response.getEntity())); - if (resObj.getString("code").equals("200")) { - return resObj.getJSONObject("data"); - } - return null; - - } catch (Exception e) { - return null; - } - } - - public static void main(String[] args) { - try { - System.out.println(queryAddress("123.147.76.209")); - } catch (Exception e) { - e.printStackTrace(); - } - } -} diff --git a/service/src/main/java/com/hfkj/common/utils/AmapApiService.java b/service/src/main/java/com/hfkj/common/utils/AmapApiService.java new file mode 100644 index 0000000..dd938c9 --- /dev/null +++ b/service/src/main/java/com/hfkj/common/utils/AmapApiService.java @@ -0,0 +1,28 @@ +package com.hfkj.common.utils; + +import com.alibaba.fastjson.JSONObject; +import com.hfkj.common.exception.ErrorCode; +import com.hfkj.common.exception.ErrorHelp; +import com.hfkj.common.exception.SysCode; + +/** + * 高德API服务 + * @className: AmapApiService + * @author: HuRui + * @date: 2024/6/28 + **/ +public class AmapApiService { + + /** + * 获取ip + */ + public static JSONObject queryIp(String ip) { + JSONObject obj = HttpsUtils.doGet("https://restapi.amap.com/v3/ip?key=0083a5b1cc5289d7e9691424ee62136e&ip="+ip); + if (obj.getString("status").equals("1")) { + return obj; + } else { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, obj.getString("info")); + } + } + +} diff --git a/service/src/main/java/com/hfkj/service/impl/SecUserLoginLogServiceImpl.java b/service/src/main/java/com/hfkj/service/impl/SecUserLoginLogServiceImpl.java index 640ec42..da27523 100644 --- a/service/src/main/java/com/hfkj/service/impl/SecUserLoginLogServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/impl/SecUserLoginLogServiceImpl.java @@ -1,7 +1,7 @@ package com.hfkj.service.impl; import com.alibaba.fastjson.JSONObject; -import com.hfkj.common.utils.AliyunService; +import com.hfkj.common.utils.AmapApiService; import com.hfkj.common.utils.RequestUtils; import com.hfkj.dao.SecUserLoginLogMapper; import com.hfkj.entity.SecUser; @@ -51,14 +51,11 @@ public class SecUserLoginLogServiceImpl implements SecUserLoginLogService { loginLog.setUserLoginName(user.getLoginName()); loginLog.setIp(RequestUtils.getIpAddress(request)); // 查询ip归属地 - JSONObject ipAddress = AliyunService.queryAddress(loginLog.getIp()); + JSONObject ipAddress = AmapApiService.queryIp(loginLog.getIp()); if (ipAddress != null) { - loginLog.setCountry(StringUtils.isNotBlank(ipAddress.getString("country"))?ipAddress.getString("country"):"未知"); - loginLog.setRegionId(StringUtils.isNotBlank(ipAddress.getString("region_id"))?ipAddress.getString("region_id"):null); - loginLog.setRegionName(StringUtils.isNotBlank(ipAddress.getString("region"))?ipAddress.getString("region"):"未知"); - loginLog.setCityId(StringUtils.isNotBlank(ipAddress.getString("city_id"))?ipAddress.getString("city_id"):null); + loginLog.setRegionName(StringUtils.isNotBlank(ipAddress.getString("province"))?ipAddress.getString("province"):"未知"); + loginLog.setCityId(StringUtils.isNotBlank(ipAddress.getString("adcode"))?ipAddress.getString("adcode"):null); loginLog.setCityName(StringUtils.isNotBlank(ipAddress.getString("city"))?ipAddress.getString("city"):"未知"); - loginLog.setIsp(StringUtils.isNotBlank(ipAddress.getString("isp"))?ipAddress.getString("isp"):"未知"); loginLog.setStatus(SecUserLoginLogStatusEnum.status1.getCode()); } else { loginLog.setCountry("未知"); diff --git a/service/src/main/java/com/hfkj/service/impl/SecUserServiceImpl.java b/service/src/main/java/com/hfkj/service/impl/SecUserServiceImpl.java index 84a833e..2e37a38 100644 --- a/service/src/main/java/com/hfkj/service/impl/SecUserServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/impl/SecUserServiceImpl.java @@ -7,7 +7,6 @@ import com.hfkj.common.exception.SysCode; import com.hfkj.common.security.AESEncodeUtil; import com.hfkj.common.security.SessionObject; import com.hfkj.common.security.UserCenter; -import com.hfkj.common.utils.AliyunService; import com.hfkj.common.utils.MD5Util; import com.hfkj.common.utils.RequestUtils; import com.hfkj.dao.SecUserMapper; diff --git a/service/src/main/java/com/hfkj/service/user/impl/BsUserLoginLogServiceImpl.java b/service/src/main/java/com/hfkj/service/user/impl/BsUserLoginLogServiceImpl.java index c12d086..c37e0b5 100644 --- a/service/src/main/java/com/hfkj/service/user/impl/BsUserLoginLogServiceImpl.java +++ b/service/src/main/java/com/hfkj/service/user/impl/BsUserLoginLogServiceImpl.java @@ -1,7 +1,7 @@ package com.hfkj.service.user.impl; import com.alibaba.fastjson.JSONObject; -import com.hfkj.common.utils.AliyunService; +import com.hfkj.common.utils.AmapApiService; import com.hfkj.common.utils.RequestUtils; import com.hfkj.dao.BsUserLoginLogMapper; import com.hfkj.entity.*; @@ -53,14 +53,11 @@ public class BsUserLoginLogServiceImpl implements BsUserLoginLogService { loginLog.setUserId(user.getId()); loginLog.setIp(RequestUtils.getIpAddress(request)); // 查询ip归属地 - JSONObject ipAddress = AliyunService.queryAddress(loginLog.getIp()); + JSONObject ipAddress = AmapApiService.queryIp(loginLog.getIp()); if (ipAddress != null) { - loginLog.setCountry(StringUtils.isNotBlank(ipAddress.getString("country"))?ipAddress.getString("country"):"未知"); - loginLog.setRegionId(StringUtils.isNotBlank(ipAddress.getString("region_id"))?ipAddress.getString("region_id"):null); - loginLog.setRegionName(StringUtils.isNotBlank(ipAddress.getString("region"))?ipAddress.getString("region"):"未知"); - loginLog.setCityId(StringUtils.isNotBlank(ipAddress.getString("city_id"))?ipAddress.getString("city_id"):null); + loginLog.setRegionName(StringUtils.isNotBlank(ipAddress.getString("province"))?ipAddress.getString("province"):"未知"); + loginLog.setCityId(StringUtils.isNotBlank(ipAddress.getString("adcode"))?ipAddress.getString("adcode"):null); loginLog.setCityName(StringUtils.isNotBlank(ipAddress.getString("city"))?ipAddress.getString("city"):"未知"); - loginLog.setIsp(StringUtils.isNotBlank(ipAddress.getString("isp"))?ipAddress.getString("isp"):"未知"); loginLog.setStatus(SecUserLoginLogStatusEnum.status1.getCode()); } else { loginLog.setCountry("未知");