From 74b0e0814e37d640596f44ec86d20fa9ecce9ed6 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 05 二月 2025 10:42:06 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderInvoiceController.java | 32 +++++++++++++++++++++++++++----- 1 files changed, 27 insertions(+), 5 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderInvoiceController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderInvoiceController.java index 5132faf..bfef7f3 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderInvoiceController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderInvoiceController.java @@ -9,6 +9,9 @@ import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; +import com.ruoyi.common.security.annotation.Logical; +import com.ruoyi.common.security.annotation.RequiresPermissions; +import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.api.model.TOrderInvoice; import com.ruoyi.order.api.query.TOrderInvoiceQuery; import com.ruoyi.order.api.vo.TOrderInvoiceVO; @@ -53,6 +56,9 @@ @Resource private TOrderInvoiceService orderInvoiceService; + @Resource + private TokenService tokenService; + @@ -62,19 +68,25 @@ public AjaxResult addOrderInvoice(@RequestBody AddOrderInvoice addOrderInvoice){ return orderInvoiceService.addOrderInvoice(addOrderInvoice); } - + + + @RequiresPermissions(value = {"/invoiceManagement"}, logical = Logical.OR) @PostMapping("/pageList") @ApiOperation(value = "查询开票分页列表", tags = {"管理后台-发票管理"}) public AjaxResult<PageInfo<TOrderInvoiceVO>> pageList(@RequestBody TOrderInvoiceQuery query){ return AjaxResult.success(orderInvoiceService.pageList(query)); } - + + + + @RequiresPermissions(value = {"/invoiceManagement/accept_hear_case"}, logical = Logical.OR) @GetMapping("/uploadPdf") @ApiOperation(value = "上传发票", tags = {"管理后台-发票管理"}) public AjaxResult<String> uploadPdf(@RequestParam("id") Long id, @RequestParam("invoiceUrl") String invoiceUrl){ TOrderInvoice orderInvoice = orderInvoiceService.getById(id); orderInvoice.setInvoiceUrl(invoiceUrl); + orderInvoice.setStatus(3); orderInvoiceService.updateById(orderInvoice); // 发送邮箱 // 收件人电子邮箱,TODO 换成自己的收件箱 @@ -128,7 +140,7 @@ //组装的顺序非常重要,一定要先组装文本域,再组装文件 MimeBodyPart htmlPart = new MimeBodyPart(); // 组装内容 - htmlPart.setContent("This is message content", "text/html;charset=UTF-8"); + htmlPart.setContent("开票", "text/html;charset=UTF-8"); msgMultipart.addBodyPart(htmlPart); // 组装附件 @@ -141,7 +153,9 @@ byte[] imageBytes = IOUtils.toByteArray(inputStream); // 创建临时文件 - File tempFile = File.createTempFile("tempImage", ".png"); + // 截取imageUrl后缀名 + String fileExtension = imageUrl.substring(imageUrl.lastIndexOf(".")); + File tempFile = File.createTempFile("tempImage", fileExtension); try (FileOutputStream fos = new FileOutputStream(tempFile)) { fos.write(imageBytes); } @@ -172,7 +186,9 @@ } return AjaxResult.success(); } - + + + @RequiresPermissions(value = {"/invoiceManagement"}, logical = Logical.OR) @PostMapping("/statusCount") @ApiOperation(value = "查询开票状态数量", tags = {"管理后台-发票管理"}) public AjaxResult<Map<String,Integer>> statusCount(@RequestBody TOrderInvoiceQuery query){ @@ -182,6 +198,7 @@ /** * 发票管理导出 */ + @RequiresPermissions(value = {"/invoiceManagement/export"}, logical = Logical.OR) @ApiOperation(value = "发票管理导出", tags = {"管理后台-发票管理"}) @Log(title = "发票管理导出", businessType = BusinessType.EXPORT) @PutMapping("/export") @@ -235,6 +252,11 @@ @GetMapping("/getMyOrderInvoiceInfo/{id}") @ApiOperation(value = "获取开票记录详情", tags = {"小程序-充电发票"}) public AjaxResult<MyOrderInvoiceInfo> getMyOrderInvoiceInfo(@PathVariable String id){ + TOrderInvoice orderInvoice = orderInvoiceService.getById(id); + Long userId = tokenService.getLoginUserApplet().getUserId(); + if(!orderInvoice.getAppUserId().equals(userId)){ + return AjaxResult.error("权限不足"); + } MyOrderInvoiceInfo myOrderInvoiceInfo = orderInvoiceService.getMyOrderInvoiceInfo(id); return AjaxResult.success(myOrderInvoiceInfo); } -- Gitblit v1.7.1