148 lines
3.6 KiB
Java
148 lines
3.6 KiB
Java
package com.example.model;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 高级搜索请求类
|
|
*/
|
|
public class AdvancedSearchRequest {
|
|
private int page = 1;
|
|
private int size = 10;
|
|
private List<SearchCriteria> criteria = new ArrayList<>();
|
|
private String sortField;
|
|
private String sortOrder;
|
|
|
|
public AdvancedSearchRequest() {
|
|
}
|
|
|
|
public int getPage() {
|
|
return page;
|
|
}
|
|
|
|
public void setPage(int page) {
|
|
this.page = page > 0 ? page : 1;
|
|
}
|
|
|
|
public int getSize() {
|
|
return size;
|
|
}
|
|
|
|
public void setSize(int size) {
|
|
this.size = size > 0 ? (size <= 100 ? size : 100) : 10;
|
|
}
|
|
|
|
public List<SearchCriteria> getCriteria() {
|
|
return criteria;
|
|
}
|
|
|
|
public void setCriteria(List<SearchCriteria> criteria) {
|
|
this.criteria = criteria != null ? criteria : new ArrayList<>();
|
|
}
|
|
|
|
public String getSortField() {
|
|
return sortField;
|
|
}
|
|
|
|
public void setSortField(String sortField) {
|
|
this.sortField = sortField;
|
|
}
|
|
|
|
public String getSortOrder() {
|
|
return sortOrder;
|
|
}
|
|
|
|
public void setSortOrder(String sortOrder) {
|
|
this.sortOrder = sortOrder;
|
|
}
|
|
|
|
/**
|
|
* 获取偏移量
|
|
*/
|
|
public int getOffset() {
|
|
return (page - 1) * size;
|
|
}
|
|
|
|
/**
|
|
* 获取限制数
|
|
*/
|
|
public int getLimit() {
|
|
return size;
|
|
}
|
|
|
|
/**
|
|
* 搜索条件类
|
|
*/
|
|
public static class SearchCriteria {
|
|
private String field;
|
|
private String operator;
|
|
private Object value;
|
|
private List<SearchCriteria> subCriteria;
|
|
private String logicalOperator;
|
|
|
|
public SearchCriteria() {
|
|
}
|
|
|
|
public SearchCriteria(String field, String operator, Object value) {
|
|
this.field = field;
|
|
this.operator = operator;
|
|
this.value = value;
|
|
}
|
|
|
|
public String getField() {
|
|
return field;
|
|
}
|
|
|
|
public void setField(String field) {
|
|
this.field = field;
|
|
}
|
|
|
|
public String getOperator() {
|
|
return operator;
|
|
}
|
|
|
|
public void setOperator(String operator) {
|
|
this.operator = operator;
|
|
}
|
|
|
|
public Object getValue() {
|
|
return value;
|
|
}
|
|
|
|
public void setValue(Object value) {
|
|
this.value = value;
|
|
}
|
|
|
|
public List<SearchCriteria> getSubCriteria() {
|
|
return subCriteria;
|
|
}
|
|
|
|
public void setSubCriteria(List<SearchCriteria> subCriteria) {
|
|
this.subCriteria = subCriteria;
|
|
}
|
|
|
|
public String getLogicalOperator() {
|
|
return logicalOperator;
|
|
}
|
|
|
|
public void setLogicalOperator(String logicalOperator) {
|
|
this.logicalOperator = logicalOperator;
|
|
}
|
|
|
|
public boolean hasSubCriteria() {
|
|
return subCriteria != null && !subCriteria.isEmpty();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "AdvancedSearchRequest{" +
|
|
"page=" + page +
|
|
", size=" + size +
|
|
", criteria=" + criteria +
|
|
", sortField='" + sortField + '\'' +
|
|
", sortOrder='" + sortOrder + '\'' +
|
|
'}';
|
|
}
|
|
} |