ResultCode.java 1.51 KB
package com.xly.erp.common.response;

/**
 * 统一错误码枚举(docs/05 / spec § 6 SSoT)。
 *
 * <p>REQ-USR-001 T2:一次性建好本枚举,含本 REQ 使用的 0/40001/40301/40901,
 * 并预留后续 REQ 复用的 40101/40302/40401/42201,避免后续重复修改公共文件。</p>
 */
public enum ResultCode {

    /** 成功。 */
    SUCCESS(0, "success"),
    /** 参数校验失败(字段格式 / 必填 / 枚举越界 / 关联 id 不存在)。 */
    PARAM_INVALID(40001, "参数校验失败"),
    /** 认证失败(用户名或密码错误;预留 REQ-USR-004)。 */
    UNAUTHORIZED(40101, "认证失败"),
    /** 无权限(非管理员调用)。 */
    FORBIDDEN(40301, "无权限"),
    /** 账号已禁用(预留 REQ-USR-004)。 */
    ACCOUNT_DISABLED(40302, "账号已禁用"),
    /** 资源不存在(预留 REQ-USR-002)。 */
    NOT_FOUND(40401, "资源不存在"),
    /** 用户名已存在(sUserName 全局唯一冲突)。 */
    USERNAME_EXISTS(40901, "用户名已存在"),
    /** 分页参数非法(预留 REQ-USR-003)。 */
    PAGE_PARAM_INVALID(42201, "分页参数非法"),
    /** 系统内部错误(兜底)。 */
    SYSTEM_ERROR(50000, "系统繁忙,请稍后重试");

    private final int code;
    private final String message;

    ResultCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}