package com.gkhy.testFourierSpecialGasMonitor.enums;
|
|
import com.gkhy.testFourierSpecialGasMonitor.entity.query.WindRoseTimeSlotQuery;
|
import lombok.Getter;
|
|
import java.time.LocalDateTime;
|
|
/**
|
* @author Mr.huang
|
* @decription
|
* @date 2023/9/2 23:31
|
*/
|
@Getter
|
public enum WindRoseEnum {
|
|
ONE_HOUR(1,"1小时"){
|
@Override
|
public WindRoseTimeSlotQuery getTimeSlotByStrategy() {
|
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime startTime = now.minusHours(1);
|
return new WindRoseTimeSlotQuery(startTime,now);
|
}
|
},
|
SIX_HOURS(2,"6小时"){
|
@Override
|
public WindRoseTimeSlotQuery getTimeSlotByStrategy() {
|
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime startTime = now.minusHours(6);
|
return new WindRoseTimeSlotQuery(startTime,now);
|
}
|
},
|
IN_12_HOURS(3,"12小时"){
|
@Override
|
public WindRoseTimeSlotQuery getTimeSlotByStrategy() {
|
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime startTime = now.minusHours(12);
|
return new WindRoseTimeSlotQuery(startTime,now);
|
}
|
},
|
IN_24_HOURS(4,"24小时"){
|
@Override
|
public WindRoseTimeSlotQuery getTimeSlotByStrategy() {
|
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime startTime = now.minusHours(24);
|
return new WindRoseTimeSlotQuery(startTime,now);
|
}
|
},
|
CUSTOM_TIME(5,"自定义") {
|
@Override
|
public WindRoseTimeSlotQuery getTimeSlotByStrategy() {
|
return null;
|
}
|
};
|
|
private Integer state;
|
private String description;
|
|
WindRoseEnum(int state, String description) {
|
this.state = state;
|
this.description = description;
|
}
|
|
|
public static WindRoseEnum getQueryObject(Integer key){
|
for (WindRoseEnum value : WindRoseEnum.values()) {
|
if (value.state.equals(key)){
|
return value;
|
}
|
}
|
return ONE_HOUR;
|
}
|
|
public abstract WindRoseTimeSlotQuery getTimeSlotByStrategy();
|
|
}
|