From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 01 八月 2025 13:27:59 +0800
Subject: [PATCH] yys 密码已重置

---
 cnas-require/src/main/java/com/ruoyi/require/service/impl/SuppliersDirectoryContentsServiceImpl.java |   76 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/SuppliersDirectoryContentsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/SuppliersDirectoryContentsServiceImpl.java
new file mode 100644
index 0000000..8e7a7f1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/SuppliersDirectoryContentsServiceImpl.java
@@ -0,0 +1,76 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.SuppliersDirectoryContentsMapper;
+import com.ruoyi.require.pojo.SuppliersDirectoryContents;
+import com.ruoyi.require.service.SuppliersDirectoryContentsService;
+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;
+
+/**
+ * <p>
+ * 鏈嶅姟鍜屼緵搴斿搧閲囪喘鐩綍 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author
+ * @since 2024-12-17 06:14:51
+ */
+@Service
+public class SuppliersDirectoryContentsServiceImpl extends ServiceImpl<SuppliersDirectoryContentsMapper, SuppliersDirectoryContents> implements SuppliersDirectoryContentsService {
+
+    @Override
+    public ArrayList<SuppliersDirectoryContents> directoryListing() {
+        ArrayList<SuppliersDirectoryContents> list = new ArrayList<>();
+        // 鏌ュ嚭涓�绾х洰褰�
+        List<SuppliersDirectoryContents> firstLevel = baseMapper.selectList(new LambdaQueryWrapper<SuppliersDirectoryContents>()
+                .isNull(SuppliersDirectoryContents::getParentId));
+
+        // 鏌ュ嚭鍚湁鐖惰妭鐐圭殑 骞堕�氳繃鐖惰妭鐐瑰垎缁�
+        List<SuppliersDirectoryContents> seconds = baseMapper.selectList(new LambdaQueryWrapper<SuppliersDirectoryContents>()
+                .isNotNull(SuppliersDirectoryContents::getParentId));
+        if(firstLevel.size() > 0){
+            Map<Integer, List<SuppliersDirectoryContents>> collect = seconds.stream()
+                    .collect(Collectors.groupingBy(SuppliersDirectoryContents::getParentId));
+            // 鏍规嵁鍒嗙粍鐨刱ey 璧嬪�煎搴旂殑children
+            for (int i = 0; i < firstLevel.size(); i++) {
+                recursion(firstLevel.get(i),collect);
+                list.add(firstLevel.get(i));
+            }
+        }
+        return list;
+    }
+
+    @Override
+    public List<Map<String, Object>> getSuppliersDirectoryContentsNodeNames() {
+        List<SuppliersDirectoryContents> procurementSuppliesContents = baseMapper.selectList(null);
+        List<Map<String, Object>> collect = new ArrayList<>();
+        if(procurementSuppliesContents.size() > 0) {
+            collect = procurementSuppliesContents.stream().map(item -> {
+                HashMap<String, Object> map = new HashMap<>();
+                map.put("id", item.getId());
+                map.put("nodeName", item.getNodeName());
+                return map;
+            }).collect(Collectors.toList());
+        }
+        return collect;
+    }
+
+
+    public SuppliersDirectoryContents recursion(SuppliersDirectoryContents firstLevel, Map<Integer, List<SuppliersDirectoryContents>> collect) {
+        // 灏嗙埗鑺傜偣鐨刢hildren璧嬪��
+        if(collect.containsKey(firstLevel.getId())) {
+            List<SuppliersDirectoryContents> procurementSupplies = collect.get(firstLevel.getId());
+            firstLevel.setChildren(procurementSupplies);
+            for (int i = 0; i < procurementSupplies.size(); i++) {
+                recursion(procurementSupplies.get(i),collect);
+            }
+        }
+        return firstLevel;
+    }
+}

--
Gitblit v1.9.3