From 6d910029b6c81db0a2b66caa66952781397b153a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 29 八月 2026 13:45:52 +0800
Subject: [PATCH] feat(mes): 实现H5溯源页面与二维码内容集成
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/qrcode/MesProQrLabelBuilder.java | 33 ++++++++++++++++++++++++++++-----
1 files changed, 28 insertions(+), 5 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/qrcode/MesProQrLabelBuilder.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/qrcode/MesProQrLabelBuilder.java
index 822e040..80b198d 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/qrcode/MesProQrLabelBuilder.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/qrcode/MesProQrLabelBuilder.java
@@ -8,16 +8,39 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.pallet.MesProPalletDO;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
+import java.nio.charset.StandardCharsets;
+import java.net.URLEncoder;
import java.util.LinkedHashMap;
import java.util.Map;
/**
- * MES 浜岀淮鐮佹爣绛炬瀯寤哄櫒锛氱粺涓�"浜岀淮鐮佺紪鐮佺函鐮佸�� + 鍥剧墖鍙犲姞鍙鏂囨湰"鐨勬枃鏈粍瑁呰鍒欙紝
- * 淇濊瘉鎵规銆佹墭鐩樸�佽鐮佷笁绉嶆爣绛剧殑鍏抽敭淇℃伅淇濈暀涓�鑷�
+ * MES 浜岀淮鐮佹爣绛炬瀯寤哄櫒锛氱粺涓�"浜岀淮鐮佺紪鐮佸唴瀹� + 鍥剧墖鍙犲姞鍙鏂囨湰"鐨勬枃鏈粍瑁呰鍒欙紝
+ * 淇濊瘉鎵规銆佹墭鐩樸�佽鐮佷笁绉嶆爣绛剧殑鍏抽敭淇℃伅淇濈暀涓�鑷淬��
+ * <p>
+ * 閰嶇疆浜� {@code mes.trace-base-url} 鏃讹紝浜岀淮鐮佸唴瀹逛负 H5 婧簮鍦板潃锛堝甫 code 鍙傛暟锛夛紝鍚﹀垯鍥為��涓虹函鐮佸�硷紙鍏煎鏃х爜锛�
*/
public final class MesProQrLabelBuilder {
private MesProQrLabelBuilder() {
+ }
+
+ /**
+ * H5 婧簮椤甸潰鍩虹鍦板潃锛岀敱 {@code MesQrCodeConfig} 鍚姩鏃舵敞鍏ワ紱涓虹┖鏃朵簩缁寸爜缂栫爜绾爜鍊�
+ */
+ private static volatile String traceBaseUrl = "";
+
+ public static void setTraceBaseUrl(String traceBaseUrl) {
+ MesProQrLabelBuilder.traceBaseUrl = StrUtil.blankToDefault(traceBaseUrl, "");
+ }
+
+ /**
+ * 缁勮浜岀淮鐮佸唴瀹癸細閰嶇疆浜嗘函婧愬湴鍧�鍒欐嫾 URL锛屽惁鍒欒繑鍥炵函鐮佸��
+ */
+ private static String buildQrCodeContent(String code) {
+ if (StrUtil.isEmpty(traceBaseUrl)) {
+ return code;
+ }
+ return traceBaseUrl + "?code=" + URLEncoder.encode(code, StandardCharsets.UTF_8);
}
/**
@@ -51,7 +74,7 @@
if (user != null) {
keyValues.put("璐d换浜�", user.getNickname());
}
- return QrLabelInfo.builder().fileName(code).code(code).keyValues(keyValues).build();
+ return QrLabelInfo.builder().fileName(code).code(buildQrCodeContent(code)).keyValues(keyValues).build();
}
/**
@@ -78,7 +101,7 @@
if (batch != null) {
fillBatchKeyValues(keyValues, batch, itemMap, userMap);
}
- return QrLabelInfo.builder().fileName(code).code(code).keyValues(keyValues).build();
+ return QrLabelInfo.builder().fileName(code).code(buildQrCodeContent(code)).keyValues(keyValues).build();
}
/**
@@ -98,7 +121,7 @@
if (batch != null) {
fillBatchKeyValues(keyValues, batch, itemMap, userMap);
}
- return QrLabelInfo.builder().fileName(bagCode.getCode()).code(bagCode.getCode()).keyValues(keyValues).build();
+ return QrLabelInfo.builder().fileName(bagCode.getCode()).code(buildQrCodeContent(bagCode.getCode())).keyValues(keyValues).build();
}
/**
--
Gitblit v1.9.3