From a4cbcb2a55c0abed65fd92f52ceaa3c6504f65be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E8=B4=B5=E5=BC=BA?= Date: Thu, 30 Oct 2025 10:31:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E8=AE=BF=E9=97=AE=E5=9C=B0?= =?UTF-8?q?=E5=9D=80&=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/task/ElecStatementUrlSaveTask.java | 6 +++ .../java/shjh/jhzj7/fi/fi/utils/UrlUtils.java | 45 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 main/java/shjh/jhzj7/fi/fi/utils/UrlUtils.java diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/task/ElecStatementUrlSaveTask.java b/main/java/shjh/jhzj7/fi/fi/plugin/task/ElecStatementUrlSaveTask.java index cd0ce61..d421816 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/task/ElecStatementUrlSaveTask.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/task/ElecStatementUrlSaveTask.java @@ -14,6 +14,7 @@ import kd.bos.logging.LogFactory; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.schedule.executor.AbstractTask; +import kd.bos.servicehelper.AttachmentServiceHelper; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.PrintServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; @@ -24,6 +25,7 @@ import kd.sdk.plugin.Plugin; import kd.tmc.bei.common.helper.BeiHelper; import kd.tmc.bei.common.helper.ReceiptPrintHelper; import kd.tmc.fbp.common.ofd.OfdConvertUtil; +import shjh.jhzj7.fi.fi.utils.UrlUtils; import java.io.InputStream; import java.util.ArrayList; @@ -72,6 +74,10 @@ public class ElecStatementUrlSaveTask extends AbstractTask implements Plugin { if (!EmptyUtil.isEmpty(urlEntry)) { for (DynamicObject urlInfo : urlEntry) { String downloadUrl = getRealUploadUrl(urlInfo); // 需要实现这个方法 +// String remUrl = UrlUtils.removeParameter(downloadUrl, "kdedcba"); +// String encreptURL = AttachmentServiceHelper.getEncreptURL(remUrl); +// bill.set("shjh_url", encreptURL); +// bill.set("shjh_url_tag", encreptURL); bill.set("shjh_url", downloadUrl); bill.set("shjh_url_tag", downloadUrl); SaveServiceHelper.update(bill); diff --git a/main/java/shjh/jhzj7/fi/fi/utils/UrlUtils.java b/main/java/shjh/jhzj7/fi/fi/utils/UrlUtils.java new file mode 100644 index 0000000..cc901c3 --- /dev/null +++ b/main/java/shjh/jhzj7/fi/fi/utils/UrlUtils.java @@ -0,0 +1,45 @@ +package shjh.jhzj7.fi.fi.utils; + +import java.net.URI; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.List; + +public class UrlUtils { + + public static String removeParameter(String url, String paramToRemove) { + try { + URI uri = new URI(url); + String query = uri.getQuery(); + if (query == null) { + return url; + } + + String[] params = query.split("&"); + List filteredParams = new ArrayList<>(); + + for (String param : params) { + String[] keyValuePair = param.split("=", 2); + String key = keyValuePair[0]; + if (!key.equals(paramToRemove)) { + filteredParams.add(param); + } + } + + String newQuery = filteredParams.isEmpty() ? null : String.join("&", filteredParams); + + URI newUri = new URI( + uri.getScheme(), + uri.getAuthority(), + uri.getPath(), + newQuery, + uri.getFragment() + ); + + return newUri.toString(); + + } catch (URISyntaxException e) { + throw new IllegalArgumentException("Invalid URL: " + url, e); + } + } +}