TestTreeServiceImpl.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.ruoyi.demo.service.impl;
  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.toolkit.Wrappers;
  6. import com.ruoyi.common.annotation.DataScope;
  7. import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
  8. import com.ruoyi.demo.bo.TestTreeAddBo;
  9. import com.ruoyi.demo.bo.TestTreeEditBo;
  10. import com.ruoyi.demo.bo.TestTreeQueryBo;
  11. import com.ruoyi.demo.domain.TestTree;
  12. import com.ruoyi.demo.mapper.TestTreeMapper;
  13. import com.ruoyi.demo.service.ITestTreeService;
  14. import com.ruoyi.demo.vo.TestTreeVo;
  15. import org.springframework.stereotype.Service;
  16. import java.util.Collection;
  17. import java.util.List;
  18. import java.util.Map;
  19. /**
  20. * 测试树表Service业务层处理
  21. *
  22. * @author Lion Li
  23. * @date 2021-05-30
  24. */
  25. @Service
  26. public class TestTreeServiceImpl extends ServicePlusImpl<TestTreeMapper, TestTree> implements ITestTreeService {
  27. @Override
  28. public TestTreeVo queryById(Long id) {
  29. return getVoById(id, TestTreeVo.class);
  30. }
  31. // @DataSource(DataSourceType.SLAVE) // 切换从库查询
  32. @DataScope(isUser = true)
  33. @Override
  34. public List<TestTreeVo> queryList(TestTreeQueryBo bo) {
  35. return listVo(buildQueryWrapper(bo), TestTreeVo.class);
  36. }
  37. private LambdaQueryWrapper<TestTree> buildQueryWrapper(TestTreeQueryBo bo) {
  38. Map<String, Object> params = bo.getParams();
  39. Object dataScope = params.get("dataScope");
  40. LambdaQueryWrapper<TestTree> lqw = Wrappers.lambdaQuery();
  41. lqw.like(StrUtil.isNotBlank(bo.getTreeName()), TestTree::getTreeName, bo.getTreeName());
  42. lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
  43. TestTree::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
  44. lqw.apply(dataScope != null && StrUtil.isNotBlank(dataScope.toString()),
  45. dataScope != null ? dataScope.toString() : null);
  46. return lqw;
  47. }
  48. @Override
  49. public Boolean insertByAddBo(TestTreeAddBo bo) {
  50. TestTree add = BeanUtil.toBean(bo, TestTree.class);
  51. validEntityBeforeSave(add);
  52. return save(add);
  53. }
  54. @Override
  55. public Boolean updateByEditBo(TestTreeEditBo bo) {
  56. TestTree update = BeanUtil.toBean(bo, TestTree.class);
  57. validEntityBeforeSave(update);
  58. return updateById(update);
  59. }
  60. /**
  61. * 保存前的数据校验
  62. *
  63. * @param entity 实体类数据
  64. */
  65. private void validEntityBeforeSave(TestTree entity) {
  66. //TODO 做一些数据校验,如唯一约束
  67. }
  68. @Override
  69. public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
  70. if (isValid) {
  71. //TODO 做一些业务上的校验,判断是否需要校验
  72. }
  73. return removeByIds(ids);
  74. }
  75. }