package com.infoepoch.pms.agent.platform.model.domain;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

/**
 * 供应商类型枚举。
 */
@Getter
@RequiredArgsConstructor
public enum ProviderType {
    DASHSCOPE("DASHSCOPE", "阿里云 DashScope"),
    OPENAI("OPENAI", "OpenAI");

    private final String code;
    private final String displayName;

    /**
     * 根据编码解析供应商类型。
     *
     * @param code 类型编码
     * @return 匹配的供应商类型，不存在时返回 null
     */
    public static ProviderType fromCode(String code) {
        for (ProviderType type : values()) {
            if (type.getCode().equalsIgnoreCase(code)) {
                return type;
            }
        }
        return null;
    }
}
