ServiceImpl 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package ${package}.${moduleName}.service.impl;
  2. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3. import ${package}.${moduleName}.entity.${ClassName}Entity;
  4. import ${package}.${moduleName}.mapper.${ClassName}Mapper;
  5. import ${package}.${moduleName}.service.${ClassName}Service;
  6. import org.springframework.stereotype.Service;
  7. #if($ChildClassName)
  8. import cn.hutool.core.collection.CollUtil;
  9. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  10. import ${package}.${moduleName}.entity.${ChildClassName}Entity;
  11. import ${package}.${moduleName}.mapper.${ChildClassName}Mapper;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import lombok.RequiredArgsConstructor;
  14. import java.util.Objects;
  15. #end
  16. /**
  17. * ${tableComment}
  18. *
  19. * @author ${author}
  20. * @date ${datetime}
  21. */
  22. @Service
  23. #if($ChildClassName)
  24. @RequiredArgsConstructor
  25. #end
  26. public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}Entity> implements ${ClassName}Service {
  27. #if($ChildClassName)
  28. private final ${ChildClassName}Mapper ${childClassName}Mapper;
  29. @Override
  30. @Transactional(rollbackFor = Exception.class)
  31. public Boolean saveDeep(${ClassName}Entity ${className}) {
  32. baseMapper.insert(${className});
  33. for (${ChildClassName}Entity ${childClassName} : ${className}.get${ChildClassName}List()) {
  34. ${childClassName}.$str.setProperty($childField)(${className}.$str.getProperty($mainField)());
  35. ${childClassName}Mapper.insert( ${childClassName});
  36. }
  37. return Boolean.TRUE;
  38. }
  39. @Override
  40. @Transactional(rollbackFor = Exception.class)
  41. public Boolean updateDeep(${ClassName}Entity ${className}) {
  42. baseMapper.updateById(${className});
  43. for (${ChildClassName}Entity ${childClassName} : ${className}.get${ChildClassName}List()) {
  44. #set($getChildPkName=$str.getProperty(${pk.attrName}))
  45. if (Objects.isNull(${childClassName}.$getChildPkName())) {
  46. ${childClassName}.$str.setProperty($childField)(${className}.getId());
  47. ${childClassName}Mapper.insert(${childClassName});
  48. } else {
  49. ${childClassName}Mapper.updateById(${childClassName});
  50. }
  51. }
  52. return Boolean.TRUE;
  53. }
  54. @Override
  55. @Transactional(rollbackFor = Exception.class)
  56. public Boolean removeDeep(Long[] ids) {
  57. baseMapper.deleteBatchIds(CollUtil.toList(ids));
  58. ${childClassName}Mapper.delete(Wrappers.<${ChildClassName}Entity>lambdaQuery().in(${ChildClassName}Entity::$str.getProperty($childField), ids));
  59. return Boolean.TRUE;
  60. }
  61. @Override
  62. @Transactional(rollbackFor = Exception.class)
  63. public Boolean removeChild(Long[] ids) {
  64. ${childClassName}Mapper.deleteBatchIds(CollUtil.toList(ids));
  65. return Boolean.TRUE;
  66. }
  67. #end
  68. }