package ;
import ;
import ;
import ;
import ;
import ;
import .;
/**
* 处理排序工具类
*
* @author MrBird
*/
public class SortUtil {
/**
* 处理排序(分页情况下) for mybatis-plus
*
* @param request QueryRequest
* @param page Page
* @param defaultSort 默认排序的字段
* @param defaultOrder 默认排序规则
* @param camelToUnderscore 是否开启驼峰转下划线
*/
public static void handlePageSort(QueryRequest request, Page<?> page, String defaultSort, String defaultOrder, boolean camelToUnderscore) {
(());
(());
//需要排序的字段
String sortField = ();
//是否开启驼峰转下划线
if (camelToUnderscore) {
sortField = (sortField);
defaultSort = (defaultSort);
}
if ((())//排序字段不为空
&& (())//排序规则不为空,asc升序,desc降序
&& !((), "null")
&& !((), "null")) {
//如果排序规则为降序
if (((), FebsConstant.ORDER_DESC)) {
//向page添加排序字段OrderItem类的实例(必须这样构造)
((sortField));
} else {
//如果排序规则为升序
//向page添加排序字段OrderItem类的实例(必须这样构造)
((sortField));
}
} else {//排序字段为空,排序规则为空
//如果默认的排序字段不为空
if ((defaultSort)) {
//如果默认的排序规则为降序
if ((defaultOrder, FebsConstant.ORDER_DESC)) {
((defaultSort));
} else {
//如果默认的排序规则为升序
((defaultSort));
}
}
}
}
/**
* 处理排序 for mybatis-plus
*
* @param request QueryRequest
* @param page Page
*/
public static void handlePageSort(QueryRequest request, Page<?> page) {
//默认的排序字段为空、默认的排序规则为空、默认不开启驼峰转下划线
handlePageSort(request, page, null, null, false);
}
/**
* 处理排序 for mybatis-plus
*
* @param request QueryRequest
* @param page Page
* @param camelToUnderscore 是否开启驼峰转下划线
*/
public static void handlePageSort(QueryRequest request, Page<?> page, boolean camelToUnderscore) {
//默认的排序字段为空、默认的排序规则为空
handlePageSort(request, page, null, null, camelToUnderscore);
}
/**
* 处理排序 for mybatis-plus
*
* @param request QueryRequest
* @param wrapper wrapper
* @param defaultSort 默认排序的字段
* @param defaultOrder 默认排序规则
* @param camelToUnderscore 是否开启驼峰转下划线
*/
public static void handleWrapperSort(QueryRequest request, QueryWrapper<?> wrapper, String defaultSort, String defaultOrder, boolean camelToUnderscore) {
//需要排序的字段
String sortField = ();
//是否开启驼峰转下划线
if (camelToUnderscore) {
sortField = (sortField);
defaultSort = (defaultSort);
}
if ((())//排序字段不为空
&& (())//排序规则不为空,asc升序,desc降序
&& !((), "null")
&& !((), "null")) {
//如果排序规则为降序
if (((), FebsConstant.ORDER_DESC)) {
(sortField);
} else {
//如果排序规则为升序
(sortField);
}
} else {//排序字段为空,排序规则为空
//如果默认的排序字段不为空
if ((defaultSort)) {
//如果默认的排序规则为降序
if ((defaultOrder, FebsConstant.ORDER_DESC)) {
(defaultSort);
} else {
//如果默认的排序规则为升序
(defaultSort);
}
}
}
}
/**
* 处理排序 for mybatis-plus
*
* @param request QueryRequest
* @param wrapper wrapper
*/
public static void handleWrapperSort(QueryRequest request, QueryWrapper<?> wrapper) {
//默认的排序字段为空、默认的排序规则为空、默认不开启驼峰转下划线
handleWrapperSort(request, wrapper, null, null, false);
}
/**
* 处理排序 for mybatis-plus
*
* @param request QueryRequest
* @param wrapper wrapper
* @param camelToUnderscore 是否开启驼峰转下划线
*/
public static void handleWrapperSort(QueryRequest request, QueryWrapper<?> wrapper, boolean camelToUnderscore) {
//默认的排序字段为空、默认的排序规则为空
handleWrapperSort(request, wrapper, null, null, camelToUnderscore);
}
}