From 1e1d0497cc600cc10c22c217b35fb3c43a1e024f Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 21 三月 2025 14:08:06 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/xiaochen991015/xizang

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 53 insertions(+), 1 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java
index 157d180..02fb59c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java
@@ -12,10 +12,16 @@
 import com.ruoyi.system.query.TInvoiceQuery;
 import com.ruoyi.system.service.TBillService;
 import com.ruoyi.system.service.TInvoiceService;
+import com.ruoyi.web.controller.tool.TencentCosUtil;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.*;
 
 
 /**
@@ -33,6 +39,8 @@
     private TInvoiceService invoiceService;
     @Autowired
     TBillService tBillService;
+    @Autowired
+    TencentCosUtil tencentCosUtil;
     @PreAuthorize("@ss.hasPermi('invoice:list')")
     @ApiOperation(value = "获取开票列表")
     @PostMapping("/list")
@@ -58,7 +66,51 @@
     @PostMapping("/uploadVoucher")
     @PreAuthorize("@ss.hasPermi('invoice:list:payment')")
     public R<Boolean> uploadVoucher(@RequestBody TInvoiceQuery query) {
-        return R.ok(invoiceService.uploadVoucher(query));
+        String invoiceVoucher = query.getInvoiceVoucher();
+        String invoiceVoucherName = query.getInvoiceVoucherName();
+        if (invoiceVoucher == null || invoiceVoucherName == null) {
+            return R.fail("请上传发票文件");
+        }
+        String[] voucherUrls = invoiceVoucher.split(",");
+        String[] voucherNames = invoiceVoucherName.split(",");
+
+        // 确保两个数组长度一致
+        int length = Math.min(voucherUrls.length, voucherNames.length);
+        if (length == 0) {
+            return R.fail("请上传发票文件");
+        }
+        // 构建附件列表
+        List<Map<String, String>> attachments = new ArrayList<>(length);
+        for (int i = 0; i < length; i++) {
+            String voucherUrl = voucherUrls[i];
+            String fileName = voucherNames[i];
+            Map<String, String> attachment = new HashMap<>(2); // 初始容量为2,避免扩容
+            String tempDir = System.getProperty("java.io.tmpdir");
+            Path filePath = Paths.get(tempDir, fileName);
+            // 保存到临时目录
+            tencentCosUtil.download(voucherUrl,filePath.toString(),fileName);
+
+            attachment.put("filePath", filePath.toString());
+            attachment.put("fileName", fileName);
+            attachments.add(attachment);
+        }
+        return R.ok(invoiceService.uploadVoucher(query,attachments));
     }
 }
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

--
Gitblit v1.7.1