service.vm 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package ${basePackage}.module.${table.moduleName}.service.${table.businessName};
  2. import java.util.*;
  3. import javax.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. import ${PageResultClassName};
  7. /**
  8. * ${table.classComment} Service 接口
  9. *
  10. * @author ${table.author}
  11. */
  12. public interface ${table.className}Service {
  13. /**
  14. * 创建${table.classComment}
  15. *
  16. * @param createReqVO 创建信息
  17. * @return 编号
  18. */
  19. ${primaryColumn.javaType} create${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}CreateReqVO createReqVO);
  20. /**
  21. * 更新${table.classComment}
  22. *
  23. * @param updateReqVO 更新信息
  24. */
  25. void update${simpleClassName}(@Valid ${sceneEnum.prefixClass}${table.className}UpdateReqVO updateReqVO);
  26. /**
  27. * 删除${table.classComment}
  28. *
  29. * @param id 编号
  30. */
  31. void delete${simpleClassName}(${primaryColumn.javaType} id);
  32. /**
  33. * 获得${table.classComment}
  34. *
  35. * @param id 编号
  36. * @return ${table.classComment}
  37. */
  38. ${table.className}DO get${simpleClassName}(${primaryColumn.javaType} id);
  39. /**
  40. * 获得${table.classComment}分页
  41. *
  42. * @param pageReqVO 分页查询
  43. * @return ${table.classComment}分页
  44. */
  45. PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO);
  46. /**
  47. * 获得${table.classComment}列表, 用于 Excel 导出
  48. *
  49. * @param exportReqVO 查询条件
  50. * @return ${table.classComment}列表
  51. */
  52. List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ExportReqVO exportReqVO);
  53. ## 特殊:主子表专属逻辑
  54. #foreach ($subTable in $subTables)
  55. #set ($index = $foreach.count - 1)
  56. #set ($subSimpleClassName = $subSimpleClassNames.get($index))
  57. #set ($subJoinColumn = $subJoinColumns.get($index))##当前 join 字段
  58. #set ($SubJoinColumnName = $subJoinColumn.javaField.substring(0,1).toUpperCase() + ${subJoinColumn.javaField.substring(1)})##首字母大写
  59. #if ( $subTable.subJoinMany )
  60. /**
  61. * 获得${subTable.classComment}列表
  62. *
  63. * @param ${subJoinColumn.javaField} ${subJoinColumn.columnComment}
  64. * @return ${subTable.classComment}列表
  65. */
  66. List<${subTable.className}DO> get${subSimpleClassName}ListBy${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField});
  67. #else
  68. /**
  69. * 获得${subTable.classComment}
  70. *
  71. * @param ${subJoinColumn.javaField} ${subJoinColumn.columnComment}
  72. * @return ${subTable.classComment}
  73. */
  74. ${subTable.className}DO get${subSimpleClassName}By${SubJoinColumnName}(${subJoinColumn.javaType} ${subJoinColumn.javaField});
  75. #end
  76. #end
  77. }