public class Result < T > implements Serializable {
private static final long serialVersionUID = - 7264375751490927423L ;
private String code = "00000" ;
private String msg;
private T data;
public < T > Result ( ) {
}
public Result ( String code, String msg) {
this . code = code;
this . msg = msg;
}
public Result ( String code, String msg, T data) {
this . code = code;
this . msg = msg;
this . data = data;
}
public static Result < Object > ok ( ) {
return new Result < > ( ResultCode . SUCCESS. getCode ( ) , ResultCode . SUCCESS. getMsg ( ) ) ;
}
public static < T > Result < T > ok ( T data) {
return new Result < > ( ResultCode . SUCCESS. getCode ( ) , ResultCode . SUCCESS. getMsg ( ) , data) ;
}
public static Result < Object > error ( String code) {
return new Result ( code, ResultCode . getMsgByCode ( code) ) ;
}
public static < T > Result error ( String code, T data) {
return new Result ( code, ResultCode . getMsgByCode ( code) , data) ;
}
public static Result < Object > error ( String code, String msg) {
return new Result ( code, msg) ;
}
public static < T > Result < T > error ( String code, String msg, T data) {
return new Result ( code, msg, data) ;
}
public String getCode ( ) {
return code;
}
public void setCode ( String code) {
this . code = code;
}
public String getMsg ( ) {
return msg;
}
public void setMsg ( String msg) {
this . msg = msg;
}
public T getData ( ) {
return data;
}
public void setData ( T data) {
this . data = data;
}
@Override
public String toString ( ) {
return "Result{" +
"code='" + code + '\'' +
", msg='" + msg + '\'' +
", data=" + data +
'}' ;
}
}
public enum ResultCode {
SUCCESS ( "00000" , "操作成功" ) ,
;
private String code;
private String msg;
ResultCode ( String code, String msg) {
this . code = code;
this . msg = msg;
}
public static String getMsgByCode ( String code) {
String msg = StringUtils . EMPTY;
ResultCode [ ] resultCodes = values ( ) ;
for ( ResultCode resultCode : resultCodes) {
if ( StringUtils . equals ( code, resultCode. code) ) {
msg = resultCode. msg;
}
}
return msg;
}
public String getCode ( ) {
return code;
}
public String getMsg ( ) {
return msg;
}
}