package com.psbc.cpsp.entity.enums;

import java.text.MessageFormat;

import static com.psbc.cpsp.entity.config.ResponsePrefixConfig.preFix;
import static com.psbc.cpsp.entity.constant.ResponseConstant.*;


/**
 * 第三方错误-Z
 * 说明：行外因素，处理人为第三支持  例举：生态协同/开缴等第三方系统
 * 格式：一级分类代码 + 系统号 + 二级分类代码 + 6位响应码，描述需与二级分类代码匹配
 * 二级分类从ResponseConstant中引用
 */
public enum ThirdErrRespCodeEnum implements BaseRespCodeInterFace {

    /**
     * 第三方错误-Z, 网络通讯-NC, 外系统系统异常-网络连接失败
     */
    NETWORK_CONNECT_EXCEPTION(THIRD_PARTY_ERROR + preFix + NETWORK_COMMUNICATION + "820001", "外系统异常-网络连接失败");

    /**
     * 园区16位响应码-枚举编码
     */
    private final String code;

    /**
     * 响应描述信息
     */
    private final String desc;

    @Override
    public String getCode() {
        return code;
    }

    @Override
    public String getDesc() {
        return desc;
    }

    @Override
    public String getDesc(String... args) {
        if (args == null) {
            return desc;
        }

        return MessageFormat.format(desc, args);
    }

    ThirdErrRespCodeEnum(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }
}
