1 package com.supwisdom.institute.backend.system.api.vo.response;
9 import org.springframework.data.domain.Page;
11 import com.supwisdom.institute.backend.common.framework.vo.request.IApiQueryRequest;
12 import com.supwisdom.institute.backend.common.framework.vo.response.data.IApiQueryResponseData;
13 import com.supwisdom.institute.backend.system.domain.entity.AccountGroup;
18 public class AccountRelatedGroupsResponseData implements IApiQueryResponseData<AccountGroup> {
23 private static final long serialVersionUID = 3949426339318397970L;
25 private AccountRelatedGroupsResponseData(boolean loadAll, int pageIndex, int pageSize, Map<String, Object> mapBean, Map<String, String> orderBy) {
26 this.loadAll = loadAll;
27 this.pageIndex = pageIndex;
28 this.pageSize = pageSize;
29 this.mapBean = mapBean;
30 this.orderBy = orderBy;
33 public static AccountRelatedGroupsResponseData of(IApiQueryRequest queryRequest) {
34 AccountRelatedGroupsResponseData configQueryResponse = new AccountRelatedGroupsResponseData(
35 queryRequest.isLoadAll(),
36 queryRequest.getPageIndex(),
37 queryRequest.getPageSize(),
38 queryRequest.getMapBean(),
39 queryRequest.getOrderBy()
42 return configQueryResponse;
45 public AccountRelatedGroupsResponseData build(Page<AccountGroup> page) {
46 this.currentItemCount = page.getNumberOfElements();
47 this.pageCount = page.getTotalPages();
48 this.recordCount = page.getTotalElements();
49 this.items = page.getContent();
55 private boolean loadAll;
57 private int pageIndex;
61 private Map<String, Object> mapBean;
63 private Map<String, String> orderBy;
67 private int pageCount;
70 private long recordCount;
74 private int currentItemCount;
78 private List<AccountGroup> items;