From 782695f3ed653fa647920799885168ac86bd4f7d Mon Sep 17 00:00:00 2001
From: 许鹏程 <1821349743@qq.com>
Date: 星期三, 24 五月 2023 14:53:53 +0800
Subject: [PATCH] 适配表单设计器,表单缓存

---
 src/main/java/com/product/face/service/FaceApplyService.java |   73 +++++++++++-------------------------
 1 files changed, 22 insertions(+), 51 deletions(-)

diff --git a/src/main/java/com/product/face/service/FaceApplyService.java b/src/main/java/com/product/face/service/FaceApplyService.java
index 689c4a8..53392e5 100644
--- a/src/main/java/com/product/face/service/FaceApplyService.java
+++ b/src/main/java/com/product/face/service/FaceApplyService.java
@@ -1,17 +1,25 @@
 package com.product.face.service;
 
+import cn.hutool.core.map.MapBuilder;
+import cn.hutool.core.map.MapUtil;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.google.common.collect.Lists;
 import com.product.admin.service.SystemFaceService;
 import com.product.common.lang.StringUtils;
+import com.product.core.cache.util.RedisUtil;
 import com.product.core.entity.DataTableEntity;
 import com.product.core.entity.FieldSetEntity;
 import com.product.core.exception.BaseException;
 import com.product.core.service.support.AbstractBaseService;
 import com.product.face.config.ErrorCode;
 import com.product.face.config.FaceConst;
+import com.product.face.entity.FaceEntity;
+import com.product.face.entity.FaceListEntity;
 import com.product.face.entity.TableColumn;
+import com.product.face.util.FaceUtil;
 import com.product.util.BaseUtil;
 import org.springframework.stereotype.Service;
 
@@ -19,7 +27,6 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * @Author cheng
@@ -33,9 +40,13 @@
 	private SystemFaceService systemFaceService;
 
 	@Resource
-	private FaceDesignService designService;
+	private FaceCacheService faceCacheService;
 
-
+	/**
+	 * 鑾峰彇琛ㄥ崟閰嶇疆
+	 * @param fse
+	 * @return
+	 */
 	public Object getFaceListConf(FieldSetEntity fse) {
 		String faceUuid = fse.getString(FaceConst.FIELD_FACE_UUID);
 		String faceNumber = fse.getString(FaceConst.FIELD_FACE_NUMBER);
@@ -46,41 +57,11 @@
 		if (!StringUtils.isEmpty(faceUuid) && StringUtils.isEmpty(faceNumber)) {
 			return systemFaceService.getFaceFieldList(faceUuid);
 		}
-		//鏍规嵁琛ㄥ崟鍙锋煡璇�
-		FieldSetEntity faceConf = getBaseDao().getFieldSetByFilter(FaceConst.TABLE_FACE_CONFIG, "face_number=?", new Object[]{faceNumber}, true);
-		DataTableEntity fieldPropertyDt = faceConf.getSubDataTable(FaceConst.TABLE_FACE_FIELD_CONTROL_PROPERTY);
-		if (DataTableEntity.isEmpty(fieldPropertyDt)) {
-			throw new BaseException(ErrorCode.GET_FACE_CONFIG_FAIL);
+		FaceListEntity faceListCache = faceCacheService.getFaceListCache(faceNumber);
+		if (faceListCache == null) {
+			throw new BaseException(ErrorCode.GET_FACE_CONF_FAIL);
 		}
-		List<JSONObject> faceControlList = designService.getFaceControlList(fieldPropertyDt);
-		JSONObject jsonObject = faceControlList.get(0);
-		if (jsonObject == null || jsonObject.isEmpty()) {
-			throw new BaseException(ErrorCode.GET_FACE_CONFIG_FAIL);
-		}
-		//琛ㄦ牸鍒�
-		JSONArray tableColumns = jsonObject.getJSONObject(FaceConst.FIELD_PROPERTY_CONFIG).getJSONArray(FaceConst.CHILDREN);
-		if (tableColumns == null || tableColumns.isEmpty()) {
-			throw new BaseException(ErrorCode.GET_FACE_CONFIG_FAIL);
-		}
-		List<TableColumn> result = Lists.newArrayList();
-		for (int i = 0; i < tableColumns.size(); i++) {
-			TableColumn tableColumn = new TableColumn();
-			JSONObject columnJson = tableColumns.getJSONObject(i);
-			String fieldName = columnJson.getString(FaceConst.FIELD_PROPERTY_VMODEL);
-			if (StringUtils.isEmpty(fieldName)) {
-				continue;
-			}
-			JSONObject config = columnJson.getJSONObject(FaceConst.FIELD_PROPERTY_CONFIG);
-			Object setWidth = config.get("setWidth");
-			if (!StringUtils.isEmpty(setWidth)) {
-				tableColumn.setColumnWidth(setWidth + "%");
-			}
-			tableColumn.setField(fieldName);
-			tableColumn.setTitle(config.getString(FaceConst.FIELD_PROPERTY_LABEL));
-			result.add(tableColumn);
-		}
-
-		return result;
+		return faceListCache;
 	}
 
 	/**
@@ -91,21 +72,11 @@
 	 * @throws BaseException
 	 */
 	public String getFaceFormConfig(FieldSetEntity fse) throws BaseException {
-		String faceNumber = fse.getString(FaceConst.FIELD_FACE_NUMBER);
-		if (StringUtils.isEmpty(faceNumber)) {
-			throw new BaseException(ErrorCode.REQUEST_PARAM_ERROR);
+		FaceEntity faceFormCache = faceCacheService.getFaceFormCache(fse.getString(FaceConst.FIELD_FACE_NUMBER));
+		if (faceFormCache == null) {
+			throw new BaseException(ErrorCode.GET_FACE_CONF_FAIL);
 		}
-		//鏍规嵁琛ㄥ崟鍙锋煡璇�
-		FieldSetEntity faceConf = getBaseDao().getFieldSetByFilter(FaceConst.TABLE_FACE_CONFIG, "face_number=?", new Object[]{faceNumber}, true);
-		DataTableEntity fieldPropertyDt = faceConf.getSubDataTable(FaceConst.TABLE_FACE_FIELD_CONTROL_PROPERTY);
-		if (DataTableEntity.isEmpty(fieldPropertyDt)) {
-			throw new BaseException(ErrorCode.GET_FACE_CONFIG_FAIL);
-		}
-		List<JSONObject> faceControlList = designService.getFaceControlList(fieldPropertyDt);
-		Map<String, Object> other = new HashMap<>();
-		other.put("drawingList", faceControlList);
-		faceConf.getSubData().clear();
-		return BaseUtil.success(faceConf, other);
+		return BaseUtil.success(faceFormCache.getData(), MapUtil.builder("drawingList", (Object) faceFormCache.getDrawingList()).map());
 	}
 
 }

--
Gitblit v1.9.2