TestTreeServiceImpl.java 2.5 KB

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