service.vm 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. package ${basePackage}.module.${table.moduleName}.service.${table.businessName};
  2. import java.util.*;
  3. import ${jakartaPackage}.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. #if ( $table.templateType != 2 && $table.deleteBatch)
  38. /**
  39. * 批量删除${table.classComment}
  40. *
  41. * @param ids 编号
  42. */
  43. void delete${simpleClassName}ByIds(List<${primaryColumn.javaType}> ids);
  44. #end
  45. /**
  46. * 获得${table.classComment}
  47. *
  48. * @param id 编号
  49. * @return ${table.classComment}
  50. */
  51. ${table.className}DO get${simpleClassName}(${primaryColumn.javaType} id);
  52. ## 特殊:树表专属逻辑(树不需要分页接口)
  53. #if ( $table.templateType != 2 )
  54. /**
  55. * 获得${table.classComment}分页
  56. *
  57. * @param pageReqVO 分页查询
  58. * @return ${table.classComment}分页
  59. */
  60. PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO);
  61. #else
  62. /**
  63. * 获得${table.classComment}列表
  64. *
  65. * @param listReqVO 查询条件
  66. * @return ${table.classComment}列表
  67. */
  68. List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ListReqVO listReqVO);
  69. #end
  70. ## 特殊:主子表专属逻辑
  71. #foreach ($subTable in $subTables)
  72. #set ($index = $foreach.count - 1)
  73. #set ($subSimpleClassName = $subSimpleClassNames.get($index))
  74. #set ($subPrimaryColumn = $subPrimaryColumns.get($index))##当前 primary 字段
  75. #set ($subJoinColumn = $subJoinColumns.get($index))##当前 join 字段
  76. #set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写
  77. #set ($subClassNameVar = $subClassNameVars.get($index))
  78. // ==================== 子表($subTable.classComment) ====================
  79. ## 情况一:MASTER_ERP 时,需要分查询页子表
  80. #if ( $table.templateType == 11 )
  81. /**
  82. * 获得${subTable.classComment}分页
  83. *
  84. * @param pageReqVO 分页查询
  85. * @param ${subJoinColumn.javaField} ${subJoinColumn.columnComment}
  86. * @return ${subTable.classComment}分页
  87. */
  88. PageResult<${subTable.className}DO> get${subSimpleClassName}Page(PageParam pageReqVO, ${subJoinColumn.javaType} ${subJoinColumn.javaField});
  89. ## 情况二:非 MASTER_ERP 时,需要列表查询子表
  90. #else
  91. #if ( $subTable.subJoinMany )
  92. /**
  93. * 获得${subTable.classComment}列表
  94. *
  95. * @param ${subJoinColumn.javaField} ${subJoinColumn.columnComment}
  96. * @return ${subTable.classComment}列表
  97. */
  98. List<${subTable.className}DO> get${subSimpleClassName}ListBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField});
  99. #else
  100. /**
  101. * 获得${subTable.classComment}
  102. *
  103. * @param ${subJoinColumn.javaField} ${subJoinColumn.columnComment}
  104. * @return ${subTable.classComment}
  105. */
  106. ${subTable.className}DO get${subSimpleClassName}By${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField});
  107. #end
  108. #end
  109. ## 特殊:MASTER_ERP 时,支持单个的新增、修改、删除操作
  110. #if ( $table.templateType == 11 )
  111. /**
  112. * 创建${subTable.classComment}
  113. *
  114. * @param ${subClassNameVar} 创建信息
  115. * @return 编号
  116. */
  117. ${subPrimaryColumn.javaType} create${subSimpleClassName}(@Valid ${subTable.className}DO ${subClassNameVar});
  118. /**
  119. * 更新${subTable.classComment}
  120. *
  121. * @param ${subClassNameVar} 更新信息
  122. */
  123. void update${subSimpleClassName}(@Valid ${subTable.className}DO ${subClassNameVar});
  124. /**
  125. * 删除${subTable.classComment}
  126. *
  127. * @param id 编号
  128. */
  129. void delete${subSimpleClassName}(${subPrimaryColumn.javaType} id);
  130. #if ($table.deleteBatch)
  131. /**
  132. * 批量删除${subTable.classComment}
  133. *
  134. * @param ids 编号
  135. */
  136. void delete${subSimpleClassName}ByIds(List<${subPrimaryColumn.javaType}> ids);
  137. #end
  138. /**
  139. * 获得${subTable.classComment}
  140. *
  141. * @param id 编号
  142. * @return ${subTable.classComment}
  143. */
  144. ${subTable.className}DO get${subSimpleClassName}(${subPrimaryColumn.javaType} id);
  145. #end
  146. #end
  147. }