From a06570f39c6ea6d98cf950f5a00234ae89a9c761 Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Fri, 12 Apr 2024 13:44:10 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E7=9F=AD=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E9=9D=9E=E7=A7=9F=E6=88=B7=E5=9F=9F=E5=90=8D=E7=94=9F?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/SysShortLinkController.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) 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 59edcd28f..a7a88b4b2 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 @@ -1,8 +1,11 @@ package org.dromara.system.controller.system; +import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.constraints.NotBlank; import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; 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; @@ -20,6 +23,8 @@ import org.springframework.web.servlet.view.RedirectView; @RequestMapping("/resource/short") public class SysShortLinkController { + private final ShortLinkProperties shortLinkProperties; + /** * 根据短链接获取长链接并重定向 * @@ -28,7 +33,7 @@ public class SysShortLinkController { */ @GetMapping("/link") public RedirectView getLongLink(@NotBlank(message = "参数不能为空") String shortUrl) { - String longLink = ShortLinkUtils.getLongLink(shortUrl, "/error"); + String longLink = ShortLinkUtils.getLongLink(shortUrl, shortLinkProperties.getErrorAddress()); return new RedirectView(longLink); } @@ -39,8 +44,16 @@ public class SysShortLinkController { * @return 完整的短链接 */ @PostMapping("/shorturl") - public String generateShortUrl(@NotBlank(message = "参数不能为空") String longUrl) { - return ShortLinkUtils.generateShortUrl(longUrl, ValidityType.THREE_DAYS); + public R generateShortUrl(HttpServletRequest request, @NotBlank(message = "参数不能为空") String longUrl) { + String shorturl; + if (Boolean.FALSE.equals(shortLinkProperties.getEnabled())) { + shorturl = ShortLinkUtils.generateShortUrl(shortLinkProperties.getAddress(), longUrl, ValidityType.THREE_DAYS); + } else { + StringBuffer requestURL = request.getRequestURL(); + String address = requestURL.substring(0, requestURL.indexOf("shorturl")) + "link?shortUrl="; + shorturl = ShortLinkUtils.generateShortUrl(address, longUrl, ValidityType.THREE_DAYS); + } + return R.ok(shorturl); } }