疯狂的狮子Li
2024-07-23 84f553a911a1812a494cbac73ac0fc22d067fdb1
ruoyi-modules/ruoyi-generator/src/main/java/org/dromara/generator/service/GenTableServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
@@ -124,8 +125,12 @@
        Integer pageNum = pageQuery.getPageNum();
        Integer pageSize = pageQuery.getPageSize();
        LinkedHashMap<String, Table<?>> tablesMap = ServiceProxy.metadata().tables();
        if (CollUtil.isEmpty(tablesMap)) {
            return TableDataInfo.build();
        }
        // 过滤并转换表格数据
        List<GenTable> tables = ServiceProxy.metadata().tables().values().stream()
        List<GenTable> tables = tablesMap.values().stream()
            .filter(x -> {
                boolean nameMatches = true;
                boolean commentMatches = true;
@@ -167,9 +172,18 @@
    @Override
    public List<GenTable> selectDbTableListByNames(String[] tableNames, String dataName) {
        Set<String> tableNameSet = new HashSet<>(List.of(tableNames));
        List<Table> tableList = ServiceProxy.metadata().tables().values().stream()
        LinkedHashMap<String, Table<?>> tablesMap = ServiceProxy.metadata().tables();
        if (CollUtil.isEmpty(tablesMap)) {
            return new ArrayList<>();
        }
        List<Table<?>> tableList = tablesMap.values().stream()
            .filter(x -> tableNameSet.contains(x.getName())).toList();
        if (ArrayUtil.isEmpty(tableList)) {
            return new ArrayList<>();
        }
        return tableList.stream().map(x -> {
            GenTable gen = new GenTable();
            gen.setDataName(dataName);
@@ -265,7 +279,11 @@
     */
    @DS("#dataName")
    private List<GenTableColumn> selectDbTableColumnsByName(String tableName, String dataName) {
        LinkedHashMap<String, Column> columns = ServiceProxy.service().metadata().table(tableName).getColumns();
        Table<?> table = ServiceProxy.metadata().table(tableName);
        if (Objects.isNull(table)) {
            return new ArrayList<>();
        }
        LinkedHashMap<String, Column> columns = table.getColumns();
        List<GenTableColumn> tableColumns = new ArrayList<>();
        columns.forEach((columnName, column) -> {
            GenTableColumn tableColumn = new GenTableColumn();
@@ -274,8 +292,8 @@
            tableColumn.setColumnComment(column.getComment());
            tableColumn.setColumnType(column.getTypeName().toLowerCase());
            tableColumn.setSort(column.getPosition());
//            tableColumn.setIsRequired();
//            tableColumn.setIsIncrement();
            tableColumn.setIsRequired(column.isNullable() == 0 ? "1" : "0");
            tableColumn.setIsIncrement(column.isAutoIncrement() == -1 ? "0" : "1");
            tableColumns.add(tableColumn);
        });
        return tableColumns;