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 WatchBgStatusEnum implements HealthStatusEnum{

    HYPERGLYCEMIA(1,"高风险(糖尿病)",
            "您本周出现了%d次高血糖异常，提示糖尿病、肾病、视网膜病变、周围神经病变等风险较高。",
            "糖尿病是一种以高血糖为特征的代谢性疾病，长期高血糖会导致多器官损害。",
            "严格记录血糖，遵医嘱用药；警惕高血糖症状（口渴、多尿）。需内分泌科制定长期管理方案，定期筛查并发症。",
            "学习碳水化合物计数法；每日检查足部有无破损；每年进行眼底和肾功能检查。"),
    HYPOGLYCEMIA(2,"低血糖",
            "您本周出现了%d次低血糖异常，提示低血糖症、肾上腺功能减退等疾病风险较高。",
            "低血糖是指血液中葡萄糖浓度低于正常水平，可能引发头晕、冷汗等症状，严重时可导致意识障碍。",
            "立即进食15g快速升糖食物（如葡萄糖片、果汁）；10-15分钟后复测血糖。如频繁发生低血糖，需排查胰岛素瘤或药物过量。",
            "随身携带糖果/饼干；避免空腹运动；糖尿病患者需记录低血糖发生时间与用药关系。"
            ),
    HIGHER(3,"糖尿病前期",
            "您本周出现了%d次血糖偏高异常，提示糖尿病、代谢综合征、心血管疾病等风险较高。",
            "糖尿病前期是血糖水平高于正常但未达糖尿病诊断标准的状态，属于糖尿病发展的预警阶段。",
            "减少精制糖和饱和脂肪摄入，每周≥150分钟中等强度运动。3-6个月复查血糖，必要时进行糖耐量试验。",
            "主食替换为全谷物如燕麦、糙米；每周3次抗阻训练如深蹲；控制腰围（男<90cm，女<85cm）。"),
    GENERAL(4,"良好",null,null,null,null),
    NORMAL(5,"正常",null,null,null,null);

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

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