serviceImpl.java.vm 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package ${package.ServiceImpl};
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.util.StrUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.baomidou.mybatisplus.core.metadata.IPage;
  6. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  7. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  8. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  9. import ${package.Controller.replace(".controller", "")}.common.dto.${entity}AddDTO;
  10. import ${package.Controller.replace(".controller", "")}.common.dto.${entity}EditDTO;
  11. import ${package.Controller.replace(".controller", "")}.common.dto.${entity}QueryDTO;
  12. import ${package.Entity}.${entity};
  13. import ${package.Mapper}.${table.mapperName};
  14. import ${package.Service}.${table.serviceName};
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import java.util.Arrays;
  18. import java.util.List;
  19. import java.util.Objects;
  20. /**
  21. * <p>
  22. * $!{table.comment} 服务实现类
  23. * </p>
  24. *
  25. * @author ${author}
  26. * @since ${date}
  27. */
  28. @Service
  29. #if(${kotlin})
  30. open class ${table.serviceImplName} : ${superServiceImplClass}<${table.mapperName}, ${entity}>(), ${table.serviceName} {
  31. }
  32. #else
  33. public class ${table.serviceImplName} extends ${superServiceImplClass}<${table.mapperName}, ${entity}> implements ${table.serviceName} {
  34. @Override
  35. public IPage<${entity}> page(Page reqPage, ${entity}QueryDTO req) {
  36. LambdaQueryWrapper<${entity}> queryWrapper = Wrappers.lambdaQuery();
  37. ## ----------BEGIN 字段循环遍历----------
  38. #foreach($field in ${table.fields})
  39. #if(${field.keyFlag})
  40. ## 主键
  41. #if(${field.keyIdentityFlag})
  42. #end
  43. ## 普通字段
  44. #else
  45. ## String
  46. #if(${field.propertyType.equals("String")})
  47. queryWrapper.like(StrUtil.isNotBlank(req.get${field.capitalName}()), ${entity}::get${field.capitalName}, req.get${field.capitalName}());
  48. #else
  49. queryWrapper.eq(Objects.nonNull(req.get${field.capitalName}()), ${entity}::get${field.capitalName}, req.get${field.capitalName}());
  50. #end
  51. #end
  52. #end
  53. ## ----------END 字段循环遍历----------
  54. return this.page(reqPage, queryWrapper);
  55. }
  56. #if(${cfg.get("${table.name}exportExcel")})
  57. @Override
  58. public List<${entity}> list(${entity}QueryDTO req) {
  59. LambdaQueryWrapper<${entity}> queryWrapper = Wrappers.lambdaQuery();
  60. ## ----------BEGIN 字段循环遍历----------
  61. #foreach($field in ${table.fields})
  62. #if(${field.keyFlag})
  63. ## 主键
  64. #if(${field.keyIdentityFlag})
  65. #end
  66. ## 普通字段
  67. #else
  68. ## String
  69. #if(${field.propertyType.equals("String")})
  70. queryWrapper.like(StrUtil.isNotBlank(req.get${field.capitalName}()), ${entity}::get${field.capitalName}, req.get${field.capitalName}());
  71. #else
  72. queryWrapper.eq(Objects.nonNull(req.get${field.capitalName}()), ${entity}::get${field.capitalName}, req.get${field.capitalName}());
  73. #end
  74. #end
  75. #end
  76. ## ----------END 字段循环遍历----------
  77. return this.list(queryWrapper);
  78. }
  79. #end
  80. @Override
  81. @Transactional(rollbackFor = Exception.class)
  82. public void add(${entity}AddDTO req) {
  83. ${entity} entity = BeanUtil.copyProperties(req, ${entity}.class);
  84. this.save(entity);
  85. }
  86. @Override
  87. @Transactional(rollbackFor = Exception.class)
  88. public void edit(${entity}EditDTO req) {
  89. ${entity} entity = BeanUtil.copyProperties(req, ${entity}.class);
  90. this.updateById(entity);
  91. }
  92. @Override
  93. @Transactional(rollbackFor = Exception.class)
  94. public void remove(String ids) {
  95. this.removeByIds(Arrays.asList(ids.split(",")));
  96. }
  97. @Override
  98. public ${entity} view(String id) {
  99. return this.getById(id);
  100. }
  101. }
  102. #end