From df6641a659f3c1b501a648e31cd9ea7a549e28fd Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Fri, 12 Apr 2024 14:44:08 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E7=94=9F=E6=88=90?= =?UTF-8?q?=E7=9F=AD=E9=93=BE=E6=8E=A5=E6=A0=87=E8=AF=86=E7=AC=A6=E8=AF=86?= =?UTF-8?q?=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-dev.yml | 2 +- .../src/main/resources/application.yml | 2 +- .../properties/ShortLinkProperties.java | 2 +- .../shortlink/utils/ShortLinkUtils.java | 12 ++++++------ .../system/SysShortLinkController.java | 19 +++++++------------ 5 files changed, 16 insertions(+), 21 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index e0c3e2013..350557f9c 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -195,7 +195,7 @@ sms: sdk-app-id: 您的sdkAppId shortlink: - enabled: true + enabled: false api: /dev-api address: http://localhost/dev-api/resource/short/link?shortUrl= errorAddress: http://localhost/error diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 5c3ecffbd..076434e69 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -126,7 +126,7 @@ security: # EasyRetry Job 分派 @see com.aizuda.easy.retry.client.job.core.client.JobEndPoint - /job/dispatch/v1 - /job/stop/v1 - - /resource/short/link + - /resource/short/link/* # 多租户配置 tenant: diff --git a/ruoyi-common/ruoyi-common-shortlink/src/main/java/org/dromara/common/shortlink/properties/ShortLinkProperties.java b/ruoyi-common/ruoyi-common-shortlink/src/main/java/org/dromara/common/shortlink/properties/ShortLinkProperties.java index bb6cc5c47..12eae1576 100644 --- a/ruoyi-common/ruoyi-common-shortlink/src/main/java/org/dromara/common/shortlink/properties/ShortLinkProperties.java +++ b/ruoyi-common/ruoyi-common-shortlink/src/main/java/org/dromara/common/shortlink/properties/ShortLinkProperties.java @@ -30,6 +30,6 @@ public class ShortLinkProperties { /** * 错误页面的主机名或域名 */ - private String errorAddress="/error"; + private String errorAddress = "/error"; } diff --git a/ruoyi-common/ruoyi-common-shortlink/src/main/java/org/dromara/common/shortlink/utils/ShortLinkUtils.java b/ruoyi-common/ruoyi-common-shortlink/src/main/java/org/dromara/common/shortlink/utils/ShortLinkUtils.java index d3850939d..a2ed362c4 100644 --- a/ruoyi-common/ruoyi-common-shortlink/src/main/java/org/dromara/common/shortlink/utils/ShortLinkUtils.java +++ b/ruoyi-common/ruoyi-common-shortlink/src/main/java/org/dromara/common/shortlink/utils/ShortLinkUtils.java @@ -78,22 +78,22 @@ public class ShortLinkUtils { /** * 根据短链接获取对应的完整长链接,如果找不到长链接则返回错误链接 * - * @param shortUrl 短链接标识符 + * @param shortLinkIdentifier 短链接标识符 * @return 对应的完整长链接,如果未找到则返回错误链接 */ - public static String getLongLink(String shortUrl) { - return getLongLink(shortUrl, SHORT_LINK_PROPERTIES.getErrorAddress()); + public static String getLongLink(String shortLinkIdentifier) { + return getLongLink(shortLinkIdentifier, SHORT_LINK_PROPERTIES.getErrorAddress()); } /** * 根据短链接获取对应的完整长链接,如果找不到长链接则返回指定的错误链接 * - * @param shortUrl 短链接标识符 + * @param shortLinkIdentifier 短链接标识符 * @param errUrl 错误链接 * @return 对应的完整长链接,如果未找到则返回错误链接 */ - public static String getLongLink(String shortUrl, String errUrl) { - String longLink = RedisUtils.getCacheObject(GlobalConstants.SHORT_LINK_KEY + shortUrl); + public static String getLongLink(String shortLinkIdentifier, String errUrl) { + String longLink = RedisUtils.getCacheObject(GlobalConstants.SHORT_LINK_KEY + shortLinkIdentifier); return StringUtils.isNotEmpty(longLink) ? longLink : errUrl; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysShortLinkController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysShortLinkController.java index 37af72876..3e16125d2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysShortLinkController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysShortLinkController.java @@ -8,10 +8,7 @@ import org.dromara.common.shortlink.enums.ValidityType; import org.dromara.common.shortlink.properties.ShortLinkProperties; import org.dromara.common.shortlink.utils.ShortLinkUtils; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.view.RedirectView; import java.net.MalformedURLException; @@ -31,12 +28,12 @@ public class SysShortLinkController { /** * 根据短链接获取长链接并重定向 * - * @param shortUrl 短链接 + * @param shortLinkIdentifier 短链接标识符 * @return 重定向视图 */ - @GetMapping("/link") - public RedirectView getLongLink(@NotBlank(message = "参数不能为空") String shortUrl) { - String longLink = ShortLinkUtils.getLongLink(shortUrl, shortLinkProperties.getErrorAddress()); + @GetMapping("/link/{shortLinkIdentifier}") + public RedirectView getLongLink(@PathVariable("shortLinkIdentifier") String shortLinkIdentifier) { + String longLink = ShortLinkUtils.getLongLink(shortLinkIdentifier, shortLinkProperties.getErrorAddress()); return new RedirectView(longLink); } @@ -52,11 +49,9 @@ public class SysShortLinkController { if (Boolean.FALSE.equals(shortLinkProperties.getEnabled())) { shorturl = ShortLinkUtils.generateShortUrl(shortLinkProperties.getAddress(), longUrl, ValidityType.THREE_DAYS); } else { - String requestUrl = request.getRequestURL().toString(); + String requestUrl = request.getRequestURL().toString().replace("shorturl", "link/"); String host = new URL(requestUrl).getHost(); - String address = requestUrl - .replace(host, host + shortLinkProperties.getApi()) - .replace("shorturl", "link?shortUrl="); + String address = requestUrl.replace(host, host + shortLinkProperties.getApi()); shorturl = ShortLinkUtils.generateShortUrl(address, longUrl, ValidityType.THREE_DAYS); } return R.ok(shorturl);