package com.platform.plugs.common.rpc;

import java.util.HashMap;
import java.util.Map;

/**
 * @Author TONG
 * @Date 2019/3/20 10:32
 **/
public class ErrorCodeMsg {
    private static Map<String, String> errorCodeMsgMap;
    static {
        errorCodeMsgMap = new HashMap<>();
        errorCodeMsgMap.put("NoRequest", "请求错误");
        errorCodeMsgMap.put("UnknownError", "未知错误");
        errorCodeMsgMap.put("ParamsError", "参数错误");
        errorCodeMsgMap.put("BussinessError", "业务错误");
        errorCodeMsgMap.put("Forbidden", "接口权限不足，请您联系管理员，配置访问权限。");
        errorCodeMsgMap.put("InvalidTemplate", "在系统中未查到指定的连麦转码模板。");
        errorCodeMsgMap.put("InvalidConfig.NotFound", "OssBucket错误，请您确认该OssBucket是否正确。");
        errorCodeMsgMap.put("InvalidSceneList.Malformed", "SceneList参数错误，请您确认该SceneList参数是否正确。");
        errorCodeMsgMap.put("InvalidScene.Malformed", "Scene参数错误，请您确认该Scene参数是否正确。");
        errorCodeMsgMap.put("InvalidImage.Malformed", "指定的ImageUrl错误，请您确认该ImageUrl是否正确。");
        errorCodeMsgMap.put("IndexOutOfBound", "超出索引范围，请您确认是否超出索引范围。");
        errorCodeMsgMap.put("InternalError", "内部错误，建议重试，如果多次重试报错请提交工单。");
        errorCodeMsgMap.put("InternalError", "内部错误，建议重试，如果多次重试报错请提交工单。");
        errorCodeMsgMap.put("InvalidIdentity.ServiceDisabled", "InvalidParameter参数错误，请您确认该InvalidParameter参数是否正确。");
        errorCodeMsgMap.put("RecordContentExceed", "此时间范围的内容超限，请您缩小查找范围。");
        errorCodeMsgMap.put("NoRecordContent", "开始时间和结束时间为空。");
        errorCodeMsgMap.put("InvalidOssBucket.NotFound", "OSSBucket参数错误，请您确认该OSS BUCKET参数是否正确。");
        errorCodeMsgMap.put("InvalidConfig.Changed", "ossbuckt开始结束时间已经改变。");
        errorCodeMsgMap.put("InvalidMixDomain.NotFound", "当前账户下未查到混流域名，请您确认该混流域名是否正确。");
        errorCodeMsgMap.put("InvalidImage", "指定的ImageUrl错误，请您确认该ImageUrl是否正确。");
        errorCodeMsgMap.put("InvalidImage.TooLarge", "图像太大，请您稍后重试。");
        errorCodeMsgMap.put("InvalidDomain.NotFound", "当前账户下未查到域名，请您确认该域名是否正确。");
        errorCodeMsgMap.put("InvalidAppName.Conflicted", "当前AppName下面已经配置过转码模板。");
        errorCodeMsgMap.put("InvalidAppName.TemplateExceed", "该AppName中已经模板已经达到系统允许的最多模板个数，不能再次添加了。");
        errorCodeMsgMap.put("InvalidStream.NotFound", "直播流不存在，请您确认直播流是否正确。");
        errorCodeMsgMap.put("InvalidUrl.Unsafe", "指定URL不安全，请您确认URL是否安全。");
        errorCodeMsgMap.put("InvalidTime.ValueNotSupported", "开始时间和结束时间不匹配。");
        errorCodeMsgMap.put("InvalidTime.Malformed", "制定时间错误，请您确认该制定时间是否正确。");
        errorCodeMsgMap.put("InvalidStreamNumber.Malformed", "流数超过限制，请您确认流数是否超过限制。");
        errorCodeMsgMap.put("InvalidStream.NotPublish", "未推流，请您确认推流是否正确。");
        errorCodeMsgMap.put("InvalidStream.NotStart", "此流未启动多路混流服务，请您确认多路混流服务是否正确。");
        errorCodeMsgMap.put("InvalidStream.NotConfig", "此流未进行混流配置，请您确认该流是否进行混流配置。");
        errorCodeMsgMap.put("InvalidStartTime.Malformed", "StartTime参数错误，请您确认该StartTime参数是否正确。");
        errorCodeMsgMap.put("InvalidSourceUrl.Unsafe", "指定SourceUrl不安全，请您确认SourceUrl是否安全。");
        errorCodeMsgMap.put("InvalidOverwriteOssObjectOrSequenceOssObject.Malformed", "OverwriteOssObject与SequenceOssObject参数任选其一。");
        errorCodeMsgMap.put("InvalidUrl", "URL参数错误，请您确认该URL参数是否正确。");
        errorCodeMsgMap.put("InvalidTransparency", "指定参数透明度错误，请您确认该指定参数透明度是否正确。");
        errorCodeMsgMap.put("InvalidText", "指定参数文本错误，请您确认该指定参数文本是否正确。");
        errorCodeMsgMap.put("InvalidStartTime.Malformed", "StartTime参数错误，请您确认该StartTime参数是否正确。");
        errorCodeMsgMap.put("InvalidSourceUrl", "SourceUrl参数错误，请您确认该SourceUrl参数是否正确。");
        errorCodeMsgMap.put("InvalidSliceOssObjectPrefix.Malformed", "SliceOssObjectPrefix参数错误，请您确认该SliceOssObjectPrefix参数是否正确。");
        errorCodeMsgMap.put("InvalidSizeRatioMode", "SizeRatioMode参数错误，请您确认该SizeRatioMode参数是否正确。");
        errorCodeMsgMap.put("InvalidSizeRatio", "SizeRatio参数错误，请您确认该SizeRatio参数是否正确。");
        errorCodeMsgMap.put("InvalidSequenceOssObject.Malformed", "SequenceOssObject参数错误，请您确认该SequenceOssObject参数是否正确。");
        errorCodeMsgMap.put("InvalidResumeTime.Malformed", "ResumeTime参数错误，请您确认该ResumeTime参数是否正确。");
        errorCodeMsgMap.put("InvalidRegionId", "RegionId参数错误，请您确认该RegionId参数是否正确。");
        errorCodeMsgMap.put("InvalidOverwriteOssObject.Malformed", "OverwriteOSSObject参数错误，请您确认该OverwriteOSSObject参数是否正确。");
        errorCodeMsgMap.put("InvalidOssObjectPrefix.Malformed", "OSSObjectPrefix参数错误，请您确认该OSSObjectPrefix参数是否正确。");
        errorCodeMsgMap.put("InvalidOssEndpoint.Malformed", "OSSEndpoint参数错误，请您确认该OSSEndpoint参数是否正确。");
        errorCodeMsgMap.put("InvalidOssBucket.Malformed", "OSSBucket参数错误，请您确认该OSS BUCKET参数是否正确。");
        errorCodeMsgMap.put("InvalidNotifyUrl.Malformed", "指定的notifyurl错误，请您确认该notifyurl参数是否正确。");
        errorCodeMsgMap.put("InvalidNormalizedY", "指定的NormalizedX错误，请您确认该NormalizedX参数是否正确。");
        errorCodeMsgMap.put("InvalidNormalizedX", "指定的NormalizedX错误，请您确认该NormalizedX参数是否正确。");
        errorCodeMsgMap.put("InvalidFormat.Malformed", "Format参数错误，请您确认该Format参数是否正确。");
        errorCodeMsgMap.put("InvalidEndTime.Malformed", "结束时间错误，请您确认结束时间是否正确。");
        errorCodeMsgMap.put("InvalidColor", "指定参数颜色错误，请您确认该参数颜色是否正确。");
        errorCodeMsgMap.put("InvalidBorderWidth", "指定参数错误，请您确认该参数是否正确。");
        errorCodeMsgMap.put("InvalidBorderColor", "指定参数错误，请您确认该参数是否正确。");
        errorCodeMsgMap.put("InvalidAnimate", "指定参数动画错误，请您确认该参数动画是否正确。");
        errorCodeMsgMap.put("InvalidAlignment", "指定参数对齐格式无效，请您确认该参数对齐格式是否正确。");
        errorCodeMsgMap.put("InvalidOssObject.Malformed", "OSSObject参数错误，请您确认该OSSObject参数是否正确。");
        errorCodeMsgMap.put("InvalidOssEndpoint.Malformed", "OSSObject参数错误，请您确认该OSSObject参数是否正确。");
        errorCodeMsgMap.put("InvalidOssBucket.Malformed", "OSSBucket参数错误，请您确认该OSS BUCKET参数是否正确。");
        errorCodeMsgMap.put("InvalidNotifyUrl.Unsafe", "指定的notifyurl错误，请您确认该notifyurl参数是否正确。");
        errorCodeMsgMap.put("InvalidNotifyUrl.Malformed", "指定的notifyurl错误，请您确认该notifyurl参数是否正确。");
        errorCodeMsgMap.put("InvalidMixStream.NotPublish", "未推流，请您确认推流是否正确。");
        errorCodeMsgMap.put("InvalidEndTime.Malformed", "结束时间错误，请您确认结束时间是否正确。");
        errorCodeMsgMap.put("InvalidEndTime.Mismatch", "结束时间与开始时间不匹配，请您确认时间的匹配度。");
        errorCodeMsgMap.put("InvalidCycleDuration.Malformed", "CycleDuration参数格式错误，请您确认该CycleDuration参数格式是否正确。");
        errorCodeMsgMap.put("Throttling", "您这个时段的流量已经超限。如果不能满足现有业务要求可以提工单进行申请。");
        errorCodeMsgMap.put("MissingOssObjectPrefix", "缺少OssObjectPrefix值，请您确认OssObjectPrefix值是否正确。");
        errorCodeMsgMap.put("IllegalOperation", "接口权限不足，请您联系管理员，配置访问权限。");
        errorCodeMsgMap.put("ConfigAlreadyExists", "配置已添加。");
        errorCodeMsgMap.put("ConfigAlreadyExists", "配置已添加。");
        errorCodeMsgMap.put("InvalidConfig.NotFound", "配置错误，请您确认该配置是否正确。");

    }

    public static String getErrorMsg(String errorCode) {
        if(errorCode == null || errorCode.trim().length() <= 0) return null;
        if(errorCodeMsgMap.containsKey(errorCode))
            return errorCodeMsgMap.get(errorCode);
        else
            return null;
    }
}
