|
|
@@ -7,6 +7,7 @@ import java.io.StringWriter;
|
|
7
|
7
|
import java.util.LinkedHashMap;
|
|
8
|
8
|
import java.util.List;
|
|
9
|
9
|
import java.util.Map;
|
|
|
10
|
+import java.util.function.Function;
|
|
10
|
11
|
import java.util.stream.Collectors;
|
|
11
|
12
|
import java.util.zip.ZipEntry;
|
|
12
|
13
|
import java.util.zip.ZipOutputStream;
|
|
|
@@ -286,7 +287,7 @@ public class GenTableServiceImpl implements IGenTableService
|
|
286
|
287
|
{
|
|
287
|
288
|
GenTable table = genTableMapper.selectGenTableByName(tableName);
|
|
288
|
289
|
List<GenTableColumn> tableColumns = table.getColumns();
|
|
289
|
|
- List<String> tableColumnNames = tableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
|
|
|
290
|
+ Map<String, GenTableColumn> tableColumnMap = tableColumns.stream().collect(Collectors.toMap(GenTableColumn::getColumnName, Function.identity()));
|
|
290
|
291
|
|
|
291
|
292
|
List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
|
|
292
|
293
|
if (StringUtils.isEmpty(dbTableColumns))
|
|
|
@@ -296,9 +297,17 @@ public class GenTableServiceImpl implements IGenTableService
|
|
296
|
297
|
List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
|
|
297
|
298
|
|
|
298
|
299
|
dbTableColumns.forEach(column -> {
|
|
299
|
|
- if (!tableColumnNames.contains(column.getColumnName()))
|
|
|
300
|
+ GenUtils.initColumnField(column, table);
|
|
|
301
|
+ if (tableColumnMap.containsKey(column.getColumnName()))
|
|
300
|
302
|
{
|
|
301
|
|
- GenUtils.initColumnField(column, table);
|
|
|
303
|
+ GenTableColumn prevColumn = tableColumnMap.get(column.getColumnName());
|
|
|
304
|
+ column.setColumnId(prevColumn.getColumnId());
|
|
|
305
|
+ if (column.isList()) {
|
|
|
306
|
+ // 如果是列表,继续保留字典类型
|
|
|
307
|
+ column.setDictType(prevColumn.getDictType());
|
|
|
308
|
+ }
|
|
|
309
|
+ genTableColumnMapper.updateGenTableColumn(column);
|
|
|
310
|
+ } else {
|
|
302
|
311
|
genTableColumnMapper.insertGenTableColumn(column);
|
|
303
|
312
|
}
|
|
304
|
313
|
});
|