From 99f528e235f11126fea44480c6e8888a9e463f2f Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 08 十一月 2025 21:09:53 +0800
Subject: [PATCH] feat:任务附件上传和同步
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleEvaluationQrcodeServiceImpl.java | 97 +++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 82 insertions(+), 15 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleEvaluationQrcodeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleEvaluationQrcodeServiceImpl.java
index a36f68f..5de0d50 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleEvaluationQrcodeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/VehicleEvaluationQrcodeServiceImpl.java
@@ -5,6 +5,7 @@
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.QRCodeUtils;
import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.config.QRCodeConfig;
import com.ruoyi.system.mapper.VehicleInfoMapper;
import com.ruoyi.system.domain.VehicleInfo;
import com.ruoyi.system.mapper.VehicleEvaluationQrcodeMapper;
@@ -27,6 +28,9 @@
@Autowired
private VehicleInfoMapper vehicleInfoMapper;
+
+ @Autowired
+ private QRCodeConfig qrCodeConfig;
@Value("${ruoyi.profile}")
private String uploadPath;
@@ -125,9 +129,48 @@
return null;
}
- // 妫�鏌ヨ溅杈嗘槸鍚﹀瓨鍦�
- VehicleInfo vehicleInfo = vehicleInfoMapper.selectVehicleInfoByVehicleNo(vehicleNo);
- if (vehicleInfo == null) {
+ // 娉ㄦ剰锛氳繖閲屼笉妫�鏌ヨ溅杈嗕俊鎭〃锛屽厑璁镐负浠绘剰杞︾墝鍙风敓鎴愪簩缁寸爜
+
+ // 妫�鏌ユ槸鍚﹀凡瀛樺湪浜岀淮鐮�
+ VehicleEvaluationQrcode existingQrcode = vehicleEvaluationQrcodeMapper.selectVehicleEvaluationQrcodeByVehicleNo(vehicleNo);
+ if (existingQrcode != null) {
+ return existingQrcode;
+ }
+
+ // 鐢熸垚浜岀淮鐮佸唴瀹�
+ String qrcodeContent = "EVAL:" + vehicleNo;
+ String qrcodeUrl = qrCodeConfig.generateUrl(vehicleNo);
+
+ // 鐢熸垚甯﹁溅鐗屽彿鐨勪簩缁寸爜鍥剧墖涓篵ase64鏍煎紡
+ String qrcodeImageBase64 = QRCodeUtils.generateQRCodeWithVehicleNoToBase64(qrcodeUrl, vehicleNo);
+
+ if (qrcodeImageBase64 != null) {
+ VehicleEvaluationQrcode qrcode = new VehicleEvaluationQrcode();
+ qrcode.setVehicleNo(vehicleNo);
+ qrcode.setQrcodeUrl(qrcodeUrl);
+ qrcode.setQrcodeContent(qrcodeContent);
+ qrcode.setQrcodeImage(qrcodeImageBase64);
+ qrcode.setStatus("0");
+ qrcode.setCreateBy("system");
+ qrcode.setCreateTime(DateUtils.getNowDate());
+
+ int result = vehicleEvaluationQrcodeMapper.insertVehicleEvaluationQrcode(qrcode);
+ if (result > 0) {
+ return qrcode;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * 鐢熸垚杞﹁締璇勪环浜岀淮鐮侊紙涓嶆鏌ヨ溅杈嗕俊鎭〃锛�
+ *
+ * @param vehicleNo 杞︾墝鍙�
+ * @return 浜岀淮鐮佷俊鎭�
+ */
+ private VehicleEvaluationQrcode generateVehicleEvaluationQrcodeWithoutVehicleCheck(String vehicleNo) {
+ if (StringUtils.isEmpty(vehicleNo)) {
return null;
}
@@ -139,10 +182,10 @@
// 鐢熸垚浜岀淮鐮佸唴瀹�
String qrcodeContent = "EVAL:" + vehicleNo;
- String qrcodeUrl = "http://localhost:" + serverPort + "/evaluation?vehicle=" + vehicleNo;
+ String qrcodeUrl = qrCodeConfig.generateUrl(vehicleNo);
- // 鐢熸垚浜岀淮鐮佸浘鐗囦负base64鏍煎紡
- String qrcodeImageBase64 = QRCodeUtils.generateQRCodeToBase64(qrcodeUrl);
+ // 鐢熸垚甯﹁溅鐗屽彿鐨勪簩缁寸爜鍥剧墖涓篵ase64鏍煎紡
+ String qrcodeImageBase64 = QRCodeUtils.generateQRCodeWithVehicleNoToBase64(qrcodeUrl, vehicleNo);
if (qrcodeImageBase64 != null) {
VehicleEvaluationQrcode qrcode = new VehicleEvaluationQrcode();
@@ -176,11 +219,7 @@
return null;
}
- // 妫�鏌ヨ溅杈嗘槸鍚﹀瓨鍦�
- VehicleInfo vehicleInfo = vehicleInfoMapper.selectVehicleInfoByVehicleNo(vehicleNo);
- if (vehicleInfo == null) {
- return null;
- }
+ // 娉ㄦ剰锛氳繖閲屼笉妫�鏌ヨ溅杈嗕俊鎭〃锛屽厑璁镐负浠绘剰杞︾墝鍙风敓鎴愪簩缁寸爜
// 妫�鏌ユ槸鍚﹀凡瀛樺湪浜岀淮鐮�
VehicleEvaluationQrcode existingQrcode = vehicleEvaluationQrcodeMapper.selectVehicleEvaluationQrcodeByVehicleNo(vehicleNo);
@@ -191,8 +230,8 @@
existingQrcode.setUpdateBy("system");
existingQrcode.setUpdateTime(DateUtils.getNowDate());
- // 閲嶆柊鐢熸垚浜岀淮鐮佸浘鐗囦负base64鏍煎紡
- String qrcodeImageBase64 = QRCodeUtils.generateQRCodeToBase64(qrcodeUrl);
+ // 閲嶆柊鐢熸垚甯﹁溅鐗屽彿鐨勪簩缁寸爜鍥剧墖涓篵ase64鏍煎紡
+ String qrcodeImageBase64 = QRCodeUtils.generateQRCodeWithVehicleNoToBase64(qrcodeUrl, vehicleNo);
if (qrcodeImageBase64 != null) {
existingQrcode.setQrcodeImage(qrcodeImageBase64);
@@ -205,8 +244,8 @@
// 鐢熸垚浜岀淮鐮佸唴瀹�
String qrcodeContent = "EVAL:" + vehicleNo;
- // 鐢熸垚浜岀淮鐮佸浘鐗囦负base64鏍煎紡
- String qrcodeImageBase64 = QRCodeUtils.generateQRCodeToBase64(qrcodeUrl);
+ // 鐢熸垚甯﹁溅鐗屽彿鐨勪簩缁寸爜鍥剧墖涓篵ase64鏍煎紡
+ String qrcodeImageBase64 = QRCodeUtils.generateQRCodeWithVehicleNoToBase64(qrcodeUrl, vehicleNo);
if (qrcodeImageBase64 != null) {
VehicleEvaluationQrcode qrcode = new VehicleEvaluationQrcode();
@@ -249,4 +288,32 @@
return successCount;
}
+
+ /**
+ * 鎵归噺鐢熸垚杞﹁締璇勪环浜岀淮鐮侊紙鎸囧畾杞︾墝鍙峰垪琛級
+ *
+ * @param vehicleNos 杞︾墝鍙峰垪琛�
+ * @param qrcodeUrl 浜岀淮鐮乁RL锛堝彲閫夛級
+ * @return 缁撴灉
+ */
+ @Override
+ public int batchGenerateVehicleEvaluationQrcode(List<String> vehicleNos, String qrcodeUrl) {
+ int successCount = 0;
+ for (String vehicleNo : vehicleNos) {
+ if (StringUtils.isEmpty(vehicleNo)) {
+ continue; // 璺宠繃绌虹殑杞︾墝鍙�
+ }
+
+ VehicleEvaluationQrcode qrcode;
+ if (StringUtils.isEmpty(qrcodeUrl)) {
+ qrcode = generateVehicleEvaluationQrcodeWithoutVehicleCheck(vehicleNo);
+ } else {
+ qrcode = generateVehicleEvaluationQrcode(vehicleNo, qrcodeUrl);
+ }
+ if (qrcode != null) {
+ successCount++;
+ }
+ }
+ return successCount;
+ }
}
--
Gitblit v1.9.1