2021 年 03 月 11 日 16:19
package com.fedtech.common.util.result;
import cn.hutool.json.JSONUtil;
import com.fedtech.common.constants.Result.ResponseCodeConstants;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* 全局对立响应模板
*
* @author <a href="mailto:njpkhuan@gmail.com">huan</a>
* @version 1.0.0
* @date 2021/1/9
*/
@SuppressWarnings("rawtypes")
@Data
public class R<T> implements Serializable {
private static final long serialVersionUID = 6426193889384507066L;
private Boolean status;
private Integer code;
private String message;
private boolean jsonData = Boolean.FALSE;
private Map<String, Object> data = new HashMap<>();
private R() {}
public static R success() {R r = new R();
r.setStatus(true);
r.setCode(ResponseCodeConstants.SUCCESS);
r.setMessage("申请胜利!");
return r;
}
public static <T> R<T> success(String message) {R<T> r = new R<>();
r.setStatus(true);
r.setCode(ResponseCodeConstants.SUCCESS);
r.setMessage(message);
return r;
}
public static <T> R<T> fail() {R<T> r = new R<>();
r.setStatus(false);
r.setCode(ResponseCodeConstants.ERROR);
r.setMessage("申请失败!");
return r;
}
public static <T> R<T> fail(String key, Object value) {R<T> r = new R<>();
r.setStatus(false);
r.data.put(key, value);
r.setCode(ResponseCodeConstants.ERROR);
r.setMessage("申请失败!");
return r;
}
public static <T> R<T> fail(String message) {R<T> r = new R<>();
r.setStatus(false);
r.setCode(ResponseCodeConstants.ERROR);
r.setMessage(message);
return r;
}
public static <T> R<T> fail(String message, Integer code) {R<T> r = new R<>();
r.setStatus(false);
r.setCode(code);
r.setMessage(message);
return r;
}
public static <T> R<T> successWithJsonData(T data) {R<T> r = new R<>();
r.setStatus(Boolean.TRUE);
r.setCode(ResponseCodeConstants.SUCCESS);
r.data.put("data", data);
r.jsonData = Boolean.TRUE;
return r;
}
public static <T> R<T> successWithData(T data) {R<T> r = new R<>();
r.setStatus(Boolean.TRUE);
r.setCode(ResponseCodeConstants.SUCCESS);
r.data.put("data", data);
return r;
}
public static <T> R<T> failedWithJsonData(T data) {R<T> r = new R<>();
r.setStatus(Boolean.FALSE);
r.setCode(ResponseCodeConstants.ERROR);
r.data.put("data", data);
r.jsonData = Boolean.TRUE;
return r;
}
public static <T> R<T> failedWithData(T data) {R<T> r = new R<>();
r.setStatus(Boolean.FALSE);
r.setCode(ResponseCodeConstants.ERROR);
r.data.put("data", data);
return r;
}
public R message(String message) {setMessage(message);
return this;
}
public R code(Integer code) {setCode(code);
return this;
}
public R data(String key, Object value) {data.put(key, value);
return this;
}
public R data(Map<String, Object> map) {setData(map);
return this;
}
public String toJson() {if (jsonData) {String tem = String.valueOf(data.get("data"));
data.remove("data");
String jsonStr = JSONUtil.toJsonPrettyStr(this);
return StringUtils.replace(jsonStr, jsonStr.substring(30, 38), tem);
}
return JSONUtil.toJsonPrettyStr(this);
}
}
本文由博客群发一文多发等经营工具平台 OpenWrite 公布