疯狂的狮子li
2021-07-13 15c45eae11ee9d8b819e6e690ad521b230a88a5d
fix 修复代码生成同步表结构id冲突问题
已修改1个文件
17 ■■■■■ 文件已修改
ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
@@ -35,10 +35,7 @@
import java.io.File;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
@@ -183,10 +180,14 @@
                if (row > 0) {
                    // 保存列信息
                    List<GenTableColumn> genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
                    List<GenTableColumn> saveColumns = new ArrayList<>();
                    for (GenTableColumn column : genTableColumns) {
                        GenUtils.initColumnField(column, table);
                        saveColumns.add(column);
                    }
                    genTableColumnMapper.insertAll(genTableColumns);
                    if (CollUtil.isNotEmpty(saveColumns)) {
                        genTableColumnMapper.insertAll(saveColumns);
                    }
                }
            }
        } catch (Exception e) {
@@ -290,12 +291,16 @@
        }
        List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
        List<GenTableColumn> saveColumns = new ArrayList<>();
        dbTableColumns.forEach(column -> {
            if (!tableColumnNames.contains(column.getColumnName())) {
                GenUtils.initColumnField(column, table);
                saveColumns.add(column);
            }
        });
        genTableColumnMapper.insertAll(tableColumns);
        if (CollUtil.isNotEmpty(saveColumns)) {
            genTableColumnMapper.insertAll(saveColumns);
        }
        List<GenTableColumn> delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList());
        if (CollUtil.isNotEmpty(delColumns)) {