package com.base.orbit.Exception;

/**
 * 默认模块 内的错误码
 *
 * @author jhzhu
 * @date 2022-02-11
 */
public enum DefaultSystemErrorCodeEnum implements ErrorCode {

    /** 指定服务 & 指定模块 内的错误码序号 */
    DEFAULT_ERROR("000"),
    UNSUPPORTED_HTTP_REQUEST_METHOD("001"),
    PARMA_ERROR("002"),
    ;

    /** 错误码, 规则: 服务(3位) + 模块(3位) + 序号(3位) */
    private final String errorCode;
    /** 错误消息默认内容 */
    private final String defaultMsgContent;

    DefaultSystemErrorCodeEnum(String serialNumber) {
        this(serialNumber, "");
    }

    DefaultSystemErrorCodeEnum(String serialNumber, String defaultMsgContent) {
        this.defaultMsgContent = defaultMsgContent;
        this.errorCode = ServiceModuleInfo.builder()
                .service(ServiceModuleInfo.SERVICE_ORBIT_BASE_SERVER)
                .module(ServiceModuleInfo.SERVICE_ORBIT_BASE_SERVER_MODULE_USER)
                .serialNumber(serialNumber)
                .buildErrorCode();
    }

    @Override
    public String getCode() {
        return this.errorCode;
    }

    @Override
    public String getDefaultMsgContent() {
        return this.defaultMsgContent;
    }
}
