package com.aircraft.modules.order.domain.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * 订单类型枚举类
 *
 * @author chenxiky
 * @version 1.0.0
 * @since 2025/7/25
 */
@Getter
@AllArgsConstructor
public enum OrderTypeEnum {
    /**
     * 载物订单
     */
    ORDER_TYPE_CARGO(1, "载物飞行"),
    /**
     * 载人订单
     */
    ORDER_TYPE_PERSON(2, "载人飞行");

    /**
     * 订单类型 Code
     */
    private final Integer code;

    /**
     *  订单类型描述
     */
    private final String description;

    /**
     * 根据code获取枚举
     *
     * @param code 编码
     * @return  {@link OrderTypeEnum}
     */
    public static OrderTypeEnum getInstance(Integer code) {
        return Arrays.stream(OrderTypeEnum.values())
                .filter(o -> o.getCode().equals(code)).findFirst().orElse(null);
    }

}
