package ${packageName}.vo.${moduleName}.${bizName};

<#if importPackages??>
    <#list importPackages as p>
import ${p};
    </#list>
</#if>
import java.io.Serializable;
import lombok.Data;

@Data
public class Create${className}Vo implements BaseVo, Serializable {

    private static final long serialVersionUID = 1L;

    <#list columns as column>
    /**
     * ${column.description}
     */
    <#if column.required>
    @ApiModelProperty(value = "${column.description}", required = true)
    <#else>
    @ApiModelProperty("${column.description}")
    </#if>
    <#if column.required>
    @${column.validateAnno}(message = "${column.validateMsg}${column.description}！")
    <#if column.fixEnum>
    @IsEnum(message = "${column.validateMsg}${column.description}！", enumClass = ${column.dataType}.class)
    </#if>
    </#if>
    <#if column.regularExpression??>
    @Pattern(regexp = "${column.regularExpression?replace("\\", "\\\\")}", message = "${column.description}格式有误！")
    </#if>
    <#if column.dataType != 'String'>
    @TypeMismatch(message = "${column.description}格式有误！")
    </#if>
    <#if column.isDecimalType>
      <#if (column.decimals??) && column.decimals gt 0>
    @IsNumberPrecision(message = "${column.description}最多允许${column.decimals}位小数！", value = ${column.decimals})
      </#if>
    <#else>
      <#if column.dataType == 'String' && (column.viewType == 0 || column.viewType == 1)>
        <#if (column.len??) && column.len gt 0>
    @Length(message = "${column.description}最多允许${column.len}个字符！")
        </#if>
      </#if>
    </#if>
    private <#if column.fixEnum>${column.enumCodeType}<#else>${column.dataType}</#if> ${column.name};

    </#list>
}
