service.vm 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package ${basePackage}.module.${table.moduleName}.service.${table.businessName};
  2. import java.util.*;
  3. import jakarta.validation.*;
  4. import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*;
  5. import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
  6. ## 特殊:主子表专属逻辑
  7. #foreach ($subTable in $subTables)
  8. import ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.businessName}.${subTable.className}DO;
  9. #end
  10. import ${PageResultClassName};
  11. import ${PageParamClassName};
  12. /**
  13. * ${table.classComment} Service 接口
  14. *
  15. * @author ${table.author}
  16. */
  17. public interface ${table.className}Service {
  18. /**
  19. * 创建${table.classComment}
  20. *
  21. * @param createReqVO 创建信息
  22. * @return 编号
  23. */
  24. ${primaryColumn.javaType} create${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}SaveReqVO createReqVO);
  25. /**
  26. * 更新${table.classComment}
  27. *
  28. * @param updateReqVO 更新信息
  29. */
  30. void update${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}SaveReqVO updateReqVO);
  31. /**
  32. * 删除${table.classComment}
  33. *
  34. * @param id 编号
  35. */
  36. void delete${simpleClassName}(${primaryColumn.javaType} id);
  37. /**
  38. * 获得${table.classComment}
  39. *
  40. * @param id 编号
  41. * @return ${table.classComment}
  42. */
  43. ${table.className}DO get${simpleClassName}(${primaryColumn.javaType} id);
  44. ## 特殊:树表专属逻辑(树不需要分页接口)
  45. #if ( $table.templateType != 2 )
  46. /**
  47. * 获得${table.classComment}分页
  48. *
  49. * @param pageReqVO 分页查询
  50. * @return ${table.classComment}分页
  51. */
  52. PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO);
  53. #else
  54. /**
  55. * 获得${table.classComment}列表
  56. *
  57. * @param listReqVO 查询条件
  58. * @return ${table.classComment}列表
  59. */
  60. List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ListReqVO listReqVO);
  61. #end
  62. ## 特殊:主子表专属逻辑
  63. #foreach ($subTable in $subTables)
  64. #set ($index = $foreach.count - 1)
  65. #set ($subSimpleClassName = $subSimpleClassNames.get($index))
  66. #set ($subPrimaryColumn = $subPrimaryColumns.get($index))##当前 primary 字段
  67. #set ($subJoinColumn = $subJoinColumns.get($index))##当前 join 字段
  68. #set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写
  69. #set ($subClassNameVar = $subClassNameVars.get($index))
  70. // ==================== 子表($subTable.classComment) ====================
  71. ## 情况一:MASTER_ERP 时,需要分查询页子表
  72. #if ( $table.templateType == 11 )
  73. /**
  74. * 获得${subTable.classComment}分页
  75. *
  76. * @param pageReqVO 分页查询
  77. * @param ${subJoinColumn.javaField} ${subJoinColumn.columnComment}
  78. * @return ${subTable.classComment}分页
  79. */
  80. PageResult<${subTable.className}DO> get${subSimpleClassName}Page(PageParam pageReqVO, ${subJoinColumn.javaType} ${subJoinColumn.javaField});
  81. ## 情况二:非 MASTER_ERP 时,需要列表查询子表
  82. #else
  83. #if ( $subTable.subJoinMany )
  84. /**
  85. * 获得${subTable.classComment}列表
  86. *
  87. * @param ${subJoinColumn.javaField} ${subJoinColumn.columnComment}
  88. * @return ${subTable.classComment}列表
  89. */
  90. List<${subTable.className}DO> get${subSimpleClassName}ListBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField});
  91. #else
  92. /**
  93. * 获得${subTable.classComment}
  94. *
  95. * @param ${subJoinColumn.javaField} ${subJoinColumn.columnComment}
  96. * @return ${subTable.classComment}
  97. */
  98. ${subTable.className}DO get${subSimpleClassName}By${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField});
  99. #end
  100. #end
  101. ## 特殊:MASTER_ERP 时,支持单个的新增、修改、删除操作
  102. #if ( $table.templateType == 11 )
  103. /**
  104. * 创建${subTable.classComment}
  105. *
  106. * @param ${subClassNameVar} 创建信息
  107. * @return 编号
  108. */
  109. ${subPrimaryColumn.javaType} create${subSimpleClassName}(@Valid ${subTable.className}DO ${subClassNameVar});
  110. /**
  111. * 更新${subTable.classComment}
  112. *
  113. * @param ${subClassNameVar} 更新信息
  114. */
  115. void update${subSimpleClassName}(@Valid ${subTable.className}DO ${subClassNameVar});
  116. /**
  117. * 删除${subTable.classComment}
  118. *
  119. * @param id 编号
  120. */
  121. void delete${subSimpleClassName}(${subPrimaryColumn.javaType} id);
  122. /**
  123. * 获得${subTable.classComment}
  124. *
  125. * @param id 编号
  126. * @return ${subTable.classComment}
  127. */
  128. ${subTable.className}DO get${subSimpleClassName}(${subPrimaryColumn.javaType} id);
  129. #end
  130. #end
  131. }