package com.ycwl.basic.image.pipeline.enums;

/**
 * 管线处理场景枚举
 * 用于区分不同的图片处理业务场景
 */
public enum PipelineScene {

    /**
     * 图片打印场景
     * 包括照片打印、拼图打印等
     */
    IMAGE_PRINT("image_print", "图片打印"),

    /**
     * 图片增强场景
     * 包括图片美化、滤镜处理等
     */
    IMAGE_ENHANCE("image_enhance", "图片增强"),

    /**
     * 源图片超分辨率增强场景
     * IPC设备拍摄的源图片进行质量提升
     */
    SOURCE_PHOTO_SUPER_RESOLUTION("source_photo_sr", "源图片超分辨率增强"),

    /**
     * AI相机照片增强场景
     * AI相机拍摄的照片进行超分辨率和质量增强
     */
    AI_CAM_ENHANCE("ai_cam_enhance", "AI相机照片增强");

    private final String code;
    private final String description;

    PipelineScene(String code, String description) {
        this.code = code;
        this.description = description;
    }

    public String getCode() {
        return code;
    }

    public String getDescription() {
        return description;
    }

    /**
     * 根据code获取枚举
     */
    public static PipelineScene fromCode(String code) {
        if (code == null) {
            return null;
        }
        for (PipelineScene scene : values()) {
            if (scene.code.equals(code)) {
                return scene;
            }
        }
        return null;
    }
}
