Blame view

urbanops-module-infra/src/main/resources/codegen/java/dal/do_sub.vm 2.17 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
65
66
67
68
69
  #set ($subTable = $subTables.get($subIndex))##当前表
  #set ($subColumns = $subColumnsList.get($subIndex))##当前字段数组
  package ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.businessName};
  
  import lombok.*;
  import java.util.*;
  #foreach ($column in $subColumns)
  #if (${column.javaType} == "BigDecimal")
  import java.math.BigDecimal;
  #end
  #if (${column.javaType} == "LocalDateTime")
  import java.time.LocalDateTime;
  #end
  #end
  import com.baomidou.mybatisplus.annotation.*;
  import ${BaseDOClassName};
  ## 处理 Schema 注解(仅 DO 模式)
  #if ($voType == 20)
  import io.swagger.v3.oas.annotations.media.Schema;
  #foreach ($column in $columns)
      #if ("$!column.dictType" != "")## 有设置数据字典
          import ${DictFormatClassName};
          import ${DictConvertClassName};
          #break
      #end
  #end
  #end
  
  /**
   * ${subTable.classComment} DO
   *
   * @author ${subTable.author}
   */
  @TableName("${subTable.tableName.toLowerCase()}")
  @KeySequence("${subTable.tableName.toLowerCase()}_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
  @Data
  @EqualsAndHashCode(callSuper = true)
  @ToString(callSuper = true)
  @Builder
  @NoArgsConstructor
  @AllArgsConstructor
  ## 处理 Schema 注解(仅 DO 模式)
  #if ($voType == 20)
  @Schema(description = "${sceneEnum.name} - ${table.classComment} Response VO")
  #end
  public class ${subTable.className}DO extends BaseDO {
  
  #foreach ($column in $subColumns)
  #if (!${baseDOFields.contains(${column.javaField})})##排除 BaseDO 的字段
      /**
       * ${column.columnComment}
      #if ("$!column.dictType" != "")##处理枚举值
       *
       * 枚举 {@link TODO ${column.dictType} 对应的类}
      #end
       */
      #if (${column.primaryKey})##处理主键
      @TableId#if (${column.javaType} == 'String')(type = IdType.INPUT)#end
      #end
  #if ($voType == 20)
  ## 1. 处理 Swagger 注解
      @Schema(description = "${column.columnComment}"#if (!${column.nullable}), requiredMode = Schema.RequiredMode.REQUIRED#end#if ("$!column.example" != ""), example = "${column.example}"#end)
  #end
  ## 2. 处理字段定义
      private ${column.javaType} ${column.javaField};
  #end
  #end
  
  }