ErrorCode.java 2.26 KB
package com.xly.constant;

import lombok.Getter;

/***
 * @Author 钱豹
 * @Date 23:04 2026/1/30
 * @Param
 * @return
 * @Description 异常码枚举
 **/
@Getter
public enum ErrorCode {

    // 成功
    SUCCESS(200, "操作成功"),
    SUCCESSMSG(201, "成功"),
    ERRORMSG(202, "失败"),
    WFHYY(203, "未返回原因"),

    // 客户端错误
    BAD_REQUEST(400, "请求参数错误"),
    UNAUTHORIZED(401, "未授权"),
    FORBIDDEN(403, "禁止访问"),
    NOT_FOUND(404, "资源不存在"),

    // 参数错误
    PARAM_ERROR(40001, "参数错误"),
    PARAM_REQUIRED(40002, "参数缺失"),
    PARAM_TYPE_ERROR(40003, "参数类型错误"),
    PARAM_FORMAT_ERROR(40004, "参数格式错误"),

    // 业务错误
    BUSINESS_ERROR(50001, "业务异常"),
    DATA_ERROR(50002, "数据异常"),
    DATA_NOT_FOUND(50003, "数据不存在"),
    DATA_EXISTS(50004, "数据已存在"),
    DATA_STATE_ERROR(50005, "数据状态异常"),

    // 用户相关
    USER_NOT_FOUND(60001, "用户不存在"),
    USER_DISABLED(60002, "用户已禁用"),
    USER_PASSWORD_ERROR(60003, "密码错误"),
    USER_NOT_LOGIN(60004, "用户未登录"),

    // 权限相关
    PERMISSION_DENIED(70001, "权限不足"),
    ROLE_NOT_FOUND(70002, "角色不存在"),

    // 系统错误
    SYSTEM_ERROR(10000, "系统异常"),
    SERVICE_UNAVAILABLE(10001, "服务不可用"),
    DB_ERROR(10002, "数据库异常"),
    NETWORK_ERROR(10003, "网络异常"),
    THIRD_PARTY_ERROR(10004, "第三方服务异常"),
    CONFIG_ERROR(10005, "配置错误"),

    // 文件相关
    FILE_UPLOAD_ERROR(80001, "文件上传失败"),
    FILE_NOT_FOUND(80002, "文件不存在"),
    FILE_TYPE_ERROR(80003, "文件类型错误"),
    FILE_SIZE_ERROR(80004, "文件大小超限"),

    PYTHON_ERROR(9001, "Python脚本执行失败");

    private final Integer code;
    private final String message;

    ErrorCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * 根据code获取ErrorCode
     */
    public static ErrorCode getByCode(Integer code) {
        for (ErrorCode errorCode : values()) {
            if (errorCode.getCode().equals(code)) {
                return errorCode;
            }
        }
        return SYSTEM_ERROR;
    }
}