PageResult.java 1.7 KB
package com.wondertek.util;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.wondertek.enums.GlobalCodeEnum;
import lombok.Data;
import lombok.ToString;

@Data
@ToString
@JsonInclude(JsonInclude.Include.NON_NULL)
public class PageResult<T> {
    /**
     * 信息代码
     */
    private String code;
    /**
     * 信息说明
     */
    private String msg;
    /**
     * 返回数据或jqgrid中的root
     */
    private PageDTO result;

    public <K> PageResult() {
    }

    public PageResult(String code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public PageResult(String code, String msg, PageDTO result) {
        this.code = code;
        this.msg = msg;
        this.result = result;
    }

    public static <T> PageResult<T> ok() {
        return new PageResult<>(GlobalCodeEnum.SUCCESS.getCode(), GlobalCodeEnum.SUCCESS.getMsg());
    }

    public static <T> PageResult<T> ok(PageDTO result) {
        return new PageResult<T>(GlobalCodeEnum.SUCCESS.getCode(), GlobalCodeEnum.SUCCESS.getMsg(), result);
    }

    public boolean isSuccess() {
        return GlobalCodeEnum.SUCCESS.getCode().equals(this.code);
    }

    public static <T> PageResult<T> error() {
        return new PageResult<T>(GlobalCodeEnum.FAILURE.getCode(), GlobalCodeEnum.FAILURE.getMsg());
    }

    public static <T> PageResult<T> error(String msg) {
        return new PageResult<T>(GlobalCodeEnum.FAILURE.getCode(), msg);
    }

    public static <T> PageResult<T> error(String code, String msg) {
        return new PageResult<T>(code, msg);
    }

    public static <K> PageResult<K> error(String code, String msg, PageDTO k) {
        return new PageResult<K>(code, msg, k);
    }

}