XResponse.java 2.62 KB
package com.xiniunet.open.api.client;

import com.alibaba.fastjson.annotation.JSONField;
import com.xiniunet.open.api.client.error.ErrorType;
import com.xiniunet.open.api.client.error.SubError;
import com.xiniunet.open.api.client.error.Error;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**


 */
public class XResponse implements Serializable {
    private static final long serialVersionUID = 5014379068811962022L;
    @JSONField(name = "code")
    private String errorCode;

    @JSONField(name = "message")
    private String msg;
    private String solution;

    private List<Error> errors = new ArrayList<>();
    private List<SubError> subErrors;

    private String body;
    private Map<String, String> params;

    public String getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(String errorCode) {
        this.errorCode = errorCode;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getSolution() {
        return solution;
    }

    public void setSolution(String solution) {
        this.solution = solution;
    }

    public String getBody() {
        return body;
    }

    public void setBody(String body) {
        this.body = body;
    }

    public Map<String, String> getParams() {
        return params;
    }

    public void setParams(Map<String, String> params) {
        this.params = params;
    }

    public boolean isSuccess() {
        return this.errorCode == null && this.errorCode == null;
    }

    public List<SubError> getsubErrors() {
        return subErrors;
    }

    public void setsubErrors(List<SubError> subErrors) {
        this.subErrors = subErrors;
    }

    public List<Error> getErrors() {
        return errors;
    }

    public void addErrors(List<Error> errors) {
        this.errors = errors;
    }
    public void addError(String code,String message){
        Error error = new Error();
        error.setCode(code);
        error.setMessage(message);
        this.addError(error);
    }
    public void addError(ErrorType type, String message) {
        Error error = new Error();
        error.setType(type);
        error.setMessage(message);
        this.addError(error);
    }
    public void addError(Error error){
        this.errors.add(error);
    }

    public boolean hasError(){
        if(this.errorCode == null || "0".equals(this.errorCode)){
            return ( errors != null ) && !errors.isEmpty();
        } else {
            this.addError(ErrorType.SYSTEM_ERROR,msg);
            return true;
        }
    }
}