DeviceScheduleService.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package com.cec.plugins.service.task;
  2. import com.cec.plugins.domain.reported.DeviceDto;
  3. import com.cec.plugins.enumerate.DeviceEnum;
  4. import com.cec.plugins.service.RedisClientSource;
  5. import lombok.RequiredArgsConstructor;
  6. import lombok.extern.slf4j.Slf4j;
  7. import org.springframework.scheduling.annotation.Async;
  8. import org.springframework.scheduling.annotation.Scheduled;
  9. import org.springframework.stereotype.Component;
  10. /**
  11. * @author zhanghaijun
  12. * @date 2023/11/28 22:07
  13. * @description [一句话描述该类的功能]
  14. */
  15. @Slf4j
  16. @Component
  17. @RequiredArgsConstructor
  18. public class DeviceScheduleService {
  19. private final RedisClientSource redisClientSource;
  20. private final ReportService reportService;
  21. @Async
  22. @Scheduled(fixedDelayString = "${project.platform.fixed-delay}")
  23. public void heartbeat() {
  24. DeviceDto dto = new DeviceDto();
  25. for (DeviceEnum deviceEnum : DeviceEnum.values()) {
  26. dto.addDevice(deviceEnum.getUuid(), redisClientSource.getCacheStr(deviceEnum.getKey()));
  27. }
  28. reportService.reportPlatform("/data/api/v1/deviceState", dto);
  29. }
  30. }