From e4e220916dd2a4aa649a9b0162e5b5ed0dc9d7e5 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 20 五月 2025 10:36:54 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptAssortServiceImpl.java |   38 ++++++++++++++++++++++++--------------
 1 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptAssortServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptAssortServiceImpl.java
index 54d1250..d5fe7c8 100644
--- a/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptAssortServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/IvrLibaScriptAssortServiceImpl.java
@@ -13,7 +13,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -178,22 +181,29 @@
     @Override
     public List<IvrLibaScriptAssortVO> selectIvrLibaScriptAssortList(IvrLibaScriptAssort ivrLibaScriptAssort) {
         List<IvrLibaScriptAssort> ivrLibaScriptAssorts = ivrLibaScriptAssortMapper.selectIvrLibaScriptAssortList(ivrLibaScriptAssort);
-        //灏唒id涓虹┖鐨勶紝杩囨护鎺�
-//        ivrLibaScriptAssorts = ivrLibaScriptAssorts.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
-
         List<IvrLibaScriptAssortVO> ivrLibaScriptAssortVOS = DtoConversionUtils.sourceToTarget(ivrLibaScriptAssorts, IvrLibaScriptAssortVO.class);
-        //閬嶅巻鏌ュ嚭鏉ョ殑鏁版嵁锛岄�氳繃 id=pid 鑾峰彇浠栦滑鐨勫瓙鏁版嵁
-        for (IvrLibaScriptAssortVO ivrLibaScriptAssortVO : ivrLibaScriptAssortVOS) {
-//            if (ivrLibaScriptAssortVO.getPid() != null) {
-//                continue;
-//            }
-            IvrLibaScriptAssort ivrLibaTargetAssort1 = new IvrLibaScriptAssort();
-            ivrLibaTargetAssort1.setPid(ivrLibaScriptAssortVO.getId());
-            List<IvrLibaScriptAssort> ivrLibaScriptAssorts1 = ivrLibaScriptAssortMapper.selectIvrLibaScriptAssortList(ivrLibaTargetAssort1);
-            if (!Collections.isEmpty(ivrLibaScriptAssorts1)) {
-                ivrLibaScriptAssortVO.setIvrLibaScriptAssortList(ivrLibaScriptAssorts1);
+
+        List<IvrLibaScriptAssortVO> rootList = new ArrayList<>();
+        Map<Long, IvrLibaScriptAssortVO> categoryMap = new HashMap<>();
+
+        // 寤虹珛id->瀵硅薄鐨勬槧灏�
+        for (IvrLibaScriptAssortVO category : ivrLibaScriptAssortVOS) {
+            categoryMap.put(category.getId(), category);
+        }
+
+        for (IvrLibaScriptAssortVO category : ivrLibaScriptAssortVOS) {
+            if (category.getPid() == null || category.getPid() == -1) {
+                // 椤跺眰鑺傜偣
+                rootList.add(category);
+            } else {
+                // 鎵惧埌鐖惰妭鐐癸紝骞舵坊鍔犲埌鍏跺瓙鑺傜偣鍒楄〃
+                IvrLibaScriptAssortVO parent = categoryMap.get(category.getPid());
+                if (parent != null) {
+                    IvrLibaScriptAssort sc = DtoConversionUtils.sourceToTarget(category, IvrLibaScriptAssort.class);
+                    parent.getIvrLibaScriptAssortList().add(sc);
+                }
             }
         }
-        return ivrLibaScriptAssortVOS;
+        return rootList;
     }
 }

--
Gitblit v1.9.3