From ccf62a24b7f0136c79c9c75bd05644583b14b744 Mon Sep 17 00:00:00 2001 From: Fuuqiu Date: Thu, 22 Apr 2021 11:25:59 +0800 Subject: [PATCH] add swagger-yml.ftl --- .../system/generator/entity/FieldInfo.java | 1 + .../system/generator/util/TableParseUtil.java | 21 +++++++++++++++++-- .../src/main/resources/template.json | 5 +++++ .../code-generator/util/swagger-yml.ftl | 12 +++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 generator-web/src/main/resources/templates/code-generator/util/swagger-yml.ftl diff --git a/generator-web/src/main/java/com/softdev/system/generator/entity/FieldInfo.java b/generator-web/src/main/java/com/softdev/system/generator/entity/FieldInfo.java index 43ec70a..df9bb3f 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/entity/FieldInfo.java +++ b/generator-web/src/main/java/com/softdev/system/generator/entity/FieldInfo.java @@ -13,6 +13,7 @@ public class FieldInfo { private String columnName; private String fieldName; private String fieldClass; + private String swaggerClass; private String fieldComment; } diff --git a/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java b/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java index 97793e5..2d3f10e 100644 --- a/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java +++ b/generator-web/src/main/java/com/softdev/system/generator/util/TableParseUtil.java @@ -189,9 +189,24 @@ public class TableParseUtil { } else { fieldName = columnName; } - - // field class columnLine = columnLine.substring(columnLine.indexOf("`") + 1).trim(); + + //swagger class + String swaggerClass = "string" ; + if (columnLine.contains(" tinyint")) { + swaggerClass = "integer"; + } else if (columnLine.contains(" int") || columnLine.contains(" smallint")) { + swaggerClass = "integer"; + } else if (columnLine.contains(" bigint")) { + swaggerClass = "integer"; + } else if (columnLine.contains(" float")) { + swaggerClass = "number"; + } else if (columnLine.contains(" double")) { + swaggerClass = "number"; + } else if (columnLine.contains(" boolean")) { + swaggerClass = "boolean"; + } + // field class // int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', String fieldClass = Object.class.getSimpleName(); //2018-9-16 zhengk 补充char/clob/blob/json等类型,如果类型未知,默认为String @@ -287,9 +302,11 @@ public class TableParseUtil { } FieldInfo fieldInfo = new FieldInfo(); + // fieldInfo.setColumnName(columnName); fieldInfo.setFieldName(fieldName); fieldInfo.setFieldClass(fieldClass); + fieldInfo.setSwaggerClass(swaggerClass); fieldInfo.setFieldComment(fieldComment); fieldList.add(fieldInfo); diff --git a/generator-web/src/main/resources/template.json b/generator-web/src/main/resources/template.json index e95dad1..f3068e5 100644 --- a/generator-web/src/main/resources/template.json +++ b/generator-web/src/main/resources/template.json @@ -167,6 +167,11 @@ "id": "73", "name": "sql", "description": "sql" + }, + { + "id": "74", + "name": "swagger-yml", + "description": "swagger-yml" } ] } diff --git a/generator-web/src/main/resources/templates/code-generator/util/swagger-yml.ftl b/generator-web/src/main/resources/templates/code-generator/util/swagger-yml.ftl new file mode 100644 index 0000000..ce22aaa --- /dev/null +++ b/generator-web/src/main/resources/templates/code-generator/util/swagger-yml.ftl @@ -0,0 +1,12 @@ + +<#if classInfo.fieldList?exists && classInfo.fieldList?size gt 0> +${classInfo.className}: + type: "object" + properties: +<#list classInfo.fieldList as fieldItem > + ${fieldItem.fieldName}: + type: ${fieldItem.swaggerClass} + description: <#if isComment?exists && isComment==true>"${fieldItem.fieldComment}" + + +