From 49bad37b8a057843109b57212c7c0e6e113cfb80 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期二, 13 十月 2026 16:20:21 +0800
Subject: [PATCH] feat(aftersales): 工单客户/联系人/物料/批次改为文本 + 问题库/回访 SQL

---
 yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/ticket/AfterSaleTicketController.java |   19 ++++++++++++++++++-
 1 files changed, 18 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 3acf172..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,10 @@
     private CrmCustomerApi customerApi;
     @Resource
     private AdminUserApi adminUserApi;
+    @Resource
+    private DeptApi deptApi;
+    @Resource
+    private cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi storageAttachmentApi;
 
     @PostMapping("/create")
     @Operation(summary = "鍒涘缓鍞悗宸ュ崟")
@@ -78,7 +84,18 @@
         // 鎵归噺鍔犺浇鍏宠仈鍚嶇О
         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