aea651a95d8afe4f089d9c3eb03bffda6ee419e2
[institute/sw-backend.git] /
1 package com.supwisdom.institute.backend.system.api.vo.response;
2
3 import lombok.Getter;
4 import lombok.Setter;
5
6 import java.util.List;
7 import java.util.Map;
8
9 import org.springframework.data.domain.Page;
10
11 import com.supwisdom.institute.backend.common.framework.vo.response.data.IApiQueryResponseData;
12 import com.supwisdom.institute.backend.system.api.vo.request.ConfigQueryRequest;
13 import com.supwisdom.institute.backend.system.domain.entity.Config;
14
15 /**
16  * @author loie
17  */
18 public class ConfigQueryResponseData implements IApiQueryResponseData<Config> {
19   
20   /**
21    * 
22    */
23   private static final long serialVersionUID = 3188467441502226095L;
24   
25 //  private ConfigQueryResponseData() {
26 //  }
27   
28   public ConfigQueryResponseData(boolean loadAll, int pageIndex, int pageSize, Map<String, Object> mapBean, Map<String, String> orderBy) {
29     this.loadAll = loadAll;
30     this.pageIndex = pageIndex;
31     this.pageSize = pageSize;
32     this.mapBean = mapBean;
33     this.orderBy = orderBy;
34   }
35
36   public static ConfigQueryResponseData of(ConfigQueryRequest configQueryRequest) {
37     ConfigQueryResponseData configQueryResponse = new ConfigQueryResponseData(
38         configQueryRequest.isLoadAll(), 
39         configQueryRequest.getPageIndex(), 
40         configQueryRequest.getPageSize(), 
41         configQueryRequest.getMapBean(), 
42         configQueryRequest.getOrderBy()
43     );
44     
45     return configQueryResponse;
46   }
47   
48   public ConfigQueryResponseData build(Page<Config> page) {
49     this.currentItemCount = page.getNumberOfElements();
50     this.pageCount = page.getTotalPages();
51     this.recordCount = page.getTotalElements();
52     this.items = page.getContent();
53
54     return this;
55   }
56
57   @Getter
58   private boolean loadAll;
59   @Getter
60   private int pageIndex;
61   @Getter
62   private int pageSize;
63   @Getter
64   private Map<String, Object> mapBean;
65   @Getter
66   private Map<String, String> orderBy;
67   
68   @Getter
69   @Setter
70   private int pageCount;
71   @Getter
72   @Setter
73   private long recordCount;
74   
75   @Getter
76   @Setter
77   private int currentItemCount;
78   
79   @Getter
80   @Setter
81   private List<Config> items;
82   
83 }