修改查询分页功能

This commit is contained in:
wyt 2025-12-22 16:54:25 +08:00
parent 623026c7cb
commit db08cc3405

View File

@ -1,5 +1,6 @@
package com.zhyc.module.base.controller;
import com.github.pagehelper.PageHelper;
import com.zhyc.common.annotation.Log;
import com.zhyc.common.core.controller.BaseController;
import com.zhyc.common.core.domain.AjaxResult;
@ -35,27 +36,34 @@ public class SheepFileController extends BaseController
* 查询羊只档案列表
*/
@PreAuthorize("@ss.hasPermi('sheep_file:sheep_file:list')")
@PostMapping("/list") // 改为 POST 请求
@PostMapping("/list")
public TableDataInfo list(@RequestBody(required = false) Map<String, Object> queryParams, HttpServletRequest request)
{
// 1. 将分页参数设置到 HttpServletRequest 关键步骤
if (queryParams != null && !queryParams.isEmpty()) {
// 提取分页参数并设置到 request 属性中
if (queryParams.containsKey("pageNum")) {
request.setAttribute("pageNum", queryParams.get("pageNum"));
}
if (queryParams.containsKey("pageSize")) {
request.setAttribute("pageSize", queryParams.get("pageSize"));
}
}
// 解析查询参数
SheepFile sheepFile = new SheepFile();
Map<String, Object> customParams = new HashMap<>();
// 提取分页参数
Integer pageNum = 1;
Integer pageSize = 10;
if (queryParams != null && !queryParams.isEmpty()) {
// 提取分页参数
if (queryParams.containsKey("pageNum") && queryParams.get("pageNum") != null) {
try {
pageNum = Integer.parseInt(queryParams.get("pageNum").toString());
} catch (NumberFormatException e) {
// 使用默认值
}
}
if (queryParams.containsKey("pageSize") && queryParams.get("pageSize") != null) {
try {
pageSize = Integer.parseInt(queryParams.get("pageSize").toString());
} catch (NumberFormatException e) {
// 使用默认值
}
}
// 提取常规查询参数到 SheepFile 对象
if (queryParams.containsKey("bsManageTags") && queryParams.get("bsManageTags") != null) {
sheepFile.setBsManageTags(queryParams.get("bsManageTags").toString());
@ -83,12 +91,11 @@ public class SheepFileController extends BaseController
}
// 移除已经处理的参数剩下的作为自定义筛选参数
// 注意不直接修改原参数而是复制到新Map中
for (Map.Entry<String, Object> entry : queryParams.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
// 跳过常规参数
// 跳过常规参数和分页参数
if ("bsManageTags".equals(key) || "electronicTags".equals(key) ||
"drRanch".equals(key) || "variety".equals(key) ||
"name".equals(key) || "gender".equals(key) ||
@ -104,13 +111,14 @@ public class SheepFileController extends BaseController
}
}
startPage(); // 分页处理
// 使用自定义分页参数
PageHelper.startPage(pageNum, pageSize);
// 调用支持复杂查询的Service方法
List<SheepFile> list = sheepFileService.selectSheepFileListByCondition(customParams, sheepFile);
return getDataTable(list);
}
/**
* 转换对象为Long类型
*/