44 lines
1.2 KiB
Java
44 lines
1.2 KiB
Java
|
|
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;
|
||
|
|
List<Column> columns = new ArrayList<>();
|
||
|
|
List<DataSource> dataSource = new ArrayList<>();
|
||
|
|
|
||
|
|
public PageInfo(List<T> list) {
|
||
|
|
super(list);
|
||
|
|
}
|
||
|
|
|
||
|
|
public PageInfo(List<T> list, Class<T> clazz) {
|
||
|
|
super(list);
|
||
|
|
this.clazz = clazz;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
public List<Column> getColumns() {
|
||
|
|
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;
|
||
|
|
}
|
||
|
|
}
|