From 6a48d04a36bc459ed761d787ee3d537652185d36 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期二, 27 十月 2026 15:06:50 +0800
Subject: [PATCH] refactor(permission): 清理新高电力查询菜单及权限注解

---
 yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/returnobj/AfterSaleReturnController.java |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/returnobj/AfterSaleReturnController.java b/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/returnobj/AfterSaleReturnController.java
index 4f593cf..b4e4c48 100644
--- a/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/returnobj/AfterSaleReturnController.java
+++ b/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/returnobj/AfterSaleReturnController.java
@@ -7,9 +7,12 @@
 import cn.iocoder.yudao.module.aftersales.controller.admin.returnobj.vo.AfterSaleReturnPageReqVO;
 import cn.iocoder.yudao.module.aftersales.controller.admin.returnobj.vo.AfterSaleReturnRespVO;
 import cn.iocoder.yudao.module.aftersales.controller.admin.returnobj.vo.AfterSaleReturnSaveReqVO;
+import cn.iocoder.yudao.module.aftersales.controller.admin.returnobj.vo.AfterSaleRefundConfirmReqVO;
 import cn.iocoder.yudao.module.aftersales.dal.dataobject.returnobj.AfterSaleReturnDO;
 import cn.iocoder.yudao.module.aftersales.dal.dataobject.returnobj.AfterSaleReturnItemDO;
+import cn.iocoder.yudao.module.aftersales.dal.dataobject.ticket.AfterSaleTicketDO;
 import cn.iocoder.yudao.module.aftersales.service.returnobj.AfterSaleReturnService;
+import cn.iocoder.yudao.module.aftersales.service.ticket.AfterSaleTicketService;
 import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
 import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
 import io.swagger.v3.oas.annotations.Operation;
@@ -24,6 +27,7 @@
 import java.util.*;
 
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
 import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
 
@@ -35,6 +39,9 @@
 
     @Resource
     private AfterSaleReturnService returnService;
+
+    @Resource
+    private AfterSaleTicketService ticketService;
 
     @Resource
     private CrmCustomerApi customerApi;
@@ -54,10 +61,25 @@
         return success(true);
     }
 
+    @PutMapping("/complete-refund")
+    @Operation(summary = "纭澶栭儴閫�娆�/鎹㈣揣瀹屾垚")
+    @PreAuthorize("@ss.hasPermission('aftersales:return:refund')")
+    public CommonResult<Boolean> completeRefund(@Valid @RequestBody AfterSaleRefundConfirmReqVO reqVO) {
+        returnService.confirmRefundCompleted(reqVO.getId(), reqVO.getActualRefundPrice(), reqVO.getVoucherNo());
+        return success(true);
+    }
+
+    @PutMapping("/cancel")
+    @Operation(summary = "鍙栨秷灏氭湭鍏ュ簱鎴栭��娆剧殑閫�璐х敵璇�")
+    @PreAuthorize("@ss.hasPermission('aftersales:return:cancel')")
+    public CommonResult<Boolean> cancelReturn(@RequestParam("id") Long id) {
+        returnService.cancelReturn(id);
+        return success(true);
+    }
+
     @GetMapping("/get")
     @Operation(summary = "鑾峰緱閫�璐х敵璇�")
     @Parameter(name = "id", description = "閫�璐х敵璇风紪鍙�", required = true, example = "1")
-    @PreAuthorize("@ss.hasPermission('aftersales:return:query')")
     public CommonResult<AfterSaleReturnRespVO> getReturn(@RequestParam("id") Long id) {
         AfterSaleReturnDO returnDO = returnService.getReturn(id);
         List<AfterSaleReturnItemDO> items = returnService.getReturnItemListByReturnId(id);
@@ -69,7 +91,6 @@
 
     @GetMapping("/page")
     @Operation(summary = "鑾峰緱閫�璐х敵璇峰垎椤�")
-    @PreAuthorize("@ss.hasPermission('aftersales:return:query')")
     public CommonResult<PageResult<AfterSaleReturnRespVO>> getReturnPage(@Valid AfterSaleReturnPageReqVO pageReqVO) {
         PageResult<AfterSaleReturnDO> pageResult = returnService.getReturnPage(pageReqVO, getLoginUserId());
         List<AfterSaleReturnRespVO> list = buildReturnDetailList(pageResult.getList());
@@ -85,10 +106,15 @@
         // 鎵归噺鍔犺浇瀹㈡埛鍚嶇О
         Set<Long> customerIds = convertSet(returnList, AfterSaleReturnDO::getCustomerId);
         Map<Long, CrmCustomerRespDTO> customerMap = customerApi.getCustomerMap(customerIds);
+        // 鎵归噺鍔犺浇鍏宠仈宸ュ崟鐨勯攢鍞鍗曞彿锛堝弽鏄捐鍗曚俊鎭級
+        Set<Long> ticketIds = convertSet(returnList, AfterSaleReturnDO::getTicketId);
+        Map<Long, AfterSaleTicketDO> ticketMap = convertMap(ticketService.getTicketList(ticketIds), AfterSaleTicketDO::getId);
         // 鎷艰鍚嶇О瀛楁
         return BeanUtils.toBean(returnList, AfterSaleReturnRespVO.class, vo -> {
             CrmCustomerRespDTO customer = customerMap.get(vo.getCustomerId());
             if (customer != null) vo.setCustomerName(customer.getName());
+            AfterSaleTicketDO ticket = ticketMap.get(vo.getTicketId());
+            if (ticket != null) vo.setSaleOrderNo(ticket.getSaleOrderNo());
         });
     }
 

--
Gitblit v1.9.3