camel-test3-17/camel-mybatis-yml/AdvancedSearchRequest.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 + '\'' +
'}';
}
}