From 78f297bfcf2f5c49fa11b8f99c2400241c02a934 Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期五, 02 六月 2023 10:19:12 +0800
Subject: [PATCH] 组织机构多类型用户解析

---
 src/main/java/com/product/face/util/FaceUtil.java |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/product/face/util/FaceUtil.java b/src/main/java/com/product/face/util/FaceUtil.java
index 8dafdd4..cae7d2e 100644
--- a/src/main/java/com/product/face/util/FaceUtil.java
+++ b/src/main/java/com/product/face/util/FaceUtil.java
@@ -23,7 +23,7 @@
 public class FaceUtil {
 
 
-	public static List<JSONObject> getFaceControlList(DataTableEntity faceControlDt) {
+	public static List<JSONObject> getFaceControlList(FieldSetEntity face, DataTableEntity faceControlDt) {
 		List<JSONObject> result = new ArrayList<>();
 		List<FieldSetEntity> data = faceControlDt.getData();
 		Map<String, List<FieldSetEntity>> collect = data.stream()
@@ -35,7 +35,24 @@
 				.collect(Collectors.groupingBy(item -> item.getString(FaceConst.FIELD_PARENT_UUID))); //鍒嗙粍
 		for (Map.Entry<String, List<FieldSetEntity>> entry : collect.entrySet()) {
 			List<FieldSetEntity> propertyList = entry.getValue();
-			result.add(getPropertyJson(propertyList, groupContainer));
+			JSONObject propertyJson = getPropertyJson(propertyList, groupContainer);
+			Boolean eventProperty = propertyJson.getBoolean("event_property");
+			if (eventProperty != null && eventProperty && propertyJson.get("event_array") != null) {
+				JSONArray eventArray = propertyJson.getJSONArray("event_array");
+				for (int i = 0; i < eventArray.size(); i++) {
+					String params = eventArray.getJSONObject(i).getString("params");
+					String[] paramsArray;
+					if (StringUtils.isEmpty(params)) {
+						paramsArray = new String[]{};
+					} else {
+						paramsArray = params.split(",");
+					}
+					eventArray.getJSONObject(i).put("params", paramsArray);
+				}
+				face.setValue("events", eventArray);
+				continue;
+			}
+			result.add(propertyJson);
 		}
 		result.sort(Comparator.comparing(item -> item.getInteger(FaceConst.CONTROL_SEQUENCE)));
 		return result;

--
Gitblit v1.9.2