From 8240941634ebe24e0e902280450348360c2d177e Mon Sep 17 00:00:00 2001
From: xjs <1294405880@qq.com>
Date: Mon, 24 Jan 2022 14:31:54 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=90=8E=E7=AB=AF=E6=8A=8A=E8=8E=B7?=
=?UTF-8?q?=E5=8F=96ip=E4=BF=A1=E6=81=AF=E6=8F=90=E5=8F=96=E5=87=BA?=
=?UTF-8?q?=E6=9D=A5=E5=BD=93=E6=88=90=E5=B7=A5=E5=85=B7=E6=A8=A1=E5=9D=97?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../views/business/tools/apitools/index.vue | 25 +++++++++++++++++++
.../controller/ApiToolsController.java | 2 +-
.../com/xjs/weather/factory/IPFactory.java | 9 ++++++-
.../weather/factory/impl/RollIPFactory.java | 9 +++++--
.../factory/impl/SpeedTestIPFactory.java | 7 +++++-
.../com/xjs/weather/service/IPService.java | 8 ++++++
.../weather/service/impl/IPServiceImpl.java | 12 ++++++---
.../TianXingOneEnglishFactoryTest.java | 2 +-
8 files changed, 65 insertions(+), 9 deletions(-)
diff --git a/ruoyi-ui/src/views/business/tools/apitools/index.vue b/ruoyi-ui/src/views/business/tools/apitools/index.vue
index ebdb56d9..a2326e7f 100644
--- a/ruoyi-ui/src/views/business/tools/apitools/index.vue
+++ b/ruoyi-ui/src/views/business/tools/apitools/index.vue
@@ -368,6 +368,28 @@
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+
+
@@ -483,6 +505,9 @@ export default {
name: [
{required: true, message: '请输入垃圾名称!!!', trigger: 'blur'},
],
+ content:[
+ {required: true, message: '请输入垃圾名称!!!', trigger: 'blur'},
+ ],
dict: [
{required: true, message: '请输入简体中文!!!', trigger: 'blur'},
{min: 1, max: 1, message: '长度在 1 个字符', trigger: 'blur'}
diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/apitools/controller/ApiToolsController.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/apitools/controller/ApiToolsController.java
index 2e4244c6..e1af9a9d 100644
--- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/apitools/controller/ApiToolsController.java
+++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/apitools/controller/ApiToolsController.java
@@ -149,7 +149,7 @@ public class ApiToolsController {
@Log(title = "获取IP")
@RequiresPermissions("open:apitools:ipinfo")
public R getIPApiData(@PathVariable("ip")String ip) {
- return R.ok(ipService.getIPApiData());
+ return R.ok(ipService.getIPApiData(ip));
}
}
diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/IPFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/IPFactory.java
index 649137c1..2aa2d11e 100644
--- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/IPFactory.java
+++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/IPFactory.java
@@ -11,6 +11,13 @@ public interface IPFactory {
* 获取ip工厂方法
* @return T
*/
- T IpApi();
+ T ipApi();
+
+ /**
+ * 获取ip工厂方法
+ * @param ip ip
+ * @return T
+ */
+ T ipApi(String ip);
}
diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/impl/RollIPFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/impl/RollIPFactory.java
index 64f835bd..bdf0efcf 100644
--- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/impl/RollIPFactory.java
+++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/impl/RollIPFactory.java
@@ -35,9 +35,14 @@ public class RollIPFactory implements IPFactory {
private RedisService redisService;
@Override
- public IPInfoVo IpApi() {
- RequestBody requestBody = new RequestBody();
+ public IPInfoVo ipApi() {
String ip = Optional.ofNullable(IPUtils.getV4IP()).orElse(LOCAL_IP);
+ return ipApi(ip);
+ }
+
+ @Override
+ public IPInfoVo ipApi(String ip) {
+ RequestBody requestBody = new RequestBody();
requestBody.setIp(ip);
requestBody.setApp_id(rollProperties.getApp_id());
requestBody.setApp_secret(rollProperties.getApp_secret());
diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/impl/SpeedTestIPFactory.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/impl/SpeedTestIPFactory.java
index 97d5c0d6..cb0db448 100644
--- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/impl/SpeedTestIPFactory.java
+++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/factory/impl/SpeedTestIPFactory.java
@@ -25,7 +25,7 @@ public class SpeedTestIPFactory implements IPFactory {
@Override
@Deprecated
- public IPInfoVo IpApi() {
+ public IPInfoVo ipApi() {
String v4IP = IPUtils.getV4IP();
String ip = Optional.ofNullable(v4IP).orElse(LOCAL_IP);
JSONObject jsonObject = speedTestIPFeignClient.IpApi(ip);
@@ -41,4 +41,9 @@ public class SpeedTestIPFactory implements IPFactory {
}
return null;
}
+
+ @Override
+ public IPInfoVo ipApi(String ip) {
+ return null;
+ }
}
diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/service/IPService.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/service/IPService.java
index 82c33403..6911255d 100644
--- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/service/IPService.java
+++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/service/IPService.java
@@ -15,4 +15,12 @@ public interface IPService {
*/
IPInfoVo getIPApiData();
+
+ /**
+ * 获取IP的数据
+ * @param ip ip
+ * @return IPInfoVo
+ */
+ IPInfoVo getIPApiData(String ip);
+
}
diff --git a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/service/impl/IPServiceImpl.java b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/service/impl/IPServiceImpl.java
index aa36d853..c4af2dbc 100644
--- a/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/service/impl/IPServiceImpl.java
+++ b/xjs-business/xjs-business-openapi/src/main/java/com/xjs/weather/service/impl/IPServiceImpl.java
@@ -16,6 +16,7 @@ import static com.xjs.consts.RedisConst.IP_INFO_EXPIRE;
/**
* ip api服务实现
+ *
* @author xiejs
* @since 2022-01-15
*/
@@ -31,14 +32,19 @@ public class IPServiceImpl implements IPService {
public IPInfoVo getIPApiData() {
if (redisService.hasKey(IP_INFO)) {
return (IPInfoVo) redisService.getCacheObject(IP_INFO);
- }else {
- IPInfoVo ipInfoVo = rollIPFactory.IpApi();
+ } else {
+ IPInfoVo ipInfoVo = rollIPFactory.ipApi();
if (Objects.nonNull(ipInfoVo)) {
redisService.setCacheObject(IP_INFO, ipInfoVo, IP_INFO_EXPIRE, TimeUnit.MINUTES);
return ipInfoVo;
- }else {
+ } else {
throw new ApiException("获取IP信息异常!!");
}
}
}
+
+ @Override
+ public IPInfoVo getIPApiData(String ip) {
+ return rollIPFactory.ipApi(ip);
+ }
}
diff --git a/xjs-business/xjs-business-openapi/src/test/java/com/xjs/oneenglish/factory/TianXingOneEnglishFactoryTest.java b/xjs-business/xjs-business-openapi/src/test/java/com/xjs/oneenglish/factory/TianXingOneEnglishFactoryTest.java
index cc6d6218..7b4804fc 100644
--- a/xjs-business/xjs-business-openapi/src/test/java/com/xjs/oneenglish/factory/TianXingOneEnglishFactoryTest.java
+++ b/xjs-business/xjs-business-openapi/src/test/java/com/xjs/oneenglish/factory/TianXingOneEnglishFactoryTest.java
@@ -49,7 +49,7 @@ class TianXingOneEnglishFactoryTest {
@Test
void ip() {
- IPInfoVo ipInfoVo = speedTestIPFactory.IpApi();
+ IPInfoVo ipInfoVo = speedTestIPFactory.ipApi();
System.out.println(ipInfoVo.toString());
}