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
/**
 *      * 重度: 收缩压 > 180 mmHg 或 舒张压 > 110 mmHg 1
 *      * 中度: 收缩压在 160-179 mmHg 之间 或 舒张压在 100-109 mmHg 之间 2
 *      * 轻度: 收缩压在 140-159 mmHg 之间 或 舒张压在 90-99 mmHg 之间 3
 *      * 正常高值: 收缩压在 130-139 mmHg 之间 或 舒张压在 85-89 mmHg 之间 4
 *      * 偏低: 收缩压 < 90 mmHg 或 舒张压 < 60 mmHg 5
 *      * 正常: 收缩压在 90-139 mmHg 之间 且 舒张压在 60-89 mmHg 之间 6
 */
public enum WatchBpStatusEnum {

    HYPERTENSION(1,"重度(高血压)"),
    NORMAL1(2,"中度"),
    NORMAL2(3,"轻度"),
    NORMAL3(4,"正常高值"),
    HYPOTENSION(5,"偏低(低血压)"),
    NORMAL(6,"正常");

    private Integer value;
    private String desc;

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