Blame view

urbanops-module-infra/src/main/resources/codegen/java/controller/vo/saveReqVO.vm 2.2 KB
2f252ffd   王彪总   feat(pay): 实现支付宝支...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
  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 ${jakartaPackage}.validation.constraints.*;
  ## 处理 BigDecimal 字段的引入
  #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
  }