SingleDeviceServiceImpl.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.ruoyi.zhdd.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.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
  6. import com.ruoyi.common.core.page.PagePlus;
  7. import com.ruoyi.common.core.page.TableDataInfo;
  8. import com.ruoyi.common.utils.PageUtils;
  9. import com.ruoyi.common.utils.StringUtils;
  10. import com.ruoyi.zhdd.domain.SingleDevice;
  11. import com.ruoyi.zhdd.domain.bo.SingleDeviceBo;
  12. import com.ruoyi.zhdd.domain.vo.SingleDeviceVo;
  13. import com.ruoyi.zhdd.mapper.SingleDeviceMapper;
  14. import com.ruoyi.zhdd.service.ISingleDeviceService;
  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 xintong
  23. * @date 2021-12-17
  24. */
  25. @Service
  26. public class SingleDeviceServiceImpl extends ServicePlusImpl<SingleDeviceMapper, SingleDevice, SingleDeviceVo> implements ISingleDeviceService {
  27. @Override
  28. public SingleDeviceVo queryById(String userId) {
  29. return getVoById(userId);
  30. }
  31. @Override
  32. public TableDataInfo<SingleDeviceVo> queryPageList(SingleDeviceBo bo) {
  33. PagePlus<SingleDevice, SingleDeviceVo> result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo));
  34. return PageUtils.buildDataInfo(result);
  35. }
  36. @Override
  37. public List<SingleDeviceVo> queryList(SingleDeviceBo bo) {
  38. // 单兵设备查询一分钟之内的
  39. // bo.getParams().put("beginCreateTime", DateUtil.formatDateTime(DateUtil.offsetMinute(new Date(), -1)));
  40. // bo.getParams().put("endCreateTime", DateUtil.now());
  41. return listVo(buildQueryWrapper(bo));
  42. }
  43. private LambdaQueryWrapper<SingleDevice> buildQueryWrapper(SingleDeviceBo bo) {
  44. Map<String, Object> params = bo.getParams();
  45. LambdaQueryWrapper<SingleDevice> lqw = Wrappers.lambdaQuery();
  46. lqw.eq(StringUtils.isNotBlank(bo.getUserId()), SingleDevice::getUserId, bo.getUserId());
  47. lqw.like(StringUtils.isNotBlank(bo.getUserName()), SingleDevice::getUserName, bo.getUserName());
  48. lqw.eq(StringUtils.isNotBlank(bo.getUserType()), SingleDevice::getUserType, bo.getUserType());
  49. lqw.eq(StringUtils.isNotBlank(bo.getDeviceCode()), SingleDevice::getDeviceCode, bo.getDeviceCode());
  50. lqw.eq(bo.getGpsX() != null, SingleDevice::getGpsX, bo.getGpsX());
  51. lqw.eq(bo.getGpsY() != null, SingleDevice::getGpsY, bo.getGpsY());
  52. lqw.eq(bo.getHeight() != null, SingleDevice::getHeight, bo.getHeight());
  53. lqw.eq(bo.getAngle() != null, SingleDevice::getAngle, bo.getAngle());
  54. lqw.eq(bo.getSpeed() != null, SingleDevice::getSpeed, bo.getSpeed());
  55. lqw.eq(bo.getStartCount() != null, SingleDevice::getStartCount, bo.getStartCount());
  56. lqw.eq(bo.getDataSource() != null, SingleDevice::getDataSource, bo.getDataSource());
  57. lqw.eq(StringUtils.isNotBlank(bo.getTime()), SingleDevice::getTime, bo.getTime());
  58. lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
  59. SingleDevice::getTime, params.get("beginCreateTime"), params.get("endCreateTime"));
  60. return lqw;
  61. }
  62. @Override
  63. public Boolean insertByBo(SingleDeviceBo bo) {
  64. SingleDevice add = BeanUtil.toBean(bo, SingleDevice.class);
  65. validEntityBeforeSave(add);
  66. return save(add);
  67. }
  68. @Override
  69. public Boolean updateByBo(SingleDeviceBo bo) {
  70. SingleDevice update = BeanUtil.toBean(bo, SingleDevice.class);
  71. validEntityBeforeSave(update);
  72. return updateById(update);
  73. }
  74. /**
  75. * 保存前的数据校验
  76. *
  77. * @param entity 实体类数据
  78. */
  79. private void validEntityBeforeSave(SingleDevice entity) {
  80. //TODO 做一些数据校验,如唯一约束
  81. }
  82. @Override
  83. public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
  84. if (isValid) {
  85. //TODO 做一些业务上的校验,判断是否需要校验
  86. }
  87. return removeByIds(ids);
  88. }
  89. }