From 4c77ac6367145e4740141e872e1cda1c16efa9b1 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 09 六月 2025 15:17:16 +0800 Subject: [PATCH] 优化功能及重复退款问题 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderInvoiceController.java | 57 +++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 41 insertions(+), 16 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 1b2dfc4..cfb6986 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 @@ -3,35 +3,41 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; +import com.ruoyi.account.api.dto.UploadPdfDTO; +import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.WebUtils; import com.ruoyi.common.core.web.domain.AjaxResult; 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; -import com.ruoyi.order.dto.AddOrderInvoice; -import com.ruoyi.order.dto.GetOrderInvoiceList; -import com.ruoyi.order.dto.MyOrderInvoiceInfo; -import com.ruoyi.order.dto.OrderInvoiceList; +import com.ruoyi.order.dto.*; import com.ruoyi.order.export.OrderInvoiceExport; import com.ruoyi.order.service.TOrderInvoiceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.commons.compress.utils.IOUtils; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; +import javax.activation.DataHandler; +import javax.activation.FileDataSource; import javax.annotation.Resource; +import javax.mail.*; +import javax.mail.internet.*; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; +import java.io.*; +import java.net.URL; import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; /** * <p> @@ -49,7 +55,11 @@ @Resource private TOrderInvoiceService orderInvoiceService; - + @Resource + private TokenService tokenService; + @Resource + private AppUserClient appUserClient; + @ResponseBody @@ -58,23 +68,32 @@ 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)); } - @GetMapping("/uploadPdf") + + + @RequiresPermissions(value = {"/invoiceManagement/accept_hear_case"}, logical = Logical.OR) + @PostMapping("/uploadPdf") @ApiOperation(value = "上传发票", tags = {"管理后台-发票管理"}) - public AjaxResult<String> uploadPdf(@RequestParam("id") Long id, - @RequestParam("invoiceUrl") String invoiceUrl){ - TOrderInvoice orderInvoice = orderInvoiceService.getById(id); - orderInvoice.setInvoiceUrl(invoiceUrl); + public AjaxResult<String> uploadPdf(@RequestBody UploadPdfDTO dto){ + TOrderInvoice orderInvoice = orderInvoiceService.getById(dto.getId()); + orderInvoice.setInvoiceUrl(dto.getInvoiceUrl()); + orderInvoice.setStatus(3); orderInvoiceService.updateById(orderInvoice); + dto.setMailBox(orderInvoice.getMailbox()); + appUserClient.uploadPdf(dto); return AjaxResult.success(); } - + + + @RequiresPermissions(value = {"/invoiceManagement"}, logical = Logical.OR) @PostMapping("/statusCount") @ApiOperation(value = "查询开票状态数量", tags = {"管理后台-发票管理"}) public AjaxResult<Map<String,Integer>> statusCount(@RequestBody TOrderInvoiceQuery query){ @@ -84,6 +103,7 @@ /** * 发票管理导出 */ + @RequiresPermissions(value = {"/invoiceManagement/export"}, logical = Logical.OR) @ApiOperation(value = "发票管理导出", tags = {"管理后台-发票管理"}) @Log(title = "发票管理导出", businessType = BusinessType.EXPORT) @PutMapping("/export") @@ -137,6 +157,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