TestDemoServiceImpl.java 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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.annotation.DataSource;
  8. import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
  9. import com.ruoyi.common.core.page.PagePlus;
  10. import com.ruoyi.common.core.page.TableDataInfo;
  11. import com.ruoyi.common.enums.DataSourceType;
  12. import com.ruoyi.common.utils.PageUtils;
  13. import com.ruoyi.demo.bo.TestDemoAddBo;
  14. import com.ruoyi.demo.bo.TestDemoEditBo;
  15. import com.ruoyi.demo.bo.TestDemoQueryBo;
  16. import com.ruoyi.demo.domain.TestDemo;
  17. import com.ruoyi.demo.mapper.TestDemoMapper;
  18. import com.ruoyi.demo.service.ITestDemoService;
  19. import com.ruoyi.demo.vo.TestDemoVo;
  20. import org.springframework.stereotype.Service;
  21. import java.util.Collection;
  22. import java.util.List;
  23. import java.util.Map;
  24. /**
  25. * 测试单表Service业务层处理
  26. *
  27. * @author Lion Li
  28. * @date 2021-05-30
  29. */
  30. @Service
  31. public class TestDemoServiceImpl extends ServicePlusImpl<TestDemoMapper, TestDemo> implements ITestDemoService {
  32. @Override
  33. public TestDemoVo queryById(Long id) {
  34. return getVoById(id, TestDemoVo.class);
  35. }
  36. @DataScope(isUser = true)
  37. @Override
  38. public TableDataInfo<TestDemoVo> queryPageList(TestDemoQueryBo bo) {
  39. PagePlus<TestDemo, TestDemoVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo), TestDemoVo.class);
  40. return PageUtils.buildDataInfo(result);
  41. }
  42. @DataScope(isUser = true)
  43. @Override
  44. public List<TestDemoVo> queryList(TestDemoQueryBo bo) {
  45. return listVo(buildQueryWrapper(bo), TestDemoVo.class);
  46. }
  47. private LambdaQueryWrapper<TestDemo> buildQueryWrapper(TestDemoQueryBo bo) {
  48. Map<String, Object> params = bo.getParams();
  49. Object dataScope = params.get("dataScope");
  50. LambdaQueryWrapper<TestDemo> lqw = Wrappers.lambdaQuery();
  51. lqw.like(StrUtil.isNotBlank(bo.getTestKey()), TestDemo::getTestKey, bo.getTestKey());
  52. lqw.eq(StrUtil.isNotBlank(bo.getValue()), TestDemo::getValue, bo.getValue());
  53. lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
  54. TestDemo::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
  55. lqw.apply(dataScope != null && StrUtil.isNotBlank(dataScope.toString()),
  56. dataScope != null ? dataScope.toString() : null);
  57. return lqw;
  58. }
  59. @Override
  60. public Boolean insertByAddBo(TestDemoAddBo bo) {
  61. TestDemo add = BeanUtil.toBean(bo, TestDemo.class);
  62. validEntityBeforeSave(add);
  63. return save(add);
  64. }
  65. @Override
  66. public Boolean updateByEditBo(TestDemoEditBo bo) {
  67. TestDemo update = BeanUtil.toBean(bo, TestDemo.class);
  68. validEntityBeforeSave(update);
  69. return updateById(update);
  70. }
  71. /**
  72. * 保存前的数据校验
  73. *
  74. * @param entity 实体类数据
  75. */
  76. private void validEntityBeforeSave(TestDemo entity) {
  77. //TODO 做一些数据校验,如唯一约束
  78. }
  79. @Override
  80. public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
  81. if (isValid) {
  82. //TODO 做一些业务上的校验,判断是否需要校验
  83. }
  84. return removeByIds(ids);
  85. }
  86. }