package cn.lili.common.enums; import cn.lili.common.vo.ResultMessage; /** * 返回结果工具类 * * @author lili */ public class ResultUtil { /** * 抽象类,存放结果 */ private final ResultMessage resultMessage; /** * 正常响应 */ private static final Integer SUCCESS = 200; /** * 构造话方法,给响应结果默认值 */ public ResultUtil() { resultMessage = new ResultMessage<>(); resultMessage.setSuccess(true); resultMessage.setMessage("success"); resultMessage.setCode(SUCCESS); } /** * 返回数据 * * @param t 范型 * @return 消息 */ public ResultMessage setData(T t) { this.resultMessage.setResult(t); return this.resultMessage; } /** * 返回成功消息 * * @param resultCode 返回码 * @return 返回成功消息 */ public ResultMessage setSuccessMsg(ResultCode resultCode) { this.resultMessage.setSuccess(true); this.resultMessage.setMessage(resultCode.message()); this.resultMessage.setCode(resultCode.code()); return this.resultMessage; } /** * 抽象静态方法,返回结果集 * @param t 范型 * @param 范型 * @return 消息 */ public static ResultMessage data(T t) { return new ResultUtil().setData(t); } /** * 返回成功 * * @param resultCode 返回状态码 * @return 消息 */ public static ResultMessage success(ResultCode resultCode) { return new ResultUtil().setSuccessMsg(resultCode); } /** * 返回成功 * @return 消息 */ public static ResultMessage success() { return new ResultUtil().setSuccessMsg(ResultCode.SUCCESS); } /** * 返回失败 * * @param resultCode 返回状态码 * @return 消息 */ public static ResultMessage error(ResultCode resultCode) { return new ResultUtil().setErrorMsg(resultCode); } /** * 返回失败 * * @param code 状态码 * @param msg 返回消息 * @return 消息 */ public static ResultMessage error(Integer code, String msg) { return new ResultUtil().setErrorMsg(code, msg); } /** * 服务器异常 追加状态码 * @param resultCode 返回码 * @return 消息 */ public ResultMessage setErrorMsg(ResultCode resultCode) { this.resultMessage.setSuccess(false); this.resultMessage.setMessage(resultCode.message()); this.resultMessage.setCode(resultCode.code()); return this.resultMessage; } /** * 服务器异常 追加状态码 * * @param code 状态码 * @param msg 返回消息 * @return 消息 */ public ResultMessage setErrorMsg(Integer code, String msg) { this.resultMessage.setSuccess(false); this.resultMessage.setMessage(msg); this.resultMessage.setCode(code); return this.resultMessage; } }