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/service/FaceDesignService.java | 9 ++++++++-
src/main/java/com/product/face/util/FaceUtil.java | 17 ++++++++++++++---
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/product/face/service/FaceDesignService.java b/src/main/java/com/product/face/service/FaceDesignService.java
index 5cc1b4d..1f89e1b 100644
--- a/src/main/java/com/product/face/service/FaceDesignService.java
+++ b/src/main/java/com/product/face/service/FaceDesignService.java
@@ -48,7 +48,7 @@
if (DataTableEntity.isEmpty(fieldPropertyDt)) {
throw new BaseException(ErrorCode.GET_FACE_CONFIG_FAIL);
}
- List<JSONObject> result = FaceUtil.getFaceControlList(fse,fieldPropertyDt);
+ List<JSONObject> result = FaceUtil.getFaceControlList(fse, fieldPropertyDt);
Map<String, Object> other = new HashMap<>();
other.put("drawingList", result);
fse.getSubData().clear();
@@ -72,6 +72,13 @@
}
List<FieldSetEntity> fieldSetEntityList = new ArrayList<>();
for (int i = 0; i < fields.getRows(); i++) {
+ if (fields.getBoolean(i, "event_property")) {
+ DataTableEntity subDataTable = fields.getFieldSetEntity(i).getSubDataTable("event_array");
+ if(DataTableEntity.isEmpty(subDataTable)){
+ continue;
+ }
+ fields.setFieldValue(i, "event_array", BaseUtil.dataTableEntityToJson(subDataTable));
+ }
fieldSetEntityList.addAll(controlTraverse(new JSONObject((Map) fields.getFieldSetEntity(i).getValues()), null, i));
}
fse.removeSubData(FaceConst.FACE_FIELD);
diff --git a/src/main/java/com/product/face/util/FaceUtil.java b/src/main/java/com/product/face/util/FaceUtil.java
index 0dd235a..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(FieldSetEntity face,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()
@@ -37,8 +37,19 @@
List<FieldSetEntity> propertyList = entry.getValue();
JSONObject propertyJson = getPropertyJson(propertyList, groupContainer);
Boolean eventProperty = propertyJson.getBoolean("event_property");
- if(eventProperty!=null && eventProperty){
- face.setValue("events",propertyJson.get("events"));
+ 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);
--
Gitblit v1.9.2