package com.zanxiang.game.data.serve.pojo.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Objects;

/**
 * @author : tianhua
 * @time : 2023-10-09
 * @description : 客户端类型枚举
 */
@Getter
@AllArgsConstructor
public enum DeviceTypeEnum {

    /**
     * 安卓APP
     */
    ANDROID_APP(1, "安卓APP"),

    /**
     * 苹果iosAPP
     */
    IOS_APP(2, "iosAPP"),

    /**
     * H5网页
     */
    H5(3, "H5网页"),

    /**
     * 小程序
     */
    APPLET(4, "小程序");

    /**
     * 标识ID
     */
    private Integer id;

    /**
     * 类型名
     */
    private String name;

    /**
     * 获取客户端类型名字
     *
     * @param deviceTypeId id
     * @return {@link String}
     */
    public static String getName(Integer deviceTypeId) {
        DeviceTypeEnum deviceType = DeviceTypeEnum.getDeviceType(deviceTypeId);
        return deviceType == null ? null : deviceType.getName();
    }

    /**
     * 获取客户端类型枚举
     *
     * @param deviceTypeId id
     * @return DeviceTypeEnum
     */
    public static DeviceTypeEnum getDeviceType(Integer deviceTypeId) {
        for (DeviceTypeEnum deviceTypeEnum : DeviceTypeEnum.values()) {
            if (Objects.equals(deviceTypeEnum.getId(), deviceTypeId)) {
                return deviceTypeEnum;
            }
        }
        return null;
    }

}
