serviceImpl.vm 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package ${basePackage}.module.${table.moduleName}.service.${table.businessName};
  2. import org.springframework.stereotype.Service;
  3. import javax.annotation.Resource;
  4. import org.springframework.validation.annotation.Validated;
  5. import java.util.*;
  6. import ${basePackage}.module.${table.moduleName}.controller.${sceneEnum.basePackage}.${table.businessName}.vo.*;
  7. import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;
  8. ## 特殊:主子表专属逻辑
  9. #if( $subTable )
  10. import ${basePackage}.module.${subTable.moduleName}.dal.dataobject.${subTable.businessName}.${subTable.className}DO;
  11. #end
  12. import ${PageResultClassName};
  13. import ${basePackage}.module.${table.moduleName}.convert.${table.businessName}.${table.className}Convert;
  14. import ${basePackage}.module.${table.moduleName}.dal.mysql.${table.businessName}.${table.className}Mapper;
  15. ## 特殊:主子表专属逻辑
  16. #if( $subTable )
  17. import ${basePackage}.module.${subTable.moduleName}.dal.mysql.${subTable.businessName}.${subClassNameVar}Mapper;
  18. #end
  19. import static ${ServiceExceptionUtilClassName}.exception;
  20. import static ${basePackage}.module.${table.moduleName}.enums.ErrorCodeConstants.*;
  21. import cn.hutool.core.collection.CollUtil;
  22. import cn.hutool.core.collection.ListUtil;
  23. /**
  24. * ${table.classComment} Service 实现类
  25. *
  26. * @author ${table.author}
  27. */
  28. @Service
  29. @Validated
  30. public class ${table.className}ServiceImpl implements ${table.className}Service {
  31. @Resource
  32. private ${table.className}Mapper ${classNameVar}Mapper;
  33. ## 特殊:主子表专属逻辑
  34. #if( $subTable )
  35. @Resource
  36. private ${subTable.className}Mapper ${subClassNameVar}Mapper;
  37. #end
  38. @Override
  39. public ${primaryColumn.javaType} create${simpleClassName}(${sceneEnum.prefixClass}${table.className}CreateReqVO createReqVO) {
  40. // 插入
  41. ${table.className}DO ${classNameVar} = ${table.className}Convert.INSTANCE.convert(createReqVO);
  42. ${classNameVar}Mapper.insert(${classNameVar});
  43. ## 特殊:主子表专属逻辑
  44. #if( $subTable )
  45. // 插入子表
  46. ${subClassNameVar}Mapper.insertBatch(createReqVO.get${subSimpleClassName}s);
  47. #end
  48. // 返回
  49. return ${classNameVar}.getId();
  50. }
  51. @Override
  52. public void update${simpleClassName}(${sceneEnum.prefixClass}${table.className}UpdateReqVO updateReqVO) {
  53. // 校验存在
  54. validate${simpleClassName}Exists(updateReqVO.getId());
  55. // 更新
  56. ${table.className}DO updateObj = ${table.className}Convert.INSTANCE.convert(updateReqVO);
  57. ${classNameVar}Mapper.updateById(updateObj);
  58. }
  59. @Override
  60. public void delete${simpleClassName}(${primaryColumn.javaType} id) {
  61. // 校验存在
  62. validate${simpleClassName}Exists(id);
  63. // 删除
  64. ${classNameVar}Mapper.deleteById(id);
  65. }
  66. private void validate${simpleClassName}Exists(${primaryColumn.javaType} id) {
  67. if (${classNameVar}Mapper.selectById(id) == null) {
  68. throw exception(${simpleClassName_underlineCase.toUpperCase()}_NOT_EXISTS);
  69. }
  70. }
  71. @Override
  72. public ${table.className}DO get${simpleClassName}(${primaryColumn.javaType} id) {
  73. return ${classNameVar}Mapper.selectById(id);
  74. }
  75. @Override
  76. public List<${table.className}DO> get${simpleClassName}List(Collection<${primaryColumn.javaType}> ids) {
  77. if (CollUtil.isEmpty(ids)) {
  78. return ListUtil.empty();
  79. }
  80. return ${classNameVar}Mapper.selectBatchIds(ids);
  81. }
  82. @Override
  83. public PageResult<${table.className}DO> get${simpleClassName}Page(${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO) {
  84. return ${classNameVar}Mapper.selectPage(pageReqVO);
  85. }
  86. @Override
  87. public List<${table.className}DO> get${simpleClassName}List(${sceneEnum.prefixClass}${table.className}ExportReqVO exportReqVO) {
  88. return ${classNameVar}Mapper.selectList(exportReqVO);
  89. }
  90. }