当前位置: 首页 > 工具软件 > Databus > 使用案例 >

java 自己实现的非常好用的后端给前端返回载体类DataBus

东方涛
2023-12-01
package cn.com.wind.bdc.day5lx.util;

/**
 * 向前端返回信息,支持链式调用
 * Created by liangchen on 2020/10/28 13:58
 */
public class DataBus {
    //信息详情
    private String result_msg;// 查询成功  未查询到数据  报错

    //成功失败信息
    private String result_code;// SUCCESS  FAILED

    //公共通知编码
    private Integer result_num;// 200 成功  500 失败 借用 HTTP 状态

    //数据
    private Object data;

    public DataBus() {
        this(null, "SUCCESS", 200, null);
    }

    public DataBus(String msg, String code) {
        this(msg, code, 200, null);
    }

    public DataBus(String msg, String code, Integer num) {
        this(msg, code, num, null);
    }

    public DataBus(String msg, String code, Integer num, Object data) {
        this.result_msg = msg;
        this.result_code = code;
        this.result_num = num;
        this.data = data;
    }

    public DataBus(ResultStatus resultStatus) {
        this.result_msg = resultStatus.getResult_msg();
        this.result_code = resultStatus.getResult_code();
        this.result_num = resultStatus.getResult_num();
    }

    public DataBus(Object data) {
        this.data = data;
    }

    public String getResult_msg() {
        return result_msg;
    }

    public void setResult_msg(String result_msg) {
        this.result_msg = result_msg;
    }

    public String getResult_code() {
        return result_code;
    }

    public void setResult_code(String result_code) {
        this.result_code = result_code;
    }

    public Integer getResult_num() {
        return result_num;
    }

    public void setResult_num(Integer result_num) {
        this.result_num = result_num;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    /**
     * 设置返回载体
     *
     * @param msg
     * @param code
     * @param num
     */
    public void setInfo(String msg, String code, Integer num) {
        this.result_msg = msg;
        this.result_code = code;
        this.result_num = num;
    }

    /**
     * 成功返回快速调用
     *
     * @param data
     * @return
     */
    public static DataBus success(Object data) {
        DataBus dataBus = new DataBus(ResultStatus.SUCCESS);
        dataBus.data = data;
        return dataBus;
    }

    /**
     * 失败返回快速调用
     *
     * @param msg
     * @return
     */
    public static DataBus error(String msg) {
        DataBus dataBus = new DataBus(ResultStatus.FAILED);
        dataBus.result_msg = msg;
        return dataBus;
    }
    /**
     * 自定义快速返回
     *
     * @param resultStatus
     * @return
     */
    public static DataBus getDataBus(ResultStatus resultStatus) {
        DataBus dataBus = new DataBus(resultStatus);
        return dataBus;
    }
    /**
     * 自定义快速返回
     *
     * @param resultStatus
     * @param data
     * @return
     */
    public static DataBus getDataBus(ResultStatus resultStatus,Object data) {
        DataBus dataBus = new DataBus(resultStatus);
        dataBus.data = data;
        return dataBus;
    }
}


/**
 * 与DataBus搭配的状态类,可以自定义添加
 * Created by liangchen on 2020/11/10 13:40
 */
public enum ResultStatus {
    SUCCESS("操作成功","SUCCESS",200),
    FAILED("操作失败","FAILED",500),
    DATA_IS_NULL("查询结果为空","DATA_IS_NULL",404),
    ;

    //信息详情
    private String result_msg;
    //成功失败信息
    private String result_code;
    //公共通知编码
    private Integer result_num;

    ResultStatus(String result_msg, String result_code, Integer result_num) {
        this.result_msg = result_msg;
        this.result_code = result_code;
        this.result_num = result_num;
    }

    public String getResult_msg() {
        return result_msg;
    }

    public void setResult_msg(String result_msg) {
        this.result_msg = result_msg;
    }

    public String getResult_code() {
        return result_code;
    }

    public void setResult_code(String result_code) {
        this.result_code = result_code;
    }

    public Integer getResult_num() {
        return result_num;
    }

    public void setResult_num(Integer result_num) {
        this.result_num = result_num;
    }
}
 类似资料: