package com.gkhy.fourierSpecialGasMonitor.schedule; import com.gkhy.fourierSpecialGasMonitor.entity.req.DeviceMonitorReqDTO; import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasConcentrationReqDTO; import com.gkhy.fourierSpecialGasMonitor.entity.req.UploadGasFluxReqDTO; import com.gkhy.fourierSpecialGasMonitor.service.DataReceiveService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.text.DecimalFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.TimeUnit; /** * @author Mr.huang * @decription * @date 2023/8/22 13:49 */ @Component public class TestSchedule { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private DataReceiveService dataReceiveService; private static final DateTimeFormatter execformatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); @Scheduled(cron = "1 * * * * ?") @Async(value = "SocketTaskExecutor") public void testDeviceMonitor() { logger.info("【硬件设备一分钟一次推送测试】:" + LocalDateTime.now().format(execformatter)); DeviceMonitorReqDTO deviceMonitorReqDTO = new DeviceMonitorReqDTO(); deviceMonitorReqDTO.setTime(LocalDateTime.now()); deviceMonitorReqDTO.setConState(0); deviceMonitorReqDTO.setFluxState(0); List list = new ArrayList<>(); list.add(0); deviceMonitorReqDTO.setHardwareState(list); dataReceiveService.deviceMonitor(deviceMonitorReqDTO); } @Scheduled(cron = "0/30 * * * * ?") @Async(value = "SocketTaskExecutor") public void testGasConcentration() { logger.info("【气体实时浓度推送测试】:"+LocalDateTime.now().format(execformatter)); Random random = new Random(); double randomDouble = random.nextDouble() * 99.9 + 1; // 生成1到100之间的随机双精度数 DecimalFormat decimalFormat = new DecimalFormat("0.0"); String formattedDouble = decimalFormat.format(randomDouble); double result = Double.parseDouble(formattedDouble); UploadGasConcentrationReqDTO dto = new UploadGasConcentrationReqDTO(); dto.setEquipmentId("No-123456"); dto.setTime(LocalDateTime.now()); dto.setType(1); dto.setLng("东经43"); dto.setLat("北纬53"); dto.setAngle("60"); dto.setTemp(26.9); dto.setHumidity(63.3); dto.setWindSpeed(12.3); dto.setWindDirection(56); dto.setPressure(200.0); dto.setGasName01(1); dto.setGasValue01(result); dto.setGasName02(2); dto.setGasValue02(result); dto.setGasName03(3); dto.setGasValue03(result); dto.setGasName04(4); dto.setGasValue04(result); dto.setGasName05(5); dto.setGasValue05(result); dto.setGasName06(6); dto.setGasValue06(result); dto.setGasName07(7); dto.setGasValue07(result); dto.setGasName08(8); dto.setGasValue08(result); dto.setGasName09(9); dto.setGasValue09(result); dto.setGasName10(10); dto.setGasValue10(result); dto.setGasName11(11); dto.setGasValue11(result); dto.setGasName12(12); dto.setGasValue12(result); dto.setGasName13(13); dto.setGasValue13(result); dto.setGasName14(14); dto.setGasValue14(result); dto.setGasName15(15); dto.setGasValue15(result); dto.setGasName16(16); dto.setGasValue16(result); dto.setGasName17(17); dto.setGasValue17(result); dto.setGasName18(18); dto.setGasValue18(result); dto.setGasName19(19); dto.setGasValue19(result); dto.setGasName20(20); dto.setGasValue20(result); dto.setGasName21(21); dto.setGasValue21(result); dto.setGasName22(22); dto.setGasValue22(result); dto.setGasName23(23); dto.setGasValue23(result); dto.setGasName24(24); dto.setGasValue24(result); dto.setGasName25(25); dto.setGasValue25(result); dto.setGasName26(26); dto.setGasValue26(result); dto.setGasName27(27); dto.setGasValue27(result); dto.setGasName28(28); dto.setGasValue28(result); dto.setGasName29(29); dto.setGasValue29(result); dto.setGasName30(30); dto.setGasValue30(result); dataReceiveService.uploadGasConcentration(dto); } //@Scheduled(cron = "0 0/15 * * * ?") @Scheduled(cron = "0/30 * * * * ?") @Async(value = "SocketTaskExecutor") public void testGasFlux() { logger.info("【气体通量推送测试】:"+LocalDateTime.now().format(execformatter)); for (int i = 1; i <= 8 ; i++) { Random random = new Random(); double randomDouble = random.nextDouble() * 99.9 + 1; // 生成1到100之间的随机双精度数 DecimalFormat decimalFormat = new DecimalFormat("0.0"); String formattedDouble = decimalFormat.format(randomDouble); double result = Double.parseDouble(formattedDouble); UploadGasFluxReqDTO dto = new UploadGasFluxReqDTO(); dto.setEquipmentId("No-123456"); dto.setTime(LocalDateTime.now()); dto.setAreaId(i); dto.setType(1); dto.setWindSpeed(12.3); dto.setWindDirection(56); dto.setGasName01(1); dto.setGasValue01(result); dto.setGasName02(2); dto.setGasValue02(result); dto.setGasName03(3); dto.setGasValue03(result); dto.setGasName04(4); dto.setGasValue04(result); dto.setGasName05(5); dto.setGasValue05(result); dto.setGasName06(6); dto.setGasValue06(result); dto.setGasName07(7); dto.setGasValue07(result); dto.setGasName08(8); dto.setGasValue08(result); dto.setGasName09(9); dto.setGasValue09(result); dto.setGasName10(10); dto.setGasValue10(result); dto.setGasName11(11); dto.setGasValue11(result); dto.setGasName12(12); dto.setGasValue12(result); dto.setGasName13(13); dto.setGasValue13(result); dto.setGasName14(14); dto.setGasValue14(result); dto.setGasName15(15); dto.setGasValue15(result); dto.setGasName16(16); dto.setGasValue16(result); dto.setGasName17(17); dto.setGasValue17(result); dto.setGasName18(18); dto.setGasValue18(result); dto.setGasName19(19); dto.setGasValue19(result); dto.setGasName20(20); dto.setGasValue20(result); dataReceiveService.uploadGasFlux(dto); } } }