From 301bb7a2273f82bbb350bd5bd3a715ece8a6e018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=85=E6=88=BF?= Date: Sun, 28 Dec 2025 17:20:10 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 项目名称支持模糊查询 - 分组类别支持模糊查询 - 赛事ID和参赛类型精确匹配 - 添加排序(按sort_order升序,create_time降序) Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> --- .../controller/MartialProjectController.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/springblade/modules/martial/controller/MartialProjectController.java b/src/main/java/org/springblade/modules/martial/controller/MartialProjectController.java index 3dfd5a4..11cd867 100644 --- a/src/main/java/org/springblade/modules/martial/controller/MartialProjectController.java +++ b/src/main/java/org/springblade/modules/martial/controller/MartialProjectController.java @@ -1,5 +1,6 @@ package org.springblade.modules.martial.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -9,6 +10,7 @@ import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.StringUtil; import org.springblade.modules.martial.pojo.entity.MartialProject; import org.springblade.modules.martial.service.IMartialProjectService; import org.springframework.web.bind.annotation.*; @@ -42,7 +44,27 @@ public class MartialProjectController extends BladeController { @GetMapping("/list") @Operation(summary = "分页列表", description = "分页查询") public R> list(MartialProject project, Query query) { - IPage pages = projectService.page(Condition.getPage(query), Condition.getQueryWrapper(project)); + QueryWrapper queryWrapper = new QueryWrapper<>(); + // 赛事ID精确匹配 + if (project.getCompetitionId() != null) { + queryWrapper.eq("competition_id", project.getCompetitionId()); + } + // 项目名称模糊查询 + if (StringUtil.isNotBlank(project.getProjectName())) { + queryWrapper.like("project_name", project.getProjectName()); + } + // 分组类别模糊查询 + if (StringUtil.isNotBlank(project.getCategory())) { + queryWrapper.like("category", project.getCategory()); + } + // 参赛类型精确匹配 + if (project.getType() != null) { + queryWrapper.eq("type", project.getType()); + } + // 按排序字段和创建时间排序 + queryWrapper.orderByAsc("sort_order").orderByDesc("create_time"); + + IPage pages = projectService.page(Condition.getPage(query), queryWrapper); return R.data(pages); }