3 changed files with 53 additions and 15 deletions
-
4src/main/java/com/iflytop/gd/app/core/device/DeviceState.java
-
13src/main/java/com/iflytop/gd/app/service/DeviceInitService.java
-
47src/main/java/com/iflytop/gd/app/service/scheduled/FetchTemperatureScheduledTask.java
@ -1,13 +1,56 @@ |
|||
package com.iflytop.gd.app.service.scheduled; |
|||
|
|||
import com.iflytop.gd.app.core.device.HeatModuleState; |
|||
import com.iflytop.gd.app.service.DeviceStateService; |
|||
import com.iflytop.gd.common.enums.HeatModuleCode; |
|||
import com.iflytop.gd.hardware.service.GDDeviceStatusService; |
|||
import com.iflytop.gd.hardware.type.driver.HeaterRodSlavedId; |
|||
import lombok.RequiredArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.scheduling.annotation.Scheduled; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Slf4j |
|||
@Service |
|||
@RequiredArgsConstructor |
|||
public class FetchTemperatureScheduledTask { |
|||
private final GDDeviceStatusService gdDeviceStatusService; |
|||
private final DeviceStateService deviceStateService; |
|||
|
|||
@Scheduled(fixedRate = 30000) |
|||
public void fetchTemperature() { |
|||
System.out.println("Fetching temperature task is running: " + System.currentTimeMillis()); |
|||
// 任务逻辑 |
|||
try { |
|||
if(!deviceStateService.getDeviceState().isVirtual()){ |
|||
Double heatModule01Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD1_ID); |
|||
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_01, heatModule01Temperature); |
|||
|
|||
Double heatModule02Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD2_ID); |
|||
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_02, heatModule02Temperature); |
|||
|
|||
Double heatModule03Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD3_ID); |
|||
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_03, heatModule03Temperature); |
|||
|
|||
Double heatModule04Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD4_ID); |
|||
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_04, heatModule04Temperature); |
|||
|
|||
Double heatModule05Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD5_ID); |
|||
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_05, heatModule05Temperature); |
|||
|
|||
Double heatModule06Temperature = gdDeviceStatusService.getHeaterRodTemperature(HeaterRodSlavedId.HEATER_ROD6_ID); |
|||
deviceStateService.setHeatModuleStateTemperature(HeatModuleCode.heat_module_06, heatModule06Temperature); |
|||
}else{ |
|||
List<HeatModuleState> heatModuleStateList = deviceStateService.getDeviceState().getHeatModule(); |
|||
for (HeatModuleState heatModuleState : heatModuleStateList) { |
|||
if(heatModuleState.isHeating()){ |
|||
deviceStateService.setHeatModuleStateTemperature(heatModuleState.getModuleCode(), 999); |
|||
} |
|||
} |
|||
} |
|||
} catch (Exception e) { |
|||
log.error("定时采集加热棒温度错误", e); |
|||
} |
|||
|
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue