@ -7,6 +7,7 @@ import java.io.StringWriter;
@@ -7,6 +7,7 @@ import java.io.StringWriter;
import java.util.LinkedHashMap ;
import java.util.List ;
import java.util.Map ;
import java.util.function.Function ;
import java.util.stream.Collectors ;
import java.util.zip.ZipEntry ;
import java.util.zip.ZipOutputStream ;
@ -286,7 +287,7 @@ public class GenTableServiceImpl implements IGenTableService
@@ -286,7 +287,7 @@ public class GenTableServiceImpl implements IGenTableService
{
GenTable table = genTableMapper . selectGenTableByName ( tableName ) ;
List < GenTableColumn > tableColumns = table . getColumns ( ) ;
List < String > tableColumnNames = tableColumns . stream ( ) . map ( GenTableColumn : : getColumnName ) . collect ( Collectors . toList ( ) ) ;
Map < String , GenTableColumn > tableColumnMap = tableColumns . stream ( ) . collect ( Collectors . toMap ( GenTableColumn : : getColumnName , Function . identity ( ) ) ) ;
List < GenTableColumn > dbTableColumns = genTableColumnMapper . selectDbTableColumnsByName ( tableName ) ;
if ( StringUtils . isEmpty ( dbTableColumns ) )
@ -296,9 +297,20 @@ public class GenTableServiceImpl implements IGenTableService
@@ -296,9 +297,20 @@ public class GenTableServiceImpl implements IGenTableService
List < String > dbTableColumnNames = dbTableColumns . stream ( ) . map ( GenTableColumn : : getColumnName ) . collect ( Collectors . toList ( ) ) ;
dbTableColumns . forEach ( column - > {
if ( ! tableColumnNames . contains ( column . getColumnName ( ) ) )
GenUtils . initColumnField ( column , table ) ;
if ( tableColumnMap . containsKey ( column . getColumnName ( ) ) )
{
GenTableColumn prevColumn = tableColumnMap . get ( column . getColumnName ( ) ) ;
column . setColumnId ( prevColumn . getColumnId ( ) ) ;
if ( column . isList ( ) )
{
// 如果是列表,继续保留字典类型
column . setDictType ( prevColumn . getDictType ( ) ) ;
}
genTableColumnMapper . updateGenTableColumn ( column ) ;
}
else
{
GenUtils . initColumnField ( column , table ) ;
genTableColumnMapper . insertGenTableColumn ( column ) ;
}
} ) ;
@ -359,7 +371,7 @@ public class GenTableServiceImpl implements IGenTableService
@@ -359,7 +371,7 @@ public class GenTableServiceImpl implements IGenTableService
zip . putNextEntry ( new ZipEntry ( VelocityUtils . getFileName ( template , table ) ) ) ;
IOUtils . write ( sw . toString ( ) , zip , Constants . UTF8 ) ;
IOUtils . closeQuietly ( sw ) ;
zip . flush ( ) ;
zip . flush ( ) ;
zip . closeEntry ( ) ;
}
catch ( IOException e )