From 49e4f9270706cbf1a4bc20f539d4a9d37e4c563f Mon Sep 17 00:00:00 2001 From: wangbing <1919101440@qq.com> Date: Sat, 20 Jul 2019 21:13:08 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81Enum=20=E6=94=B9=20Dict?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dbtool/javafx/JavaFxApplication.java | 8 ++- .../javafx/ctrl/OptionApiController.java | 2 +- .../wbsite/dbtool/javafx/enums/FieldType.java | 12 ++-- .../manger/callable/SpringBootCallable.java | 56 ++++--------------- .../xyz/wbsite/dbtool/javafx/po/Field.java | 4 +- .../dbtool/javafx/po/MySqlDBmapper.java | 2 +- .../dbtool/javafx/po/OracleDBmapper.java | 2 +- .../java/frame/validation/Dict.java | 18 ++++++ .../java/frame/validation/DictValidator.java | 36 ++++++++++++ .../SpringBoot/java/module/ent/entity.ftl | 24 +------- .../SpringBoot/java/module/enums/Type.ftl | 13 ----- .../java/module/req/createRequestClass.ftl | 52 ++++++----------- .../java/module/req/deleteRequestClass.ftl | 16 ------ .../java/module/req/findRequestClass.ftl | 27 +-------- .../java/module/req/updateRequestClass.ftl | 46 +++++---------- 15 files changed, 121 insertions(+), 197 deletions(-) create mode 100644 src/main/resources/modules/SpringBoot/java/frame/validation/Dict.java create mode 100644 src/main/resources/modules/SpringBoot/java/frame/validation/DictValidator.java delete mode 100644 src/main/resources/modules/SpringBoot/java/module/enums/Type.ftl diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/JavaFxApplication.java b/src/main/java/xyz/wbsite/dbtool/javafx/JavaFxApplication.java index 1e25e71b..c0324833 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/JavaFxApplication.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/JavaFxApplication.java @@ -911,7 +911,13 @@ public class JavaFxApplication extends Application { public void handle(TableColumn.CellEditEvent event) { int row = event.getTablePosition().getRow(); Field field = currentTable.getFields().get(row); - field.setFieldType((FieldType) event.getNewValue()); + + FieldType oldFieldType = field.getFieldType(); + + FieldType newValue = (FieldType) event.getNewValue(); + field.setFieldLength(newValue.getDefaultLength()); + field.setFieldType(newValue); + feilds.refresh(); } }); return choiceBoxTableCell; diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionApiController.java b/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionApiController.java index 2212f8b3..afaaae57 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionApiController.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/ctrl/OptionApiController.java @@ -282,7 +282,7 @@ public class OptionApiController { for (String s : api.getDepEnum()) { File en = new File(moduleFile.getAbsolutePath() + File.separator + "enums" + File.separator + s + ".java"); if (!en.exists()) { - api.setError("依赖的" + s + "(Enum)不存在、"); + api.setError("依赖的" + s + "(Dict)不存在、"); api.setCheck(false); } } diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/enums/FieldType.java b/src/main/java/xyz/wbsite/dbtool/javafx/enums/FieldType.java index d9ba7925..30035c17 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/enums/FieldType.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/enums/FieldType.java @@ -2,7 +2,7 @@ package xyz.wbsite.dbtool.javafx.enums; public enum FieldType { Boolean(0), - Enum(0), + Dict(0), Byte(0), Bytes(0), Short(0), @@ -97,8 +97,8 @@ public enum FieldType { public String toString() { if (Boolean.name().equals(this.name())) { return "Boolean"; - } else if (Enum.name().equals(this.name())) { - return "Enum"; + } else if (Dict.name().equals(this.name())) { + return "Dict"; } else if (Byte.name().equals(this.name())) { return "Byte"; } else if (Short.name().equals(this.name())) { @@ -147,8 +147,8 @@ public enum FieldType { public String javaType() { if (Boolean.name().equals(this.name())) { return "Boolean"; - } else if (Enum.name().equals(this.name())) { - return "Enum"; + } else if (Dict.name().equals(this.name())) { + return "String"; } else if (Byte.name().equals(this.name())) { return "Byte"; } else if (Short.name().equals(this.name())) { @@ -221,7 +221,7 @@ public enum FieldType { return "CHAR"; } else if (String_10.name().equals(this.name())) { return "CHAR"; - } else if (Enum.name().equals(this.name())) { + } else if (Dict.name().equals(this.name())) { return "VARCHAR"; } else if (String_var.name().equals(this.name())) { return "VARCHAR"; diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java b/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java index 6be2c48b..5b21e4d5 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/manger/callable/SpringBootCallable.java @@ -60,7 +60,7 @@ public class SpringBootCallable implements Callable { if (!src.exists()) { src.mkdirs(); } - File moduleDir = new File(src,"module"); + File moduleDir = new File(src, "module"); if (!moduleDir.exists()) { moduleDir.mkdirs(); } @@ -115,8 +115,6 @@ public class SpringBootCallable implements Callable { System.out.println("生成模块:Entity"); generateEntity(new File(api.getAbsolutePath(), "ent"), module, dataBase, option); - System.out.println("生成模块:Enums"); - generateEnums(new File(api.getAbsolutePath(), "enums"), module, dataBase, option); System.out.println("生成模块:Mapper"); generateMapper(new File(api.getAbsolutePath(), "mpr"), module, dataBase, option); System.out.println("生成模块:Manager"); @@ -136,8 +134,6 @@ public class SpringBootCallable implements Callable { System.out.println("生成模块:Entity"); generateEntity(new File(modulePath.getAbsolutePath(), "ent"), module, dataBase, option); - System.out.println("生成模块:Enums"); - generateEnums(new File(modulePath.getAbsolutePath(), "enums"), module, dataBase, option); System.out.println("生成模块:Mapper"); generateMapper(new File(modulePath.getAbsolutePath(), "mpr"), module, dataBase, option); System.out.println("生成模块:Manager"); @@ -274,42 +270,6 @@ public class SpringBootCallable implements Callable { } } - /** - * 生成Enums - * - * @param root - * @param md - */ - public void generateEnums(File root, Module md, DataBase dataBase, String option) { - if (!root.exists()) { - root.mkdirs(); - } else { - Tool.clear(root); - } - - HashMap ctx = new HashMap(); - ctx.put("tool", Tool.class); - ctx.put("basePackage", md.getProjectBasePackage()); - ctx.put("moduleName", md.getModuleName()); - ctx.put("author", md.getProjectAuthor()); - ctx.put("date", new Date()); - -// { -// ctx.put("Type", "Type"); -// ctx.put("FieldComment", "Type"); -// freeMarkerManager.outputTemp(new File(root.getAbsolutePath(), "Type.java"), option + "/java/enums/Type.ftl", ctx); -// } - for (Table table : md.getTables()) { - for (Field field : table.getFields()) { - if ("Enum".equals(field.getFieldType().javaType())) { - ctx.put("Type", field.getCName()); - ctx.put("FieldComment", field.getFieldComment()); - freeMarkerManager.outputTemp(new File(root.getAbsolutePath(), field.getCName() + ".java"), option + "/java/module/enums/Type.ftl", ctx); - } - } - } - } - /** * 生成Mapper * @@ -508,6 +468,8 @@ public class SpringBootCallable implements Callable { freemarker.mkdirs(); File utils = new File(root.getAbsolutePath(), "utils"); utils.mkdirs(); + File validation = new File(root.getAbsolutePath(), "validation"); + validation.mkdirs(); //base freeMarkerManager.outputTemp(new File(base.getAbsolutePath(), "BaseEntity.java"), option + "/java/frame/base/BaseEntity.java", ctx); @@ -545,6 +507,10 @@ public class SpringBootCallable implements Callable { freeMarkerManager.outputTemp(new File(utils.getAbsolutePath(), "LocalData.java"), option + "/java/frame/utils/LocalData.java", ctx); freeMarkerManager.outputTemp(new File(utils.getAbsolutePath(), "IDgenerator.java"), option + "/java/frame/utils/IDgenerator.java", ctx); freeMarkerManager.outputTemp(new File(utils.getAbsolutePath(), "Message.java"), option + "/java/frame/utils/Message.java", ctx); + + //validation + freeMarkerManager.outputTemp(new File(validation.getAbsolutePath(), "Dict.java"), option + "/java/frame/validation/Dict.java", ctx); + freeMarkerManager.outputTemp(new File(validation.getAbsolutePath(), "DictValidator.java"), option + "/java/frame/validation/DictValidator.java", ctx); } /** @@ -588,9 +554,11 @@ public class SpringBootCallable implements Callable { Tool.outputResource(option + "/resources/banner.txt", new File(root.getAbsolutePath(), "banner.txt")); Tool.outputResource(option + "/resources/logback-config.xml", new File(root.getAbsolutePath(), "logback-config.xml")); - File lib = new File(root.getAbsolutePath(), "lib"); - lib.mkdirs(); - Tool.outputResource(option + "/resources/lib/ojdbc7-12.1.0.2.jar", new File(lib.getAbsolutePath(), "ojdbc7-12.1.0.2.jar")); + if (DataBase.ORACLE == dataBase) { + File lib = new File(root.getAbsolutePath(), "lib"); + lib.mkdirs(); + Tool.outputResource(option + "/resources/lib/ojdbc7-12.1.0.2.jar", new File(lib.getAbsolutePath(), "ojdbc7-12.1.0.2.jar")); + } File dbtool = new File(root.getAbsolutePath(), "dbtool"); dbtool.mkdirs(); diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/po/Field.java b/src/main/java/xyz/wbsite/dbtool/javafx/po/Field.java index de5e029b..82f766e4 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/po/Field.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/po/Field.java @@ -112,9 +112,11 @@ public class Field extends Table { } else if (fieldType.name().matches("Boolean")) { value = "true"; + } else if (fieldType.name().matches("Dict")) { + value = "\"code\""; } else if (fieldType.name().matches("Byte|Short|Integer")) { value = "1"; - } else if (fieldType.name().matches("Bytes|Enum")) { + } else if (fieldType.name().matches("Bytes")) { value = "null"; } else if (fieldType.name().matches("Long")) { value = "1L"; diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/po/MySqlDBmapper.java b/src/main/java/xyz/wbsite/dbtool/javafx/po/MySqlDBmapper.java index dcc3afe4..76149d2f 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/po/MySqlDBmapper.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/po/MySqlDBmapper.java @@ -63,7 +63,7 @@ public class MySqlDBmapper extends AbstractDBmapper { if (FieldType.Boolean.name().equals(type.name())) { sb.append("TINYINT(1)"); - } else if (FieldType.Enum.name().equals(type.name())) { + } else if (FieldType.Dict.name().equals(type.name())) { sb.append("VARCHAR(50)"); } else if (FieldType.Byte.name().equals(type.name())) { sb.append("TINYINT(3)"); diff --git a/src/main/java/xyz/wbsite/dbtool/javafx/po/OracleDBmapper.java b/src/main/java/xyz/wbsite/dbtool/javafx/po/OracleDBmapper.java index 79f78434..c35daf31 100644 --- a/src/main/java/xyz/wbsite/dbtool/javafx/po/OracleDBmapper.java +++ b/src/main/java/xyz/wbsite/dbtool/javafx/po/OracleDBmapper.java @@ -14,7 +14,7 @@ public class OracleDBmapper extends AbstractDBmapper { if (FieldType.Boolean.name().equals(type.name())) { sb.append("CHAR(1)"); - } else if (FieldType.Enum.name().equals(type.name())) { + } else if (FieldType.Dict.name().equals(type.name())) { sb.append("VARCHAR(50)"); } else if (FieldType.Byte.name().equals(type.name())) { sb.append("NUMBER(3)"); diff --git a/src/main/resources/modules/SpringBoot/java/frame/validation/Dict.java b/src/main/resources/modules/SpringBoot/java/frame/validation/Dict.java new file mode 100644 index 00000000..2f11df22 --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/frame/validation/Dict.java @@ -0,0 +1,18 @@ +package ${basePackage}.frame.validation; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.*; + +@Target({ElementType.FIELD}) +@Retention(RetentionPolicy.RUNTIME) +@Constraint(validatedBy = DictValidator.class) +public @interface Dict { + String message() default "字典项错误"; + + String name() default ""; + + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/src/main/resources/modules/SpringBoot/java/frame/validation/DictValidator.java b/src/main/resources/modules/SpringBoot/java/frame/validation/DictValidator.java new file mode 100644 index 00000000..a91f8f3c --- /dev/null +++ b/src/main/resources/modules/SpringBoot/java/frame/validation/DictValidator.java @@ -0,0 +1,36 @@ +package ${basePackage}.frame.validation; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.util.HashSet; + +public class DictValidator implements ConstraintValidator { + + private String name; + + @Override + public void initialize(Dict constraint) { + name = constraint.name(); + } + + @Override + public boolean isValid(String o, ConstraintValidatorContext constraintValidatorContext) { + if (null == o) { + return true; + } else if (name == null) { + constraintValidatorContext.disableDefaultConstraintViolation(); + constraintValidatorContext.buildConstraintViolationWithTemplate("字典名称为空").addConstraintViolation(); + return false; + } else { + // name 字典名称 + HashSet codeSet = new HashSet<>(); + if (codeSet.contains(o)) { + return true; + } else { + constraintValidatorContext.disableDefaultConstraintViolation(); + constraintValidatorContext.buildConstraintViolationWithTemplate("非法的字典[" + name + "]值").addConstraintViolation(); + return false; + } + } + } +} diff --git a/src/main/resources/modules/SpringBoot/java/module/ent/entity.ftl b/src/main/resources/modules/SpringBoot/java/module/ent/entity.ftl index c0d6abec..5862b0a1 100644 --- a/src/main/resources/modules/SpringBoot/java/module/ent/entity.ftl +++ b/src/main/resources/modules/SpringBoot/java/module/ent/entity.ftl @@ -3,11 +3,6 @@ package ${basePackage}.module.${moduleName}.ent; <#if table.has('Date')> import java.util.Date; -<#list table.fields as field> -<#if field.fieldType.javaType() == "Enum"> -import ${basePackage}.module.${moduleName}.enums.${field.getCName()}; - - import ${basePackage}.frame.base.BaseEntity; /** @@ -20,13 +15,7 @@ import ${basePackage}.frame.base.BaseEntity; public class ${table.getCName()} extends BaseEntity { <#list table.fields as field> -<#if field.fieldType.javaType() == "Enum"> - /** - * ${field.fieldName} - ${field.fieldComment?default("")} - */ - private ${field.getCName()} ${field.getFName()}; - -<#elseif !field.isSystem || field.fieldName == 'ID'> +<#if !field.isSystem || field.fieldName == 'ID'> /** * ${field.fieldName} - ${field.fieldComment?default("")} */ @@ -34,16 +23,7 @@ public class ${table.getCName()} extends BaseEntity { <#list table.fields as field> -<#if field.fieldType.javaType() == "Enum"> - - public ${field.getCName()} ${field.getterName()}() { - return this.${field.getFName()}; - } - - public void ${field.setterName()}(${field.getCName()} ${field.getFName()}) { - this.${field.getFName()} = ${field.getFName()}; - } -<#elseif !field.isSystem || field.fieldName == 'ID' > +<#if !field.isSystem || field.fieldName == 'ID' > public ${field.fieldType.javaType()} ${field.getterName()}() { return this.${field.getFName()}; diff --git a/src/main/resources/modules/SpringBoot/java/module/enums/Type.ftl b/src/main/resources/modules/SpringBoot/java/module/enums/Type.ftl deleted file mode 100644 index 9a643848..00000000 --- a/src/main/resources/modules/SpringBoot/java/module/enums/Type.ftl +++ /dev/null @@ -1,13 +0,0 @@ -package ${basePackage}.module.${moduleName}.enums; - - -/** - * ${Type} - ${FieldComment} - * - * @author ${author?default("")} - * @version 0.0.1 - * @since ${date?string("yyyy-MM-dd")} - */ -public enum ${Type} { - -} diff --git a/src/main/resources/modules/SpringBoot/java/module/req/createRequestClass.ftl b/src/main/resources/modules/SpringBoot/java/module/req/createRequestClass.ftl index a78171ab..59ff72c8 100644 --- a/src/main/resources/modules/SpringBoot/java/module/req/createRequestClass.ftl +++ b/src/main/resources/modules/SpringBoot/java/module/req/createRequestClass.ftl @@ -1,17 +1,15 @@ package ${basePackage}.module.${moduleName}.req; import ${basePackage}.frame.base.BaseRequest; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.NotEmpty; +import org.hibernate.validator.constraints.Length; <#if table.has('Date')> import java.util.Date; -<#list table.fields as field> -<#if field.fieldType.javaType() == "Enum"> -import ${basePackage}.module.${moduleName}.enums.${field.getCName()}; +<#if table.has('Dict')> +import ${basePackage}.frame.validation.Dict; - -import javax.validation.constraints.NotNull; -import javax.validation.constraints.NotEmpty; -import org.hibernate.validator.constraints.Length; /** * ${table.getCName()}CreateRequest - ${table.tableComment}新增 @@ -21,44 +19,29 @@ import org.hibernate.validator.constraints.Length; * @since ${date?string("yyyy-MM-dd")} */ public class ${table.getCName()}CreateRequest extends BaseRequest { - <#list table.fields as field> <#if !field.isSystem> + /** * ${field.fieldComment?default("")} */ -<#if field.fieldType?contains("String")> -<#if field.fieldType != 'String_super'> - @Length(min = 0, max = ${field.fieldLength}, message = "${field.fieldComment?default("")}长度不合法(0-${field.fieldLength})") - -<#if field.isMust> - @NotEmpty(message = "${field.fieldComment?default("")}不能为空") - -<#else> -<#if field.isMust> + <#if field.isMust && !field.fieldType?contains("String")> @NotNull(message = "${field.fieldComment?default("")}不能为NULL") - - -<#if field.fieldType.javaType() == "Enum"> - private ${field.getCName()} ${field.getFName()}; -<#else > + + <#if field.isMust && field.fieldType?contains("String_")> + @NotEmpty(message = "${field.fieldComment?default("")}不能为空") + + <#if field.fieldType?contains("String_") && field.fieldType != 'String_super'> + @Length(min = 0, max = ${field.fieldLength}, message = "${field.fieldComment?default("")}长度不合法(0-${field.fieldLength})") + + <#if field.fieldType?contains("Dict")> + @Dict(name = "${field.getFName()}") + private ${field.fieldType.javaType()} ${field.getFName()}; - - <#list table.fields as field> <#if !field.isSystem> -<#if field.fieldType.javaType() == "Enum"> - - public ${field.getCName()} ${field.getterName()}() { - return this.${field.getFName()}; - } - - public void ${field.setterName()}(${field.getCName()} ${field.getFName()}) { - this.${field.getFName()} = ${field.getFName()}; - } -<#else> public ${field.fieldType.javaType()} ${field.getterName()}() { return this.${field.getFName()}; @@ -68,6 +51,5 @@ public class ${table.getCName()}CreateRequest extends BaseRequest { this.${field.getFName()} = ${field.getFName()}; } - } diff --git a/src/main/resources/modules/SpringBoot/java/module/req/deleteRequestClass.ftl b/src/main/resources/modules/SpringBoot/java/module/req/deleteRequestClass.ftl index 1c0dfe9b..6375614f 100644 --- a/src/main/resources/modules/SpringBoot/java/module/req/deleteRequestClass.ftl +++ b/src/main/resources/modules/SpringBoot/java/module/req/deleteRequestClass.ftl @@ -32,25 +32,10 @@ public class ${table.getCName()}DeleteRequest extends BaseUpdateRequest { /** * ${field.fieldComment?default("")} */ - <#if field.fieldType.javaType() == "Enum"> - private ${field.getCName()} ${field.getFName()}; - <#else > private ${field.fieldType.javaType()} ${field.getFName()}; - <#list table.fields as field> <#if !field.isSystem> - <#if field.fieldType.javaType() == "Enum"> - - public ${field.getCName()} ${field.getterName()}() { - return this.${field.getFName()}; - } - - public void ${field.setterName()}(${field.getCName()} ${field.getFName()}) { - this.${field.getFName()} = ${field.getFName()}; - } - <#else> - public ${field.fieldType.javaType()} ${field.getterName()}() { return this.${field.getFName()}; } @@ -59,7 +44,6 @@ public class ${table.getCName()}DeleteRequest extends BaseUpdateRequest { this.${field.getFName()} = ${field.getFName()}; } - } diff --git a/src/main/resources/modules/SpringBoot/java/module/req/findRequestClass.ftl b/src/main/resources/modules/SpringBoot/java/module/req/findRequestClass.ftl index 05d6a537..32ae838d 100644 --- a/src/main/resources/modules/SpringBoot/java/module/req/findRequestClass.ftl +++ b/src/main/resources/modules/SpringBoot/java/module/req/findRequestClass.ftl @@ -4,11 +4,9 @@ import ${basePackage}.frame.base.BaseFindRequest; <#if table.has('Date')> import java.util.Date; -<#list table.fields as field> -<#if field.fieldType.javaType() == "Enum"> -import ${basePackage}.module.${moduleName}.enums.${field.getCName()}; +<#if table.has('Dict')> +import ${basePackage}.frame.validation.Dict; - /** * ${table.getCName()}Request - ${table.tableComment}查询 @@ -18,35 +16,17 @@ import ${basePackage}.module.${moduleName}.enums.${field.getCName()}; * @since ${date?string("yyyy-MM-dd")} */ public class ${table.getCName()}FindRequest extends BaseFindRequest { - <#list table.fields as field> <#if field.isQuery> -<#if field.fieldType.javaType() == "Enum"> - /** - * ${field.fieldComment?default("")} - */ - private ${field.getCName()} ${field.getFName()}; -<#else> + /** * ${field.fieldComment?default("")} */ private ${field.fieldType.javaType()} ${field.getFName()}; - - <#list table.fields as field> <#if field.isQuery> -<#if field.fieldType.javaType() == "Enum"> - - public ${field.getCName()} ${field.getterName()}() { - return this.${field.getFName()}; - } - - public void ${field.setterName()}(${field.getCName()} ${field.getFName()}) { - this.${field.getFName()} = ${field.getFName()}; - } -<#else> public ${field.fieldType.javaType()} ${field.getterName()}() { return this.${field.getFName()}; @@ -56,6 +36,5 @@ public class ${table.getCName()}FindRequest extends BaseFindRequest { this.${field.getFName()} = ${field.getFName()}; } - } diff --git a/src/main/resources/modules/SpringBoot/java/module/req/updateRequestClass.ftl b/src/main/resources/modules/SpringBoot/java/module/req/updateRequestClass.ftl index 922e8383..a17f58e5 100644 --- a/src/main/resources/modules/SpringBoot/java/module/req/updateRequestClass.ftl +++ b/src/main/resources/modules/SpringBoot/java/module/req/updateRequestClass.ftl @@ -7,11 +7,9 @@ import javax.validation.constraints.NotEmpty; <#if table.has('Date')> import java.util.Date; -<#list table.fields as field> -<#if field.fieldType.javaType() == "Enum"> -import ${basePackage}.module.${moduleName}.enums.${field.getCName()}; +<#if table.has('Dict')> +import ${basePackage}.frame.validation.Dict; - /** * ${table.getCName()}UpdateRequest - ${table.tableComment}更新 @@ -21,44 +19,29 @@ import ${basePackage}.module.${moduleName}.enums.${field.getCName()}; * @since ${date?string("yyyy-MM-dd")} */ public class ${table.getCName()}UpdateRequest extends BaseUpdateRequest { - <#list table.fields as field> <#if !field.isSystem || field.fieldName == 'ID'> + /** * ${field.fieldComment?default("")} */ -<#if field.fieldType.javaType() == "String"> -<#if field.fieldType != 'String_super'> - @Length(min = 0, max = ${field.fieldLength}, message = "${field.fieldComment?default("")}长度不合法(0-${field.fieldLength})") - -<#if field.isMust> - @NotEmpty(message = "${field.fieldComment?default("")}不能为空") - -<#else> -<#if field.isMust> + <#if field.isMust && !field.fieldType?contains("String")> @NotNull(message = "${field.fieldComment?default("")}不能为NULL") - - -<#if field.fieldType.javaType() == "Enum"> - private ${field.getCName()} ${field.getFName()}; -<#else > + + <#if field.isMust && field.fieldType?contains("String_")> + @NotEmpty(message = "${field.fieldComment?default("")}不能为空") + + <#if field.fieldType?contains("String_") && field.fieldType != 'String_super'> + @Length(min = 0, max = ${field.fieldLength}, message = "${field.fieldComment?default("")}长度不合法(0-${field.fieldLength})") + + <#if field.fieldType?contains("Dict")> + @Dict(name = "${field.getFName()}") + private ${field.fieldType.javaType()} ${field.getFName()}; - - <#list table.fields as field> <#if !field.isSystem || field.fieldName == 'ID'> -<#if field.fieldType.javaType() == "Enum"> - - public ${field.getCName()} ${field.getterName()}() { - return this.${field.getFName()}; - } - - public void ${field.setterName()}(${field.getCName()} ${field.getFName()}) { - this.${field.getFName()} = ${field.getFName()}; - } -<#else> public ${field.fieldType.javaType()} ${field.getterName()}() { return this.${field.getFName()}; @@ -68,6 +51,5 @@ public class ${table.getCName()}UpdateRequest extends BaseUpdateRequest { this.${field.getFName()} = ${field.getFName()}; } - }