Переглянути джерело

修复代码生成导入的异常

YunaiV 3 роки тому
батько
коміт
62f7d34952

+ 2 - 2
yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImpl.java

@@ -82,7 +82,7 @@ public class CodegenServiceImpl implements CodegenService {
         table.setAuthor(userApi.getUser(userId).getNickname());
         codegenTableMapper.insert(table);
         // 构建 CodegenColumnDO 数组,插入到 DB 中
-        List<CodegenColumnDO> columns = codegenBuilder.buildColumns(schemaColumns);
+        List<CodegenColumnDO> columns = codegenBuilder.buildColumns(table.getId(), schemaColumns);
         codegenColumnMapper.insertBatch(columns);
         return table.getId();
     }
@@ -196,7 +196,7 @@ public class CodegenServiceImpl implements CodegenService {
         }
 
         // 插入新增的字段
-        List<CodegenColumnDO> columns = codegenBuilder.buildColumns(schemaColumns);
+        List<CodegenColumnDO> columns = codegenBuilder.buildColumns(tableId, schemaColumns);
         codegenColumnMapper.insertBatch(columns);
         // 删除不存在的字段
         if (CollUtil.isNotEmpty(deleteColumnIds)) {

+ 5 - 2
yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenBuilder.java

@@ -133,9 +133,12 @@ public class CodegenBuilder {
         table.setTemplateType(CodegenTemplateTypeEnum.CRUD.getType());
     }
 
-    public List<CodegenColumnDO> buildColumns(List<SchemaColumnDO> schemaColumns) {
+    public List<CodegenColumnDO> buildColumns(Long tableId, List<SchemaColumnDO> schemaColumns) {
         List<CodegenColumnDO> columns = CodegenConvert.INSTANCE.convertList(schemaColumns);
-        columns.forEach(this::initColumnDefault);
+        for (CodegenColumnDO column : columns) {
+            column.setTableId(tableId);
+            initColumnDefault(column);
+        }
         return columns;
     }