package cn.timer.api.utils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; /** * @author Exrick */ @Service("resultUtil") public class ResultUtil<T> { // private static final String CODE_KEY = "code"; // private static final String RESULT_KEY = "result"; // private static final String MESSAGE_KEY = "message"; // private static final String DATA_KEY = "data"; // // private static final String PAGE_KEY = "page"; // private static final String NUMBER_KEY = "number"; // private static final String SIZE_KEY = "size"; // private static final String TOTALELEMENTS_KEY = "totalelements"; // private static final String TOTALPAGES_KEY = "totalpages"; // private static final String OFFSET_KEY = "offset"; private static final String MESSAGE_SUCCESS = "操作成功"; private static final String MESSAGE_FAIL = "操作失败"; private static final String MESSAGE_UNLOGIN = "会话超时,请重新登录"; // private static final String MESSAGE_ERROR = "操作错误"; // private static final String MESSAGE_KICKOUT = "当前账户已在其他地方登录,请重新登录"; private static final String MESSAGE_PARAMERROR = "参数错误"; // private static final String MESSAGE_UNAUTHORIZED = "授权错误"; // private static final String MESSAGE_UNAUTHENTICATED = "认证错误"; // private static final String MESSAGE_EXCEPTION = "服务器异常"; private static final String STATUS_CODE_SUCCESS = "200"; // private static final String STATUS_CODE_FAIL = "201"; // private static final String STATUS_CODE_ERROR = "202"; private static final String STATUS_CODE_UNLOGIN = "301"; // private static final String STATUS_CODE_KICKOUT = "302"; private static final String STATUS_CODE_UNPARAM = "400"; // private static final String STATUS_CODE_UNAUTHORIZED = "401"; // private static final String STATUS_CODE_UNAUTHENTICATED = "405"; private static final String STATUS_CODE_EXCEPTION = "500"; private Result<T> result; public ResultUtil() { result = new Result<>(); result.setResult(true); result.setMessage("success"); result.setCode(STATUS_CODE_SUCCESS); } public Result<T> setData(T t) { this.result.setData(t); this.result.setCode(STATUS_CODE_SUCCESS); this.result.setMessage(MESSAGE_SUCCESS); return this.result; } public Result<T> setSuccessMsg(String msg) { this.result.setResult(true); this.result.setMessage(msg); this.result.setCode(STATUS_CODE_SUCCESS); this.result.setData(null); return this.result; } public Result<T> setPageData(T t1, Long t2, String msg) { this.result.setData(t1); this.result.setTotal(t2); this.result.setCode(STATUS_CODE_SUCCESS); this.result.setMessage(msg); return this.result; } public Result<T> setDatas(T t1, T t2, String msg) { this.result.setData(t1); this.result.setOther(t2); this.result.setCode(STATUS_CODE_SUCCESS); this.result.setMessage(msg); return this.result; } @SuppressWarnings("rawtypes") public Result<T> setData(T t1, T t2, String msg) { this.result.setCurrent(((IPage) t1).getCurrent()); this.result.setPages(((IPage) t1).getPages()); this.result.setSize(((IPage) t1).getSize()); this.result.setTotal(((IPage) t1).getTotal()); this.result.setData(t2); this.result.setCode(STATUS_CODE_SUCCESS); this.result.setMessage(msg); return this.result; } @SuppressWarnings("rawtypes") public Result<T> setData(T t1, T t2) { this.result.setCurrent(((IPage) t1).getCurrent()); this.result.setPages(((IPage) t1).getPages()); this.result.setSize(((IPage) t1).getSize()); this.result.setTotal(((IPage) t1).getTotal()); this.result.setData(t2); this.result.setCode(STATUS_CODE_SUCCESS); this.result.setMessage(MESSAGE_SUCCESS); return this.result; } @SuppressWarnings("rawtypes") public Result<T> setData2(T t1, T t2, String msg) { this.result.setCurrent((long) ((com.github.pagehelper.Page) t1).getPageNum()); this.result.setPages((long) ((com.github.pagehelper.Page) t1).getPages()); this.result.setSize((long) ((com.github.pagehelper.Page) t1).getPageSize()); this.result.setTotal(((com.github.pagehelper.Page) t1).getTotal()); this.result.setData(t2); this.result.setCode(STATUS_CODE_SUCCESS); this.result.setMessage(msg); return this.result; } public Result<T> setData(T t, String msg) { this.result.setData(t); this.result.setCode(STATUS_CODE_SUCCESS); this.result.setMessage(msg); return this.result; } public Result<T> setErrorMsg(T t) { this.result.setData(t); this.result.setCode(STATUS_CODE_UNPARAM); this.result.setMessage(MESSAGE_PARAMERROR); return this.result; } public Result<T> setErrorMsg(String msg) { this.result.setResult(false); this.result.setMessage(msg); this.result.setCode(STATUS_CODE_EXCEPTION); return this.result; } public Result<T> setErrorMsg(String code, String msg) { this.result.setResult(false); this.result.setMessage(msg); this.result.setCode(code); return this.result; } public static <T> Result<T> data(T t) { return new ResultUtil<T>().setData(t); } public static <T> Result<T> data(T t1, T t2) { return new ResultUtil<T>().setData(t1, t2); } public static <T> Result<T> data(T t1, T t2, String msg) { return new ResultUtil<T>().setData(t1, t2, msg); } public static <T> Result<T> data2(T t1, T t2, String msg) { return new ResultUtil<T>().setData2(t1, t2, msg); } public static <T> Result<T> datas(T t1, T t2, String msg) { return new ResultUtil<T>().setDatas(t1, t2, msg); } public static <T> Result<T> data(T t, String msg) { return new ResultUtil<T>().setData(t, msg); } public static <T> Result<T> pageData(T t, Long t2, String msg) { return new ResultUtil<T>().setPageData(t, t2, msg); } public static <T> Result<T> success() { return new ResultUtil<T>().setSuccessMsg(MESSAGE_SUCCESS); } public static <T> Result<T> success(String msg) { return new ResultUtil<T>().setSuccessMsg(msg); } public static <T> Result<T> error() { return new ResultUtil<T>().setErrorMsg(MESSAGE_FAIL); } public static <T> Result<T> unlogin() { return new ResultUtil<T>().setErrorMsg(STATUS_CODE_UNLOGIN, MESSAGE_UNLOGIN); } public static <T> Result<T> error(String msg) { return new ResultUtil<T>().setErrorMsg(msg); } public static <T> Result<T> error(String code, String msg) { return new ResultUtil<T>().setErrorMsg(code, msg); } public static <T> Result<T> error(T t) { return new ResultUtil<T>().setErrorMsg(t); } }