package com.fs.watch.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.util.Objects;
import java.util.stream.Stream;

@Getter
@NoArgsConstructor
@AllArgsConstructor
public enum WatchHrStatusEnum implements HealthStatusEnum{

    NORMAL(0,"正常",null,null,null,null),
    LOW(1,"房室传导阻滞",
            "您本周出现了%d次心率过缓异常，提示窦房结功能障碍、甲状腺功能减退、心肌炎等疾病风险较高。",
            "心动过缓指心率低于正常范围，可能影响心脏泵血功能。",
            "避免剧烈运动，监测是否伴头晕/乏力。心率持续<50次或晕厥需查动态心电图。",
            "避免突然体位改变；限制咖啡因在上午饮用；冬季注意颈部保暖。"
            ),
    FAST(2,"心动过速",
            "您本周出现了%d次心动过速异常，提示甲状腺功能亢进、贫血、心力衰竭等疾病风险较高。",
            "心动过速指心率异常增快，可能增加心脏负荷和耗氧量。",
            "休息并深呼吸，减少咖啡因和酒精摄入。持续>120次/分或伴胸痛需急诊。",
            "练习冥想或正念呼吸；避免能量饮料和浓茶；运动时使用心率带监测。"
    );

    private Integer value;
    private String desc;
    private String prediction;
    //解析
    private String analysis;
    //治疗建议
    private String suggestion;
    //注意事项
    private String precautions;

    public static WatchHrStatusEnum toType(Integer value) {
        return Stream.of(WatchHrStatusEnum.values())
                .filter(p -> Objects.equals(p.value, value))
                .findAny()
                .orElse(null);
    }
}
