feat: add table comment below table name in markdown file

This commit is contained in:
vran 2022-05-12 10:09:40 +08:00
parent 14a390e3d0
commit cd53a40eb0
1 changed files with 16 additions and 7 deletions

View File

@ -1,5 +1,6 @@
package com.databasir.core.domain.document.generator; package com.databasir.core.domain.document.generator;
import com.alibaba.excel.util.StringUtils;
import com.databasir.common.SystemException; import com.databasir.common.SystemException;
import com.databasir.core.domain.document.data.DatabaseDocumentResponse; import com.databasir.core.domain.document.data.DatabaseDocumentResponse;
import com.databasir.core.domain.document.data.DocumentTemplatePropertiesResponse; import com.databasir.core.domain.document.data.DocumentTemplatePropertiesResponse;
@ -61,7 +62,7 @@ public class MarkdownDocumentFileGenerator implements DocumentFileGenerator {
builder.primaryTitle(doc.getDatabaseName()); builder.primaryTitle(doc.getDatabaseName());
// overview // overview
overviewBuild(builder, doc); overviewBuild(builder, doc);
// tables // field map by table name
Map<String, String> columnTitleMap = properties.getColumnFieldNameProperties() Map<String, String> columnTitleMap = properties.getColumnFieldNameProperties()
.stream() .stream()
.collect(Collectors.toMap(d -> d.getKey(), .collect(Collectors.toMap(d -> d.getKey(),
@ -78,8 +79,13 @@ public class MarkdownDocumentFileGenerator implements DocumentFileGenerator {
.stream() .stream()
.collect(Collectors.toMap(d -> d.getKey(), .collect(Collectors.toMap(d -> d.getKey(),
d -> Objects.requireNonNullElse(d.getValue(), d.getDefaultValue()))); d -> Objects.requireNonNullElse(d.getValue(), d.getDefaultValue())));
// table document build
doc.getTables().forEach(table -> { doc.getTables().forEach(table -> {
builder.secondTitle(table.getName()); if (StringUtils.isNotBlank(table.getComment())) {
builder.secondTitle(table.getName() + " /\\*" + table.getComment() + "\\*/");
} else {
builder.secondTitle(table.getName());
}
columnBuild(builder, table, columnTitleMap); columnBuild(builder, table, columnTitleMap);
indexBuild(builder, table, indexTitleMap); indexBuild(builder, table, indexTitleMap);
foreignKeyBuild(builder, table, foreignKeyTitleMap); foreignKeyBuild(builder, table, foreignKeyTitleMap);
@ -210,11 +216,14 @@ public class MarkdownDocumentFileGenerator implements DocumentFileGenerator {
List<List<String>> triggerContent = new ArrayList<>(); List<List<String>> triggerContent = new ArrayList<>();
for (int i = 0; i < table.getTriggers().size(); i++) { for (int i = 0; i < table.getTriggers().size(); i++) {
var trigger = table.getTriggers().get(i); var trigger = table.getTriggers().get(i);
triggerContent.add(List.of((i + 1) + "", triggerContent.add(
trigger.getName(), List.of(
trigger.getTiming(), (i + 1) + "",
trigger.getManipulation(), Objects.requireNonNullElse(trigger.getName(), ""),
trigger.getStatement())); Objects.requireNonNullElse(trigger.getTiming(), ""),
Objects.requireNonNullElse(trigger.getManipulation(), ""),
Objects.requireNonNullElse(trigger.getStatement(), "")
));
} }
builder.thirdTitle("Triggers"); builder.thirdTitle("Triggers");
builder.table( builder.table(