package com.fs.audit.enums;

import lombok.Getter;

/**
 * 审核类型枚举
 * 用于配置审核模板
 */
@Getter
public enum AuditTypeEnum {

    /**
     * 定级审核
     */
    GRADE_AUDIT("ADUIT_DJSH", "定级审核"),

    /**
     * 服务单审核
     */
    SERVICE_ORDER_AUDIT("ADUIT_FWDSH", "服务单审核"),

    /**
     * 创建任务审核
     */
    TASK_CREATE_AUDIT("ADUIT_CJRW", "创建任务审核"),

    /**
     * 完成任务审核
     */
    TASK_COMPLETE_AUDIT("ADUIT_WCRWSH", "完成任务审核"),

    /**
     * 提现审核
     */
    WITHDRAW_AUDIT("ADUIT_TXSH", "提现审核"),
    /**
     * Doctor 审核
     */
    DOCTOR_AUDIT("ADUIT_JZSH", "讲者审核"),

    /**
     * 服务单任务生成配置模板 审核
     */
    AUDIT_FWDRWSCPZ("AUDIT_FWDRWSCPZ", "服务单任务生成配置模板");
    /**
     * 审核类型ID
     */
    private final String code;

    /**
     * 审核类型描述
     */
    private final String desc;

    AuditTypeEnum(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    /**
     * 根据ID获取枚举
     */
    public static AuditTypeEnum getById(String code) {
        if (code == null) {
            return null;
        }
        for (AuditTypeEnum type : values()) {
            if (type.getCode().equals(code)) {
                return type;
            }
        }
        return null;
    }
}
