package cn.axzo.msg.center.service.enums;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;
import java.util.List;

/**
 * @description
 *   应用终端类型枚举
 * @author cold_blade
 * @date 2023/11/9
 * @version 1.0
 */
@Getter
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public enum AppTerminalTypeEnum {

    /**
     * B-安心筑企业版
     */
    B_ENTERPRISE_APP("B-安心筑企业版"),
    /**
     * C-安心筑工人版
     */
    C_WORKER_APP("C-安心筑工人版"),
    /**
     * CMS PC端
     */
    CMS_WEB_PC("CMS PC端"),
    /**
     * OMS PC端
     */
    OMS_WEB_PC("OMS PC端"),
    /**
     * 政府管理-政务
     */
    PC_GA_GENERAL("政府管理-政务")
    ;

    private final String desc;

    public boolean isManageTerminal() {
        return this == B_ENTERPRISE_APP || this == CMS_WEB_PC;
    }

    /**
     * @return 管理终端类型列表
     */
    public static List<AppTerminalTypeEnum> manageTerminals() {
        return Arrays.asList(B_ENTERPRISE_APP, CMS_WEB_PC);
    }

    /**
     * @return 所有终端
     */
    public static List<AppTerminalTypeEnum> allTerminals() {
        return Arrays.asList(AppTerminalTypeEnum.values());
    }

}