DeviceLogServiceImpl.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.warewms.hailiang.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.warewms.common.core.domain.base.page.PageDomain;
  6. import com.warewms.common.core.domain.base.page.TableDataInfo;
  7. import com.warewms.common.utils.StringUtils;
  8. import com.warewms.hailiang.config.DeviceMessageSocket;
  9. import com.warewms.hailiang.domain.DeviceLog;
  10. import com.warewms.hailiang.mapper.DeviceLogMapper;
  11. import com.warewms.hailiang.service.DeviceLogService;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.context.event.EventListener;
  14. import org.springframework.scheduling.annotation.Async;
  15. import org.springframework.stereotype.Service;
  16. import java.util.List;
  17. import java.util.Map;
  18. /**
  19. * @author AD
  20. * @description 针对表【device_log(设备日志表)】的数据库操作Service实现
  21. * @createDate 2023-08-21 13:24:57
  22. */
  23. @Service
  24. public class DeviceLogServiceImpl extends ServiceImpl<DeviceLogMapper, DeviceLog>
  25. implements DeviceLogService {
  26. @Autowired
  27. DeviceLogMapper deviceLogMapper;
  28. @Autowired
  29. DeviceMessageSocket deviceMessageSocket;
  30. @Override
  31. public TableDataInfo<DeviceLog> getList(DeviceLog deviceLog, PageDomain pageDomain) {
  32. Map<String, Object> params = deviceLog.getParams();
  33. IPage<DeviceLog> deviceLogIPage = deviceLogMapper.selectPage(pageDomain.build(), new LambdaQueryWrapper<DeviceLog>()
  34. .eq(StringUtils.isNotEmpty(deviceLog.getDeviceId()), DeviceLog::getDeviceId, deviceLog.getDeviceId())
  35. .eq(StringUtils.isNotEmpty(deviceLog.getDeviceName()), DeviceLog::getDeviceName, deviceLog.getDeviceName())
  36. .eq(StringUtils.isNotEmpty(deviceLog.getStatus()), DeviceLog::getStatus, deviceLog.getStatus())
  37. .between(params.get("beginTime") != null && params.get("endTime") != null,
  38. DeviceLog::getCreateTime, params.get("beginTime"), params.get("endTime"))
  39. .orderByDesc(DeviceLog::getCreateTime));
  40. return TableDataInfo.build(deviceLogIPage);
  41. }
  42. @Override
  43. @Async
  44. @EventListener
  45. public void createLog(DeviceLog deviceLog) {
  46. deviceLog.setCreateBy("system");
  47. deviceLog.setUpdateBy("system");
  48. deviceLogMapper.insert(deviceLog);
  49. //推送消息
  50. deviceMessageSocket.sendAllMessage(deviceLog.toString());
  51. }
  52. }