From 6fdedfd0837c29bbd4254e7d38337cf82e6e56a6 Mon Sep 17 00:00:00 2001 From: luofl <1442745593@qq.com> Date: 星期一, 24 三月 2025 15:33:37 +0800 Subject: [PATCH] 1.租户数量趋势统计 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TInvoiceController.java | 66 ++++++++++++++++++++++++++++---- 1 files changed, 57 insertions(+), 9 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 fd9b109..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 @@ -5,16 +5,23 @@ import com.ruoyi.common.basic.PageInfo; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.TencentMailUtil; import com.ruoyi.system.dto.TBillDto; import com.ruoyi.system.model.TBill; import com.ruoyi.system.model.TInvoice; 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.*; /** @@ -32,14 +39,16 @@ private TInvoiceService invoiceService; @Autowired TBillService tBillService; - @PreAuthorize("@ss.hasPermi('system:invoice:list')") + @Autowired + TencentCosUtil tencentCosUtil; + @PreAuthorize("@ss.hasPermi('invoice:list')") @ApiOperation(value = "获取开票列表") @PostMapping("/list") public R<PageInfo<TInvoice>> list(@RequestBody TInvoiceQuery query) { return R.ok(invoiceService.pageList(query)); } - @PreAuthorize("@ss.hasPermi('system:invoice:delete')") + @PreAuthorize("@ss.hasPermi('invoice:list:del')") @Log(title = "开票信息-删除开票", businessType = BusinessType.DELETE) @ApiOperation(value = "删除开票") @DeleteMapping(value = "/deleteById") @@ -55,14 +64,53 @@ @ApiOperation(value = "上传开票凭证") @PostMapping("/uploadVoucher") + @PreAuthorize("@ss.hasPermi('invoice:list:payment')") public R<Boolean> uploadVoucher(@RequestBody TInvoiceQuery query) { - TInvoice tInvoice = new TInvoice(); - tInvoice.setId(query.getId()); - tInvoice.setInvoiceVoucher(query.getInvoiceVoucher()); - tInvoice.setInvoiceVoucherName(query.getInvoiceVoucherName()); - tInvoice.setInvoiceTime(query.getInvoiceTime()); - tInvoice.setStatus(2); - return R.ok(invoiceService.updateById(tInvoice)); + 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