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()); }