weaver-hrm-salary/src/com/engine/salary/util/page/PageInfo.java

59 lines
1.5 KiB
Java
Raw Normal View History

2022-03-17 15:47:14 +08:00
package com.engine.salary.util.page;
import com.engine.salary.annotation.TableTitle;
import lombok.Data;
import lombok.ToString;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
@Data
@ToString
public class PageInfo<T> extends com.github.pagehelper.PageInfo<T> {
Class<T> clazz;
2022-04-19 12:19:06 +08:00
2022-04-19 13:30:41 +08:00
public void setColumns(List<Column> columns) {
this.columns.addAll(columns);
}
2022-04-19 12:19:06 +08:00
2022-03-17 15:47:14 +08:00
List<Column> columns = new ArrayList<>();
List<DataSource> dataSource = new ArrayList<>();
2022-04-01 18:25:24 +08:00
public PageInfo() {
}
2022-04-07 16:54:10 +08:00
public PageInfo(Class<T> clazz) {
this.clazz = clazz;
}
2022-03-17 15:47:14 +08:00
public PageInfo(List<T> list) {
super(list);
}
public PageInfo(List<T> list, Class<T> clazz) {
super(list);
this.clazz = clazz;
}
public List<Column> getColumns() {
2022-03-23 18:41:38 +08:00
if(clazz==null){
2022-04-19 13:30:41 +08:00
return this.columns;
2022-03-23 18:41:38 +08:00
}
2022-03-17 15:47:14 +08:00
Field[] fields = clazz.getDeclaredFields();
for (Field f : fields) {
boolean isanno = f.isAnnotationPresent(TableTitle.class);
if (isanno) {
TableTitle annotation = f.getAnnotation(TableTitle.class);
String title = annotation.title();
String dataIndex = annotation.dataIndex();
String key = annotation.key();
Column column = Column.builder().title(title).dataIndex(dataIndex).key(key).build();
columns.add(column);
}
}
return columns;
}
}