package com.ycl.jxkg.base; import java.util.HashMap; /** * @version 3.3.0 * @description: The type Rest response. * Copyright (C), 2020-2024, 武汉思维跳跃科技有限公司 * @date 2021/5/25 10:45 */ public class Result extends HashMap { private int code; private String message; private T data; public Result() { } /** * Instantiates a new Rest response. * * @param code the code * @param message the message */ public Result(int code, String message) { this.code = code; this.message = message; } /** * Instantiates a new Rest response. * * @param code the code * @param message the message * @param response the response */ public static Result response(int code, String message, Object response) { Result restResponse = new Result(); restResponse.put("code", code); restResponse.put("message", message); restResponse.put("data", response); return restResponse; } /** * Fail rest response. * * @param code the code * @param msg the msg * @return the rest response */ public static Result fail(Integer code, String msg) { return new Result<>(code, msg); } /** * Ok rest response. * * @return the rest response */ public static Result ok() { SystemCode systemCode = SystemCode.OK; return new Result<>(systemCode.getCode(), systemCode.getMessage()); } /** * Ok rest response. * * @param the type parameter * @param response the response * @return the rest response */ public static Result ok(F response) { SystemCode systemCode = SystemCode.OK; return Result.response(systemCode.getCode(), systemCode.getMessage(), response); } /** * Gets code. * * @return the code */ public int getCode() { return code; } /** * Sets code. * * @param code the code */ public void setCode(int code) { this.code = code; } /** * Gets message. * * @return the message */ public String getMessage() { return message; } /** * Sets message. * * @param message the message */ public void setMessage(String message) { this.message = message; } /** * Gets response. * * @return the response */ public T getResponse() { return data; } /** * Sets response. * * @param response the response */ public void setResponse(T response) { this.data = response; } @Override public Result put(String key, Object value) { super.put(key, value); return this; } public Result data(Object data) { super.put("data", data); return this; } public Result total(Long total) { super.put("total", total); return this; } }