Prechádzať zdrojové kódy

getTableByTableName传下拉框子节点值

shiqian 4 rokov pred
rodič
commit
f5efc03316

+ 8 - 0
boman-common/boman-common-core/src/main/java/com/boman/common/core/utils/obj/ObjectUtils.java

@@ -141,6 +141,14 @@ public class ObjectUtils {
         return !isEmpty(input);
     }
 
+    public static boolean isEmpty(String input) {
+        return input == null || input.isEmpty() || NULL.equalsIgnoreCase(input) || UNDEFINED.equalsIgnoreCase(input);
+    }
+
+    public static boolean isNotEmpty(String input) {
+        return !isEmpty(input);
+    }
+
     public static JSONArray requireNonNull(JSONArray input, String... errorMsg) {
         if (input == null || input.isEmpty()) {
             throw new IllegalArgumentException(errorMsg[0]);

+ 14 - 0
boman-modules/boman-gen/src/main/java/com/boman/gen/domain/GenTableColumn.java

@@ -4,6 +4,9 @@ import javax.validation.constraints.NotBlank;
 
 import com.boman.common.core.utils.StringUtils;
 import com.boman.common.core.web.domain.BaseEntity;
+import com.boman.system.domain.SysDictData;
+
+import java.util.List;
 
 /**
  * 代码生成业务字段表 gen_table_column
@@ -80,6 +83,9 @@ public class GenTableColumn extends BaseEntity
     /** 排序 */
     private Integer sort;
 
+    /** 如果是下拉框,单选,复选框 对应的子节点的值 */
+    private List<SysDictData> sysDictData;
+
     public String getForeignKey() {
         return foreignKey;
     }
@@ -390,4 +396,12 @@ public class GenTableColumn extends BaseEntity
             return this.columnComment;
         }
     }
+
+    public List<SysDictData> getSysDictData() {
+        return sysDictData;
+    }
+
+    public void setSysDictData(List<SysDictData> sysDictData) {
+        this.sysDictData = sysDictData;
+    }
 }

+ 20 - 0
boman-modules/boman-system/src/main/java/com/boman/system/common/FormDataConstant.java

@@ -1,5 +1,9 @@
 package com.boman.system.common;
 
+import com.google.common.collect.Lists;
+
+import java.util.List;
+
 /**
  * @author shiqian
  * @date 2021年03月26日 09:47
@@ -104,5 +108,21 @@ public class FormDataConstant {
     public static final String STATUS = "status";
 
 
+    /**  单选框 */
+    public static final String RADIO = "radio";
+
+
+    /**  复选框 */
+    public static final String CHECKBOX = "checkbox";
+
+
+    /**  下拉框 */
+    public static final String SELECT = "select";
+
+
+    /**  需要查字典表的框框 */
+    public static final List<String> NEED_QUERY_DICT_LIST = Lists.newArrayList(RADIO, CHECKBOX, SELECT);
+
+
 
 }

+ 13 - 6
boman-modules/boman-system/src/main/java/com/boman/system/common/TableServiceCmdService.java

@@ -3,7 +3,6 @@ package com.boman.system.common;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
-import com.boman.common.core.utils.SecurityUtils;
 import com.boman.common.core.utils.collection.CollectionUtils;
 import com.boman.common.core.utils.obj.ObjectUtils;
 import com.boman.common.core.web.domain.AjaxResult;
@@ -12,18 +11,17 @@ import com.boman.common.redis.service.RedisService;
 import com.boman.gen.controller.MyController;
 import com.boman.gen.domain.GenTable;
 import com.boman.gen.domain.GenTableColumn;
+import com.boman.system.domain.SysDictData;
 import com.boman.system.mapper.StandardlyMapper;
 import com.boman.system.service.*;
 import com.boman.system.utils.IdUtils;
 import com.google.common.collect.Lists;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpMethod;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 
 import javax.annotation.Resource;
-import java.net.URI;
 import java.sql.Timestamp;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -31,8 +29,6 @@ import java.util.stream.Collectors;
 import static com.boman.common.core.utils.obj.ObjectUtils.*;
 import static com.boman.system.common.FormDataConstant.CONDITION;
 import static com.boman.system.common.FormDataConstant.SHOW_DATA;
-import static com.boman.common.core.utils.obj.ObjectUtils.*;
-import static com.boman.system.common.FormDataConstant.*;
 
 /**
  * @author shiqian
@@ -56,6 +52,8 @@ public class TableServiceCmdService {
     private IBaseUpdateService updateService;
     @Resource
     private  RestTemplate restTemplate;
+    @Resource
+    private  ISysDictTypeService dictTypeService;
 
     private static final Logger LOGGER = LoggerFactory.getLogger(TableServiceCmdService.class);
 
@@ -429,7 +427,7 @@ public class TableServiceCmdService {
     // todo redis中未找到,要去查数据库,然后再塞进去
     private GenTable getTableFromRedisByTableName(String redisKeyPrefix, String tableName) {
         GenTable genTable = redisService.getCacheObject(redisKeyPrefix + requireNonNull(tableName));
-        return requireNonNull(genTable);
+        return requireNonNull(genTable, "未找到表对应的信息");
     }
 
     /**
@@ -445,6 +443,15 @@ public class TableServiceCmdService {
     public AjaxResult getByTableName(BaseTableSaveDTO condition) {
 //        requiredNonNull(condition.getTable(), "表名为空");
         GenTable genTable = getTableFromRedisByTableName(RedisKey.TABLE_INFO, condition.getTable());
+        List<GenTableColumn> columns = genTable.getColumns();
+        for (GenTableColumn column : columns) {
+            String dictType = column.getDictType();
+            if (ObjectUtils.isNotEmpty(dictType)) {
+                List<SysDictData> sysDictData = dictTypeService.selectDictDataByType(dictType);
+                column.setSysDictData(sysDictData);
+            }
+        }
+
         return AjaxResult.success(genTable);
     }
 }