TestDemoServiceImpl.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.ruoyi.demo.service.impl;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.ruoyi.common.core.domain.PageQuery;
  7. import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
  8. import com.ruoyi.common.core.page.TableDataInfo;
  9. import com.ruoyi.common.utils.StringUtils;
  10. import com.ruoyi.demo.domain.TestDemo;
  11. import com.ruoyi.demo.domain.bo.TestDemoBo;
  12. import com.ruoyi.demo.domain.vo.TestDemoVo;
  13. import com.ruoyi.demo.mapper.TestDemoMapper;
  14. import com.ruoyi.demo.service.ITestDemoService;
  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-07-26
  24. */
  25. @Service
  26. public class TestDemoServiceImpl extends ServicePlusImpl<TestDemoMapper, TestDemo, TestDemoVo> implements ITestDemoService {
  27. @Override
  28. public TestDemoVo queryById(Long id) {
  29. return getVoById(id);
  30. }
  31. @Override
  32. public TableDataInfo<TestDemoVo> queryPageList(TestDemoBo bo, PageQuery pageQuery) {
  33. LambdaQueryWrapper<TestDemo> lqw = buildQueryWrapper(bo);
  34. Page<TestDemoVo> result = pageVo(pageQuery.build(), lqw);
  35. return TableDataInfo.build(result);
  36. }
  37. /**
  38. * 自定义分页查询
  39. */
  40. @Override
  41. public TableDataInfo<TestDemoVo> customPageList(TestDemoBo bo, PageQuery pageQuery) {
  42. LambdaQueryWrapper<TestDemo> lqw = buildQueryWrapper(bo);
  43. Page<TestDemoVo> result = baseMapper.customPageList(pageQuery.build(), lqw);
  44. return TableDataInfo.build(result);
  45. }
  46. @Override
  47. public List<TestDemoVo> queryList(TestDemoBo bo) {
  48. return listVo(buildQueryWrapper(bo));
  49. }
  50. private LambdaQueryWrapper<TestDemo> buildQueryWrapper(TestDemoBo bo) {
  51. Map<String, Object> params = bo.getParams();
  52. LambdaQueryWrapper<TestDemo> lqw = Wrappers.lambdaQuery();
  53. lqw.like(StringUtils.isNotBlank(bo.getTestKey()), TestDemo::getTestKey, bo.getTestKey());
  54. lqw.eq(StringUtils.isNotBlank(bo.getValue()), TestDemo::getValue, bo.getValue());
  55. lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
  56. TestDemo::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
  57. return lqw;
  58. }
  59. @Override
  60. public Boolean insertByBo(TestDemoBo bo) {
  61. TestDemo add = BeanUtil.toBean(bo, TestDemo.class);
  62. validEntityBeforeSave(add);
  63. boolean flag = save(add);
  64. if (flag) {
  65. bo.setId(add.getId());
  66. }
  67. return flag;
  68. }
  69. @Override
  70. public Boolean updateByBo(TestDemoBo bo) {
  71. TestDemo update = BeanUtil.toBean(bo, TestDemo.class);
  72. validEntityBeforeSave(update);
  73. return updateById(update);
  74. }
  75. /**
  76. * 保存前的数据校验
  77. *
  78. * @param entity 实体类数据
  79. */
  80. private void validEntityBeforeSave(TestDemo entity) {
  81. //TODO 做一些数据校验,如唯一约束
  82. }
  83. @Override
  84. public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
  85. if (isValid) {
  86. //TODO 做一些业务上的校验,判断是否需要校验
  87. }
  88. return removeByIds(ids);
  89. }
  90. }