Browse Source

表的id单独处理,不管mask,都查出来返给前台

shiqian 4 years ago
parent
commit
0f5fbf3482

+ 2 - 0
boman-web-core/src/main/java/com/boman/web/core/service/TableServiceCmdService.java

@@ -224,6 +224,8 @@ public class TableServiceCmdService {
         checkColumn(showData, genTable.getColumns());
         // 需要返回到前台的列, 需要判断是否是列表展示, 4为判断列表是否可见
         showData = filterData(columns, 4, showData, MaskConstant.LIST_VISIBLE::equals);
+        // 表的id单独处理,不管mask,都查出来返给前台
+        IdUtils.putIfNotContains(showData, IdUtils.getPkName(columns));
 
         JSONObject rows = new JSONObject();
         int total = selectService.countByCondition(genTable.getTableName(), condition, packCondition);

+ 12 - 0
boman-web-core/src/main/java/com/boman/web/core/utils/IdUtils.java

@@ -1,5 +1,6 @@
 package com.boman.web.core.utils;
 
+import com.alibaba.fastjson.JSONArray;
 import com.boman.common.core.utils.SpringUtils;
 import com.boman.common.redis.RedisKey;
 import com.boman.common.redis.service.RedisService;
@@ -9,6 +10,7 @@ import org.apache.commons.collections.CollectionUtils;
 
 import java.util.List;
 
+import static com.boman.common.core.utils.obj.ObjectUtils.isEmpty;
 import static com.boman.common.core.utils.obj.ObjectUtils.requireNonNull;
 
 /**
@@ -54,4 +56,14 @@ public class IdUtils {
         throw new IllegalArgumentException("获取主键失败");
     }
 
+    public static void putIfNotContains(JSONArray jsonArray, String input) {
+        if (isEmpty(jsonArray)) {
+            jsonArray = new JSONArray();
+        }
+
+        if (!jsonArray.contains(input)) {
+            jsonArray.add(input);
+        }
+    }
+
 }