Blame view

urbanops-module-infra/src/main/resources/codegen/java/dal/mapper_sub.vm 2.76 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
  #set ($subTable = $subTables.get($subIndex))##当前表
  #set ($subColumns = $subJoinColumnsList.get($subIndex))##当前字段数组
  #set ($subJoinColumn = $subJoinColumns.get($subIndex))##当前 join 字段
  #set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写
  package ${basePackage}.module.${subTable.moduleName}.dal.mysql.${subTable.businessName};
  
  import java.util.*;
  
  import ${PageResultClassName};
  import ${PageParamClassName};
  import ${QueryWrapperClassName};
  import ${BaseMapperClassName};
  import ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.businessName}.${subTable.className}DO;
  import org.apache.ibatis.annotations.Mapper;
  
  /**
   * ${subTable.classComment} Mapper
   *
   * @author ${subTable.author}
   */
  @Mapper
  public interface ${subTable.className}Mapper extends BaseMapperX<${subTable.className}DO> {
  
  ## 情况一:MASTER_ERP 时,需要分查询页子表
  #if ( $table.templateType == 11 )
      default PageResult<${subTable.className}DO> selectPage(PageParam reqVO, ${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
          return selectPage(reqVO, new LambdaQueryWrapperX<${subTable.className}DO>()
              .eq(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField})
              .orderByDesc(${subTable.className}DO::getId));## 大多数情况下,id 倒序
  
      }
  ## 主表与子表是一对一时 
      #if (!$subTable.subJoinMany)
          default ${subTable.className}DO selectBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
          return selectOne(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField});
          }
      #end
  
  ## 情况二:非 MASTER_ERP 时,需要列表查询子表
  #else
      #if ( $subTable.subJoinMany)
      default List<${subTable.className}DO> selectListBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
          return selectList(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField});
      }
  
      #else
      default ${subTable.className}DO selectBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
          return selectOne(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField});
      }
  
      #end
      #end
      default int deleteBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
          return delete(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField});
      }
  
  #if ( $table.templateType != 2 && $deleteBatchEnable)
  	default int deleteBy${SubJoinColumnName}s(List<${subJoinColumn.javaType}> ${subJoinColumn.javaField}s) {
  	    return deleteBatch(${subTable.className}DO::get${SubJoinColumnName}, ${subJoinColumn.javaField}s);
  	}
  #end
  
  }