package com.gkhy.exam.common.api; /** * 通用返回结果封装类 * @param */ public class CommonResult { /** * 状态码 */ private int code; /** * 提示消息 */ private String message; /** * 数据封装 */ private T data; protected CommonResult(){ } protected CommonResult(int code, String message, T data) { this.code = code; this.message = message; this.data = data; } /** * 成功返回结果 * */ public static CommonResult success(){ return new CommonResult(ResultCode.SUCCESS.getCode(),ResultCode.SUCCESS.getMessage(),null); } /** * 成功返回结果 * * @param data 获取的数据 */ public static CommonResult success(T data){ return new CommonResult(ResultCode.SUCCESS.getCode(),ResultCode.SUCCESS.getMessage(),data); } /** * 成功返回结果 * * @param data 获取的数据 * @param message 提示信息 */ public static CommonResult success(T data,String message){ return new CommonResult<>(ResultCode.SUCCESS.getCode(),message,data); } /** * 失败返回结果 * @param errorCode 错误码 */ public static CommonResult failed(IErrorCode errorCode){ return new CommonResult<>(errorCode.getCode(),errorCode.getMessage(),null); } /** * 失败返回结果 * @param errorCode 错误码 * @param message 错误信息 */ public static CommonResult failed(IErrorCode errorCode,String message){ return new CommonResult<>(errorCode.getCode(),message,null); } /** * 失败返回结果 * @param message 提示信息 */ public static CommonResult failed(String message){ return new CommonResult<>(ResultCode.FAILED.getCode(), message,null); } /** * 失败返回结果 */ public static CommonResult failed(){ return failed(ResultCode.FAILED); } /** * 参数验证失败返回结果 */ public static CommonResult validateFailed() { return failed(ResultCode.VALIDATE_FAILED); } /** * 参数验证失败返回结果 * @param message 提示信息 */ public static CommonResult validateFailed(String message) { return new CommonResult(ResultCode.VALIDATE_FAILED.getCode(), message, null); } /** * 未登录返回结果 */ public static CommonResult unauthorized(T data) { return new CommonResult(ResultCode.UNAUTHORIZED.getCode(), ResultCode.UNAUTHORIZED.getMessage(), data); } /** * 未授权返回结果 */ public static CommonResult forbidden(T data) { return new CommonResult(ResultCode.FORBIDDEN.getCode(), ResultCode.FORBIDDEN.getMessage(), data); } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public T getData() { return data; } public void setData(T data) { this.data = data; } }