package com.xzx.gc.model;
|
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.xzx.gc.annotation.Query;
|
import com.xzx.gc.util.PageQuery;
|
|
import java.lang.reflect.Field;
|
|
/**
|
* 子类继承此类获得翻页功能
|
* @author lijiazhi
|
*/
|
public class PageParam {
|
Integer page = null;
|
Integer limit = null;
|
|
public Integer getPage() {
|
return page;
|
}
|
|
public void setPage(Integer page) {
|
this.page = page;
|
}
|
|
@JsonIgnore
|
public PageQuery getPageQuery() {
|
Field[] fs =this.getClass().getDeclaredFields();
|
for(Field f:fs){
|
Query query = f.getAnnotation(Query.class);
|
if(query==null){
|
continue ;
|
}
|
if (query.fuzzy()) {
|
try {
|
if ( f.getType() == String.class) {
|
f.setAccessible(true);
|
Object o = f.get(this);
|
if (o != null && !o.toString().isEmpty()) {
|
f.set(this,"%"+o.toString()+"%");
|
}
|
}
|
} catch (IllegalAccessException e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
PageQuery query = new PageQuery();
|
query.setParas(this);
|
if (page != null) {
|
query.setPageNumber(page);
|
query.setPageSize(limit);
|
}
|
return query;
|
}
|
|
public Integer getLimit() {
|
return limit;
|
}
|
|
public void setLimit(Integer limit) {
|
this.limit = limit;
|
}
|
|
|
}
|