liweidong
parent
80e89bdcef
commit
fd27946699
15 changed files with 260 additions and 42 deletions
@ -0,0 +1,86 @@ |
||||
package org.springblade.desk.basic.util;/** |
||||
* @date : 2026/4/28 13:27 |
||||
*/ |
||||
|
||||
import org.springblade.core.mp.support.Query; |
||||
import org.springblade.core.tool.utils.Func; |
||||
import org.springblade.desk.basic.controller.BatConfigController; |
||||
|
||||
/** |
||||
* 文件名称 |
||||
* @module 归属项目 |
||||
* @author *** |
||||
* @date 2025/11/26 10:27 |
||||
*/ |
||||
public class QueryUtils { |
||||
/** |
||||
* 转换排序字段:将前端虚拟字段名转换为数据库实际字段名 |
||||
* 例如:OP_USER_REAL_NAME -> UPDATE_TIME |
||||
*/ |
||||
public static void convertSortField(Query query) { |
||||
if (query == null) { |
||||
return; |
||||
} |
||||
|
||||
// 处理降序排序字段
|
||||
if (Func.isNotEmpty(query.getDescs())) { |
||||
String descs = query.getDescs(); |
||||
descs = convertSingleSortField(descs); |
||||
query.setDescs(descs); |
||||
} |
||||
|
||||
// 处理升序排序字段
|
||||
if (Func.isNotEmpty(query.getAscs())) { |
||||
String ascs = query.getAscs(); |
||||
ascs = convertSingleSortField(ascs); |
||||
query.setAscs(ascs); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 转换单个排序字段 |
||||
* @param sortField 排序字段字符串(可能包含多个字段,逗号分隔) |
||||
* @return 转换后的排序字段 |
||||
*/ |
||||
public static String convertSingleSortField(String sortField) { |
||||
if (Func.isEmpty(sortField)) { |
||||
return sortField; |
||||
} |
||||
|
||||
// 定义字段映射关系:前端字段名 -> 数据库字段名
|
||||
String[] fields = sortField.split(","); |
||||
StringBuilder result = new StringBuilder(); |
||||
|
||||
for (int i = 0; i < fields.length; i++) { |
||||
String field = fields[i].trim(); |
||||
String convertedField = switch (field.toUpperCase()) { |
||||
// 操作人姓名转换为更新时间排序
|
||||
case "OP_USER_REAL_NAME" -> "UPDATE_USER"; |
||||
/** |
||||
* {@link org.springblade.desk.basic.controller.OemController.list} |
||||
* */ |
||||
case "CUR_STATUS_TEXT" -> "status"; |
||||
/** |
||||
* {@link BatConfigController#page(org.springblade.desk.basic.pojo.vo.BatConfigVO, org.springblade.core.mp.support.Query)} |
||||
* */ |
||||
case "UPDATE_USER_NAME" -> "UPDATE_USER"; |
||||
/** |
||||
* {@link org.springblade.desk.basic.controller.WorkCenterController#list(java.util.Map, org.springblade.core.mp.support.Query)} |
||||
* */ |
||||
case "LEADER_USER_NAME" -> "LEADER_USER"; |
||||
/** |
||||
* {@link } |
||||
* */ |
||||
case "CREATE_USER_NAME" -> "CREATE_USER"; |
||||
default -> field; |
||||
}; |
||||
|
||||
result.append(convertedField); |
||||
if (i < fields.length - 1) { |
||||
result.append(","); |
||||
} |
||||
} |
||||
|
||||
return result.toString(); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue