package com.iotechn.unimall.app.common;

import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * @ClassName ErrorCodeEnums
 * @Description 接口返回错误码
 * @Author Ying.bw
 * @Date 2020/5/14 18:36
 * @Version 1.0
 */
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum ErrorCodeEnums {
    /*
    异常编码格式：A-BB-CCC
    A：代表错误级别，1表示系统级错误，2表示特定服务级错误，3表示通用服务级错误。
    BB：代表错误项目或者模块号，从00开始。
    CCC：具体错误编号，自增，从001开始。
    */
    SUCCESS("0", "success"),
//    LOGIN_ERROR("101001", "登录异常"),
    /* 公司信息异常错误代码 --start*/
        ERROR_QUERY_EXCEPTION("1001","查询异常"),
        ERROR_ADD_EXCEPTION("1002","新增信息失败！"),
        ERROR_UPDATE_EXCEPTION("1003","修改信息失败！"),
        ERROR_DELETE_EXCEPTION("1004","删除信息失败！"),
        ERROR_CHCEK_EXCEPTION("1005","该名头已存在，保存失败！"),



    /*参数*/
    ERROR_PARAMETER_EXCEPTION("1004","参数异常！"),
    ERROR_NO_DATE("1005","无数据！"),
    ERROR_ADD_CAR("1006","填写交易合同信息失败！")

    ;



    public static final String codeName = "errcode";

    private String errcode;
    private String errmessage;

    ErrorCodeEnums(String errcode, String errmessage){
        this.errcode = errcode;
        this.errmessage = errmessage;
    };

    public String getErrcode() {
        return errcode;
    }

    public void setErrcode(String errcode) {
        this.errcode = errcode;
    }

    public String getErrmessage() {
        return errmessage;
    }

    public void setErrmessage(String errmessage) {
        this.errmessage = errmessage;
    }

    public JSONObject toJSONObject() {
        JSONObject out = new JSONObject();
        out.put("errcode", errcode);
        out.put("errmessage", errmessage);
        return out;
    }

    public static JSONObject toJSONObjectPlus(String errcode, String errmessage ) {
        JSONObject out = new JSONObject();
        out.put("errcode", errcode);
        out.put("errmessage", errmessage);
        return out;
    }

    @Override
    public String toString() {
        return toJSONObject().toString();
    }

    public static void main(String[] args) {
        ResultVO resultVO = ResultVO.success();
    }
}
