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;
}
}