1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo;
- import io.swagger.v3.oas.annotations.media.Schema;
- import lombok.*;
- import java.util.*;
- import jakarta.validation.constraints.*;
- ## 处理 BigDecimal 字段的引入
- import java.util.*;
- #foreach ($column in $columns)
- #if (${column.javaType} == "BigDecimal")
- import java.math.BigDecimal;
- #break
- #end
- #end
- ## 处理 LocalDateTime 字段的引入
- #foreach ($column in $columns)
- #if ((${column.createOperation} || ${column.updateOperation}) && ${column.javaType} == "LocalDateTime")
- import org.springframework.format.annotation.DateTimeFormat;
- import java.time.LocalDateTime;
- #break
- #end
- #end
- ## 特殊:主子表专属逻辑
- #foreach ($subTable in $subTables)
- import ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.businessName}.${subTable.className}DO;
- #end
- @Schema(description = "${sceneEnum.name} - ${table.classComment}新增/修改 Request VO")
- @Data
- public class ${sceneEnum.prefixClass}${table.className}SaveReqVO {
- ## 逐个处理字段
- #foreach ($column in $columns)
- #if (${column.createOperation} || ${column.updateOperation})
- ## 1. 处理 Swagger 注解
- @Schema(description = "${column.columnComment}"#if (!${column.nullable}), requiredMode = Schema.RequiredMode.REQUIRED#end#if ("$!column.example" != ""), example = "${column.example}"#end)
- ## 2. 处理 Validator 参数校验
- #if (!${column.nullable} && !${column.primaryKey})
- #if (${column.javaType} == 'String')
- @NotEmpty(message = "${column.columnComment}不能为空")
- #else
- @NotNull(message = "${column.columnComment}不能为空")
- #end
- #end
- ## 3. 处理字段定义
- private ${column.javaType} ${column.javaField};
- #end
- #end
- ## 特殊:主子表专属逻辑(非 ERP 模式)
- #if ( $subTables && $subTables.size() > 0 && $table.templateType != 11 )
- #foreach ($subTable in $subTables)
- #set ($index = $foreach.count - 1)
- #if ( $subTable.subJoinMany)
- @Schema(description = "${subTable.classComment}列表")
- private List<${subTable.className}DO> ${subClassNameVars.get($index)}s;
- #else
- @Schema(description = "${subTable.classComment}")
- private ${subTable.className}DO ${subClassNameVars.get($index)};
- #end
- #end
- #end
- }
|