From 559e97b672e4876efc072ef1018a8fd489557c37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=85=E6=88=BF?= Date: Sat, 27 Dec 2025 11:11:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(mini):=20=E8=A3=81=E5=88=A4=E6=9C=AA?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E9=A1=B9=E7=9B=AE=E6=97=B6=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=AF=94=E8=B5=9B=E6=89=80=E6=9C=89=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - login和refreshToken接口:如果invite.projects为空,自动获取该比赛的所有项目 - 新增getAllProjectsByCompetition方法查询比赛所有项目 - 支持裁判负责整个场地所有项目的需求 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../controller/MartialMiniController.java | 45 +++++++++++++++++-- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/springblade/modules/martial/controller/MartialMiniController.java b/src/main/java/org/springblade/modules/martial/controller/MartialMiniController.java index 8467dbc..abe8a64 100644 --- a/src/main/java/org/springblade/modules/martial/controller/MartialMiniController.java +++ b/src/main/java/org/springblade/modules/martial/controller/MartialMiniController.java @@ -110,7 +110,14 @@ public class MartialMiniController extends BladeController { martialVenue = venueService.getById(invite.getVenueId()); } - List projects = parseProjects(invite.getProjects()); + // 获取项目列表:如果邀请记录中有指定项目则使用,否则获取该比赛的所有项目 + List projects; + if (Func.isNotEmpty(invite.getProjects())) { + projects = parseProjects(invite.getProjects()); + } else { + // 未指定项目,获取该比赛的所有项目(裁判负责整个场地) + projects = getAllProjectsByCompetition(competition.getId()); + } MiniLoginVO vo = new MiniLoginVO(); vo.setToken(token); @@ -499,7 +506,14 @@ public class MartialMiniController extends BladeController { MartialCompetition competition = competitionService.getById(invite.getCompetitionId()); MartialJudge judge = judgeService.getById(invite.getJudgeId()); MartialVenue martialVenue = invite.getVenueId() != null ? venueService.getById(invite.getVenueId()) : null; - List projects = parseProjects(invite.getProjects()); + // 获取项目列表:如果邀请记录中有指定项目则使用,否则获取该比赛的所有项目 + List projects; + if (Func.isNotEmpty(invite.getProjects())) { + projects = parseProjects(invite.getProjects()); + } else { + // 未指定项目,获取该比赛的所有项目(裁判负责整个场地) + projects = getAllProjectsByCompetition(competition.getId()); + } MiniLoginVO vo = new MiniLoginVO(); vo.setToken(token); @@ -640,4 +654,29 @@ public class MartialMiniController extends BladeController { return projects; } -} + + /** + * 获取比赛的所有项目 + */ + private List getAllProjectsByCompetition(Long competitionId) { + List projects = new ArrayList<>(); + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(MartialProject::getCompetitionId, competitionId); + wrapper.eq(MartialProject::getIsDeleted, 0); + + List projectList = projectService.list(wrapper); + + if (Func.isNotEmpty(projectList)) { + projects = projectList.stream().map(project -> { + MiniLoginVO.ProjectInfo info = new MiniLoginVO.ProjectInfo(); + info.setProjectId(project.getId()); + info.setProjectName(project.getProjectName()); + return info; + }).collect(Collectors.toList()); + } + + return projects; + } + +} \ No newline at end of file