package com.sjyt.icom.asst.common.enums;

import cn.hutool.core.util.ObjectUtil;
import com.sjyt.icom.asst.common.exception.CmdCategoryException;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * <p>音视频回执消息枚举</p>
 *
 * @author renyanru
 * @version V1.0.0
 * @date 2022/6/17 17:13
 */
@Getter
@AllArgsConstructor
public enum MsgTypeEnum {
    /**
     * 错误返回
     */
    RespError("-1"),
    /**
     * 同意
     */
    RespAgree("1"),
    /**
     * 拒绝
     */
    RespRefuse("2"),
    /**
     * answer通知
     */
    RespAnswer("3"),
    /**
     * 加入房间
     */
    RespJoin("4"),
    /**
     * 一对一音视频请求发起者标识（推流）
     */
    ReqSponsor("5"),
    /**
     * 一对一音视频请求发起者标识（拉流）
     */
    ReqReceived("6"),
    /**
     * 离开房间
     */
    RespLeave("7"),
    /**
     * 一对一音视频通话申请通知
     */
    RespApply("8"),
    /**
     * 对方占线
     */
    RespBusy("9");

    public final String CODE;
    public static final String META ="msgType";


    public static MsgTypeEnum of(String code) {
        MsgTypeEnum[] values = MsgTypeEnum.values();
        for (MsgTypeEnum value : values) {
            if (ObjectUtil.equals(code, value.CODE)) {
                return value;
            }
        }
        throw new CmdCategoryException("msgType类型异常");
    }
}
