From 99c693af3da1391d00872f89ebd18fcc85278200 Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期一, 17 二月 2025 22:08:37 +0800
Subject: [PATCH] 归档支持自定义文件夹路径(多层级)

---
 src/main/java/com/product/face/entity/FaceListEntity.java |   96 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 92 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/product/face/entity/FaceListEntity.java b/src/main/java/com/product/face/entity/FaceListEntity.java
index 047830c..4040366 100644
--- a/src/main/java/com/product/face/entity/FaceListEntity.java
+++ b/src/main/java/com/product/face/entity/FaceListEntity.java
@@ -1,5 +1,6 @@
 package com.product.face.entity;
 
+import com.alibaba.fastjson.JSON;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.product.admin.config.CmnConst;
@@ -56,6 +57,31 @@
 	private String tableName;
 
 	/**
+	 * 鏄惁鏄剧ず鏍�
+	 */
+	private String treeShow;
+
+	/**
+	 * 鏍戞暟鎹簮绫诲瀷
+	 */
+	private String treeDataType;
+
+	/**
+	 * 鏁版嵁婧�
+	 */
+	private String treeDataSource;
+
+	/**
+	 * 鏍憀abel key
+	 */
+	private String treeLabelKey;
+
+	/**
+	 * 鏍憊alue key
+	 */
+	private String treeValueKey;
+
+	/**
 	 * 鑾峰彇琛ㄥ悕
 	 *
 	 * @return
@@ -81,8 +107,9 @@
 	 * @param columnWidth    鍒楀
 	 * @param sequence       鎺掑簭
 	 * @param fieldReference 鍙傜収
+	 * @param search        鏄惁鎼滅储
 	 */
-	public void addField(String fieldName, String faceUuid, String columnName, String columnWidth, Integer sequence, String fieldReference) {
+	public void addField(String fieldName, String faceUuid, String columnName, String columnWidth, Integer sequence, String fieldReference, boolean search) {
 		FaceField faceField = new FaceField();
 		faceField.setFieldName(fieldName);
 		faceField.setFieldUuid(faceUuid);
@@ -90,6 +117,7 @@
 		faceField.setColumnWidth(columnWidth);
 		faceField.setSequence(sequence);
 		faceField.setFieldReference(fieldReference);
+		faceField.setSearch(search);
 		if (this.faceFields == null) {
 			this.faceFields = Lists.newArrayList();
 		}
@@ -145,6 +173,50 @@
 
 	public void setFaceFields(List<FaceField> faceFields) {
 		this.faceFields = faceFields;
+	}
+
+	public void setTableName(String tableName) {
+		this.tableName = tableName;
+	}
+
+	public String getTreeShow() {
+		return treeShow;
+	}
+
+	public void setTreeShow(String treeShow) {
+		this.treeShow = treeShow;
+	}
+
+	public String getTreeDataType() {
+		return treeDataType;
+	}
+
+	public void setTreeDataType(String treeDataType) {
+		this.treeDataType = treeDataType;
+	}
+
+	public String getTreeDataSource() {
+		return treeDataSource;
+	}
+
+	public void setTreeDataSource(String treeDataSource) {
+		this.treeDataSource = treeDataSource;
+	}
+
+	public String getTreeLabelKey() {
+		return treeLabelKey;
+	}
+
+	public void setTreeLabelKey(String treeLabelKey) {
+		this.treeLabelKey = treeLabelKey;
+	}
+
+	public String getTreeValueKey() {
+		return treeValueKey;
+	}
+
+	public void setTreeValueKey(String treeValueKey) {
+		this.treeValueKey = treeValueKey;
 	}
 
 	/**
@@ -203,6 +275,9 @@
 		maps.put("filter", filters);
 		for (int i = 0; i < faceFields.size(); i++) {
 			FaceField faceField = faceFields.get(i);
+			if (!faceField.isSearch()) {
+				continue;
+			}
 			if (StringUtils.isEmpty(faceField.getFieldName()) || StringUtils.isEmpty(faceField.getFieldReference())) {
 				if (poolCache == null) {
 					poolCache = DataPoolCacheImpl.getInstance();
@@ -217,12 +292,15 @@
 			}
 			//瀛楁鍚嶇О
 			String fieldName = faceField.getFieldName();
+			if (!StringUtils.isEmpty(fieldName)) {
+				fieldName.trim();
+			}
 			if (aliasField != null && !StringUtils.isEmpty(fieldName)) {
 				List<String> fieldAlias = aliasField.get(getTableName() + "." + fieldName);
 				if (fieldAlias != null && fieldAlias.size() > 0) {
 					String alias = fieldAlias.get(0);
 					if (!StringUtils.isEmpty(alias)) {
-						fieldName = alias;
+						fieldName = alias.trim();
 					}
 				}
 			}
@@ -244,7 +322,7 @@
 					}
 					FieldSetEntity ff = prompt.getFieldSetEntity(0);
 					StringBuilder p = new StringBuilder();
-					p.append(getFieldName(tableAlias, fieldName)).append("` in ").append(" ( SELECT `").append(ff.getString("value_field")).append("` FROM ").append(ff.getString("source_table"));
+					p.append(getFieldName(tableAlias, fieldName)).append(" in ").append(" ( SELECT ").append(ff.getString("value_field")).append(" FROM ").append(ff.getString("source_table"));
 					p.append(" WHERE ").append(ff.getString("view_fields")).append(" like concat('%','~val~','%') )");
 					filters.add(p.toString());
 					continue;
@@ -258,7 +336,7 @@
 		//鑾峰彇redis 璧峰key
 		String faceListKey = SystemFaceService.FACE_LIST_KEY;
 		//閲嶆柊鏀惧叆redis
-		RedisUtil.set(faceListKey + getUuid(), this);
+		RedisUtil.set(faceListKey + getUuid(), JSON.parseObject(JSON.toJSONString(this), com.product.admin.entity.FaceListEntity.class));
 		return maps;
 	}
 
@@ -300,6 +378,8 @@
 		 * 瀛楁鍙傜収
 		 */
 		private String fieldReference;
+
+		private boolean search;
 
 		public String getFieldReference() {
 			return fieldReference;
@@ -349,6 +429,14 @@
 			this.sequence = sequence;
 		}
 
+		public boolean isSearch() {
+			return search;
+		}
+
+		public void setSearch(boolean search) {
+			this.search = search;
+		}
 	}
 
+
 }

--
Gitblit v1.9.2