site.zfei.at.coxt.PageResult Maven / Gradle / Ivy
package site.zfei.at.coxt;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import site.zfei.at.util.Beans;
import java.util.Collections;
import java.util.List;
@Slf4j
@Data
public class PageResult {
private int code = Sts.OK.value();
private String msg = Sts.OK.getReasonPhrase();
private PageData data;
public static PageResult build(List list, long total) {
PageResult pageResult = new PageResult<>();
pageResult.setData(new PageData<>(total, list));
return pageResult;
}
public static PageResult build(List res, Class clazz) {
if (!(res instanceof Page)) {
throw new StsException(Sts.BAD_REQUEST, "res must be Page");
}
return build(Beans.copys(res, clazz), ((Page) res).getTotal());
}
public static PageResult build(Object data) {
if (data instanceof PageInfo) {
return PageResult.build(((PageInfo) data).getList(), ((PageInfo>) data).getTotal());
}
if (data instanceof Page) {
return PageResult.build((List) data, ((Page) data).getTotal());
}
throw new StsException(Sts.BAD_REQUEST, "PageResult.build instance type error,data:" + data);
}
public static PageResult empty() {
return PageResult.build(Collections.emptyList(), 0L);
}
@Data
@AllArgsConstructor
public static class PageData {
private long total;
private List list;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy