分页类
import lombok.Data; import java.io.Serializable; @Data public class PageResponse implements Serializable { private static final long serialVersionUID = -5933148973661946268L; /** * 当前页 */ private int pageNum; /** * 每页的数量 */ private int pageSize; /** * 当前页的数量 */ private int size; //由于startRow和endRow不常用,这里说个具体的用法 //可以在页面中"显示startRow到endRow 共size条数据" /** * 当前页面第一个元素在数据库中的行号 */ private int startRow; /** * 当前页面最后一个元素在数据库中的行号 */ private int endRow; /** * 总页数 */ private int pages; /** * 总共条数 */ private long total; /** * 前一页 */ private int prePage; /** * 下一页 */ private int nextPage; /** * 是否为第一页 */ private boolean isFirstPage = false; /** * 是否为最后一页 */ private boolean isLastPage = false; /** * 是否有前一页 */ private boolean hasPreviousPage = false; /** * 是否有下一页 */ private boolean hasNextPage = false; /** * 导航页码数 */ private int navigatePages; /** * 所有导航页号 */ private int[] navigatepageNums; /** * 导航条上的第一页 */ private int navigateFirstPage; /** * 导航条上的最后一页 */ private int navigateLastPage; }
返回类
package com.yixiu.crm.common.util; /** * @auther: shaoshuaui.zheng * @description: * @date: 2019/1/2 17:47 */ import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.annotation.JsonInclude; import com.yixiu.crm.model.response.PageResponse; import java.io.Serializable; /** * 保证序列化json的时候,如果是null的对象,key也会消失 */ @JsonInclude(JsonInclude.Include.NON_NULL) public final class ServerResponse<T> implements Serializable { private int status; private String nextPage; private String msg; private T data; /** * 分页信息 */ private PageResponse pageInfo; /** * 状态码 * * @param status */ private ServerResponse(int status) { this.status = status; this.msg = "加载成功!"; } /** * 状态码 + 数据 * * @param status * @param data */ private ServerResponse(int status, T data) { this.status = status; this.data = data; this.msg = "加载成功!"; } /** * 状态码 + 数据 + 分页 * * @param status * @param data */ private ServerResponse(int status, T data, String nextPage) { this.status = status; this.data = data; this.nextPage = nextPage; this.msg = "加载成功!"; } public ServerResponse(int status, T data, PageResponse pageInfo) { this.status = status; this.data = data; this.pageInfo = pageInfo; this.msg = "加载成功!"; } /** * 状态码 + 消息 + 数据 * * @param status * @param msg * @param data */ private ServerResponse(int status, String msg, T data) { this.status = status; this.msg = msg; this.data = data; } /** * 状态码 + 消息 * * @param status * @param msg */ private ServerResponse(int status, String msg) { this.status = status; this.msg = msg; } /** * 使之不在json序列化结果当中 * * @return */ public boolean isSuccess() { return this.status == ResponseCode.SUCCESS.getCode(); } public int getStatus() { return status; } public String getNextPage() { return nextPage; } public void setNextPage(String nextPage) { this.nextPage = nextPage; } public T getData() { return data; } public String getMsg() { return msg; } public PageResponse getPageInfo() { return pageInfo; } public void setPageInfo(PageResponse pageInfo) { this.pageInfo = pageInfo; } /** * 返回成功-无参数 * * @param <T> * @return */ public static <T> ServerResponse<T> createBySuccess() { return new ServerResponse<T>(ResponseCode.SUCCESS.getCode()); } /** * 返回成功-消息 * * @param msg * @param <T> * @return */ public static <T> ServerResponse<T> createBySuccessMessage(String msg) { return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(), msg); } /** * 返回成功-数据 * * @param data * @param <T> * @return */ public static <T> ServerResponse<T> createBySuccess(T data) { return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(), data); } /** * 返回成功-数据 + 分页 * * @param data * @param <T> * @return */ public static <T> ServerResponse<T> createBySuccess(T data, String nextPage) { return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(), data, nextPage); } /** * 返回成功-数据 + 分页 * * @param data * @param <T> * @return */ public static <T> ServerResponse<T> createBySuccess(T data, PageResponse pageInfo) { return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(), data, pageInfo); } /** * 返回成功-消息 + 数据 * * @param msg * @param data * @param <T> * @return */ public static <T> ServerResponse<T> createBySuccess(String msg, T data) { return new ServerResponse<T>(ResponseCode.SUCCESS.getCode(), msg, data); } /** * 返回错误-无参数 * * @param <T> * @return */ public static <T> ServerResponse<T> createByError() { return new ServerResponse<T>(ResponseCode.ERROR.getCode(), ResponseCode.ERROR.getDesc()); } /** * 返回异常-无参数 * * @param <T> * @return */ public static <T> ServerResponse<T> createByException() { return new ServerResponse<T>(ResponseCode.ERROR.getCode(), ResponseCode.ERROR.getDesc()); } /** * 返回错误-消息 * * @param errorMessage * @param <T> * @return */ public static <T> ServerResponse<T> createByErrorMessage(String errorMessage) { return new ServerResponse<T>(ResponseCode.ERROR.getCode(), errorMessage); } /** * 返回错误-错误码 + 消息 * * @param errorCode * @param errorMessage * @param <T> * @return */ public static <T> ServerResponse<T> createByErrorCodeMessage(int errorCode, String errorMessage) { return new ServerResponse<T>(errorCode, errorMessage); } @Override public String toString() { return JSONObject.toJSONString(this); } }
状态类
package com.yixiu.crm.common.util; /** * @auther: shaoshuaui.zheng * @description: * @date: 2019/1/2 17:48 */ public enum ResponseCode { /** * 0 成功 * 1 异常 * 2 错误 */ SUCCESS(0, "SUCCESS"), EXCEPTION(1, "EXCEPTION"), ERROR(2, "ERROR"); private final int code; private final String desc; ResponseCode(int code, String desc) { this.code = code; this.desc = desc; } public int getCode() { return code; } public String getDesc() { return desc; } }