package org.ta.pddserver.model.enums;

public enum ErrorEnum {
    LOSE(101, "丢失"),
    DAMAGE(102, "破损"),
    RESTRICTED(103, "禁限运-待确认处理方式，确认后可退货或者销毁"),
    OVERWEIGHT(104, "超重超体积-待确认处理方式，确认后可退货或继续运输"),
    MISSING(105, "补全姓名、地址、联系方式信息"),
    OTHER(106, "其他待确认事项"),
    UNKNOWN(-1, "未知");

    private final int code;
    private final String desc;

    // 枚举构造方法默认私有，无需 Spring 注入
    ErrorEnum(int code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    // 仅保留 Getter，无 Setter
    public int getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    // 根据状态码查询枚举（核心业务方法）
    public static ErrorEnum getByCode(int code) {
        for (ErrorEnum status : ErrorEnum.values()) {
            if (status.getCode() == code) {
                return status;
            }
        }
        return UNKNOWN;
    }

}
