package com.zanxiang.game.module.base.pojo.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Objects;

/**
 * @author : lingfeng
 * @time : 2022-06-30
 * @description : 操作系统类型
 */
@Getter
@AllArgsConstructor
public enum OsEnum {

    /**
     * 安卓
     */
    SYSTEM_ANDROID(1, "android", "安卓手机操作系统"),

    /**
     * 苹果
     */
    SYSTEM_IOS(2, "ios", "苹果手机操作系统"),

    /**
     * window操作系统
     */
    SYSTEM_WINDOW(3, "windows", "window操作系统"),

    /**
     * Mac操作系统
     */
    SYSTEM_MAC(4, "mac", "Mac操作系统"),

    /**
     * linux操作系统
     */
    SYSTEM_LINUX(5, "linux", "linux操作系统"),

    /**
     * 华为 OpenHarmony 系统
     */
    SYSTEM_OHOS(6, "ohos", "华为鸿蒙系统"),

    /**
     * 前端开发工具
     */
    SYSTEM_DEVTOOLS(999, "devtools", "前端开发工具"),

    /**
     * 其它操作系统
     */
    SYSTEM_OTHER(0, "other", "other操作系统");

    /**
     * 数据类型
     */
    private final Integer osType;

    /**
     * 平台id
     */
    private final String os;

    /**
     * 平台名称
     */
    private final String osName;


    /**
     * 得到名字
     *
     * @param name 名字
     * @return {@link Integer}
     */
    public static Integer getByName(String name) {
        for (OsEnum osEnum : OsEnum.values()) {
            if (Objects.equals(name, osEnum.getOsName())) {
                return osEnum.getOsType();
            }
        }
        return OsEnum.SYSTEM_OTHER.osType;
    }
}
