From fdbc5af6474abb39120b771af87005aeb6186ae5 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期一, 14 九月 2026 15:28:28 +0800
Subject: [PATCH] feat: 售后工单按条绑定部门与原因类型;新增加班工资管理;员工附件留档

---
 yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/ticket/AfterSaleTicketController.java |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/ticket/AfterSaleTicketController.java b/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/ticket/AfterSaleTicketController.java
index 4f6cddd..32f160a 100644
--- a/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/ticket/AfterSaleTicketController.java
+++ b/yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/ticket/AfterSaleTicketController.java
@@ -13,6 +13,8 @@
 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 cn.iocoder.yudao.module.system.api.dept.DeptApi;
+import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
 import io.swagger.v3.oas.annotations.Operation;
@@ -43,6 +45,8 @@
     private CrmCustomerApi customerApi;
     @Resource
     private AdminUserApi adminUserApi;
+    @Resource
+    private DeptApi deptApi;
     @Resource
     private cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi storageAttachmentApi;
 
@@ -80,7 +84,17 @@
         // 鎵归噺鍔犺浇鍏宠仈鍚嶇О
         List<AfterSaleTicketRespVO> enrichedList = buildTicketDetailList(List.of(ticket));
         AfterSaleTicketRespVO respVO = enrichedList.get(0);
-        respVO.setItems(BeanUtils.toBean(items, AfterSaleTicketRespVO.Item.class));
+        List<AfterSaleTicketRespVO.Item> itemVOs = BeanUtils.toBean(items, AfterSaleTicketRespVO.Item.class);
+        // 鍥炴樉鏄庣粏閮ㄩ棬鍚嶇О
+        Set<Long> deptIds = convertSet(itemVOs, AfterSaleTicketRespVO.Item::getDeptId);
+        Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(deptIds);
+        itemVOs.forEach(itemVO -> {
+            DeptRespDTO dept = deptMap.get(itemVO.getDeptId());
+            if (dept != null) {
+                itemVO.setDeptName(dept.getName());
+            }
+        });
+        respVO.setItems(itemVOs);
         respVO.setAttachmentList(storageAttachmentApi.listAttachments("aftersales_after_sale_ticket", id));
         return success(respVO);
     }

--
Gitblit v1.9.3