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