service.vm 4.9 KB

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