package com.qxueyou.scc.base.model;
|
|
import com.qxueyou.scc.base.util.CollectionUtils;
|
|
import java.io.Serializable;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* 操作结果类 接口统一返回数据类型
|
*
|
* {
|
* "result": 返回结果(boolean值),
|
* "data": 返回数据(object),
|
* "msg": 返回消息,
|
* }
|
*
|
* @author zhiyong
|
*
|
*/
|
public class Result implements Serializable {
|
|
private static final long serialVersionUID = -9024761391789730558L;
|
|
/** 成功:true,失败:false */
|
private boolean success;
|
|
/** 返回编码 */
|
private int resultCode ;
|
|
/** 返回消息 */
|
private String msg;
|
|
/** 结果数据 */
|
private Object data;
|
|
public static final String MSG_SUCCESS = "success";
|
|
public static final String MSG_FAIL = "fail";
|
/**
|
* 非法请求状态码
|
*/
|
public static final int CODE_FORBIDDEN = 403;
|
|
public static final Result SUCCESS = new Result(true);
|
|
public static final Result FAIL = new Result(false);
|
|
public Result() {
|
super();
|
}
|
|
public Result(boolean success){
|
this.success=success;
|
}
|
|
public Result( boolean success,int resultCode ){
|
this.success=success;
|
this.resultCode = resultCode ;
|
}
|
|
public Result( boolean success,int resultCode,String msg){
|
this.success=success;
|
this.resultCode = resultCode ;
|
this.msg=msg;
|
}
|
|
public Result(boolean success,String msg){
|
this.success=success;
|
this.msg=msg;
|
}
|
|
public Result(boolean success,String msg, Object data){
|
this.success=success;
|
this.msg=msg;
|
this.data=data;
|
}
|
public Result(boolean success, Object... objs) {
|
this.success = success;
|
this.msg = success ? MSG_SUCCESS : MSG_FAIL;
|
this.data = CollectionUtils.newObjectMap(objs);
|
}
|
|
public boolean isSuccess() {
|
return success;
|
}
|
|
public void setSuccess(boolean success) {
|
this.success = success;
|
}
|
|
public void setResult(boolean success) {
|
this.success = success;
|
}
|
|
public Boolean getSuccess() {
|
return success;
|
}
|
|
public String getMsg() {
|
return msg;
|
}
|
|
public void setMsg(String msg) {
|
this.msg = msg;
|
}
|
|
public Object getData() {
|
return data;
|
}
|
|
public void setData(Object data) {
|
this.data = data;
|
}
|
|
|
public int getResultCode() {
|
return resultCode;
|
}
|
|
public void setResultCode(int resultCode) {
|
this.resultCode = resultCode;
|
}
|
|
@SuppressWarnings("rawtypes")
|
public Object getData(String key) {
|
|
if(data!=null && Map.class.isAssignableFrom(data.getClass())) {
|
return ((Map)data).get(key);
|
}
|
|
return null;
|
}
|
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
public <T> T getDataT(String key) {
|
|
if(data!=null && Map.class.isAssignableFrom(data.getClass())) {
|
return (T)((Map)data).get(key);
|
}
|
|
return null;
|
}
|
|
@SuppressWarnings({ "unchecked", "rawtypes" })
|
public void addData(String key,Object value) {
|
|
if(data!=null && Map.class.isAssignableFrom(data.getClass())) {
|
((Map)data).put(key, value);
|
return;
|
}
|
|
Map<String,Object> map = new HashMap<String,Object>(1);
|
map.put(key, value);
|
|
this.data = map;
|
}
|
|
|
}
|