From ad847473401730c14a5d667bd06afcb7d4575eb6 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 22 二月 2024 09:33:40 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/utils/Utils.java | 54 +++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 49 insertions(+), 5 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 0398a98..fca97c6 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,6 +2,7 @@
import com.zy.asrs.framework.common.Cools;
+import com.zy.asrs.wcs.common.constant.Constants;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
@@ -9,6 +10,7 @@
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Function;
+import java.util.function.Predicate;
/**
* Created by vincent on 2023/3/14
@@ -27,7 +29,8 @@
* @param <R> parentId鐨勭被鍨�
* @return List<T>
*/
- public static <T, R> List<T> toTreeData(List<T> data, R parentId,
+ 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) {
@@ -37,8 +40,49 @@
if (parentId.equals(dParentId)) {
R dId = idMapper.apply(d);
List<T> children = toTreeData(data, dId, parentIdMapper, idMapper, consumer);
- consumer.accept(d, children);
+ if(children.size() > 0) {
+ consumer.accept(d, children);
+ }
result.add(d);
+ }
+ }
+ return result;
+ }
+
+// public static <T> List<T> treeRemove(List<T> data, String condition,
+// Function<? super T, ? extends String> fetcher,
+// Function<T, List<T>> childrenGetter,
+// BiConsumer<T, List<T>> childrenSetter) {
+// List<T> result = new ArrayList<>();
+// for (T node : data) {
+// List<T> children = childrenGetter.apply(node);
+//
+// if (children != null && !children.isEmpty()) {
+// List<T> newChildren = treeRemove(children, condition, fetcher, childrenGetter, childrenSetter);
+// childrenSetter.accept(node, newChildren);
+// }
+//
+// if (fetcher.apply(node).contains(condition)) {
+// result.add(node);
+// }
+// }
+// return result;
+// }
+
+ public static <T> List<T> treeRemove(List<T> data, String condition,
+ Function<? super T, ? extends String> fetcher,
+ Function<T, List<T>> childrenGetter,
+ BiConsumer<T, List<T>> childrenSetter) {
+ List<T> result = new ArrayList<>();
+ Predicate<T> predicate = node -> fetcher.apply(node).contains(condition);
+ for (T node : data) {
+ List<T> children = childrenGetter.apply(node);
+ if (children != null && !children.isEmpty()) {
+ List<T> newChildren = treeRemove(children, condition, fetcher, childrenGetter, childrenSetter);
+ childrenSetter.accept(node, newChildren);
+ }
+ if (predicate.test(node)) {
+ result.add(node);
}
}
return result;
@@ -257,11 +301,11 @@
public static void cors(HttpServletResponse response){
// 璺ㄥ煙璁剧疆
+ response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Origin", "*");
- response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "*");
- response.setHeader("Access-Control-Allow-Headers", "Content-Type,Access-Token,Authorization");
- response.setHeader("Access-Control-Expose-Headers", "*");
+ response.setHeader("Access-Control-Allow-Headers", "*");
+ response.setHeader("Access-Control-Expose-Headers", Constants.TOKEN_HEADER_NAME);
}
}
--
Gitblit v1.9.1