From edfa49f201d3fc8fc6b51b700e91f80246660855 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 13 二月 2024 20:29:14 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java
index 9db68ff..1881c3b 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java
@@ -2,13 +2,49 @@
 
 
 import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.wcs.common.constant.Constants;
 
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Optional;
+import java.util.function.BiConsumer;
+import java.util.function.Function;
 
 /**
  * Created by vincent on 2023/3/14
  */
 public class Utils {
+
+    /**
+     * List杞负鏍戝舰缁撴瀯
+     *
+     * @param data           List
+     * @param parentId       椤剁骇鐨刾arentId
+     * @param parentIdMapper 鑾峰彇parentId鐨凢unction
+     * @param idMapper       鑾峰彇id鐨凢unction
+     * @param consumer       璧嬪�糲hildren鐨凜onsumer
+     * @param <T>            鏁版嵁鐨勭被鍨�
+     * @param <R>            parentId鐨勭被鍨�
+     * @return List<T>
+     */
+    public static <T, R> List<T> toTreeData(List<T> data,
+                                            R parentId,
+                                            Function<? super T, ? extends R> parentIdMapper,
+                                            Function<? super T, ? extends R> idMapper,
+                                            BiConsumer<T, List<T>> consumer) {
+        List<T> result = new ArrayList<>();
+        for (T d : data) {
+            R dParentId = parentIdMapper.apply(d);
+            if (parentId.equals(dParentId)) {
+                R dId = idMapper.apply(d);
+                List<T> children = toTreeData(data, dId, parentIdMapper, idMapper, consumer);
+                consumer.accept(d, children);
+                result.add(d);
+            }
+        }
+        return result;
+    }
 
     /**
      * 鏁扮粍鍊掑簭
@@ -221,4 +257,13 @@
         }
     }
 
+    public static void cors(HttpServletResponse response){
+        // 璺ㄥ煙璁剧疆
+        response.setHeader("Access-Control-Max-Age", "3600");
+        response.setHeader("Access-Control-Allow-Origin", "*");
+        response.setHeader("Access-Control-Allow-Methods", "*");
+        response.setHeader("Access-Control-Allow-Headers", "*");
+        response.setHeader("Access-Control-Expose-Headers", Constants.TOKEN_HEADER_NAME);
+    }
+
 }

--
Gitblit v1.9.1