From cacf02681bfdda7926379d37d58ad1a21e398e1a Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期六, 04 十月 2025 19:08:12 +0800
Subject: [PATCH] fix(auth): 对无 Authorization 的 GraphQL 请求默认匿名放行到解析层,避免 400/403;公开查询仍优先识别后放行

---
 backend/src/main/java/com/rongyichuang/player/api/PlayerGraphqlApi.java |   32 ++++++++++++++++++++++++++++++++
 1 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/backend/src/main/java/com/rongyichuang/player/api/PlayerGraphqlApi.java b/backend/src/main/java/com/rongyichuang/player/api/PlayerGraphqlApi.java
index 8a53c4b..fdef59a 100644
--- a/backend/src/main/java/com/rongyichuang/player/api/PlayerGraphqlApi.java
+++ b/backend/src/main/java/com/rongyichuang/player/api/PlayerGraphqlApi.java
@@ -17,6 +17,7 @@
 import com.rongyichuang.player.dto.PromotionInput;
 import com.rongyichuang.player.dto.PromotionResult;
 import com.rongyichuang.player.dto.PromotableParticipantsResponse;
+import com.rongyichuang.player.entity.ActivityPlayer;
 import com.rongyichuang.player.service.PlayerApplicationService;
 import com.rongyichuang.player.service.ActivityPlayerDetailService;
 import com.rongyichuang.player.service.ActivityPlayerRatingService;
@@ -55,6 +56,11 @@
         this.promotionService = promotionService;
     }
 
+    @QueryMapping
+    public ActivityPlayer myActivityPlayer(@Argument Long activityId) {
+        return activityPlayerService.getMyActivityPlayer(activityId);
+    }
+    
     @QueryMapping
     public PlayerApplicationPageResponse activityPlayerApplications(
             @Argument String name,
@@ -97,6 +103,14 @@
      */
     @QueryMapping
     public PlayerRegistrationResponse playerRegistration(@Argument Long activityId) {
+        return activityPlayerService.getPlayerRegistration(activityId);
+    }
+
+    /**
+     * 鏌ヨ鐜╁鍦ㄦ寚瀹氭椿鍔ㄤ腑鐨勬姤鍚嶇姸鎬侊紙鍒悕锛岄伩鍏嶆贩娣嗭級
+     */
+    @QueryMapping(name = "getPlayerRegistrationState")
+    public PlayerRegistrationResponse getPlayerRegistrationState(@Argument Long activityId) {
         return activityPlayerService.getPlayerRegistration(activityId);
     }
 
@@ -154,6 +168,24 @@
     }
 
     /**
+     * 妫�鏌ヨ瘎濮旀槸鍚﹀湪鎸囧畾姣旇禌闃舵鐨勮瘎濮斿垪琛ㄤ腑
+     */
+    @QueryMapping
+    public Boolean isJudgeInActivity(@Argument Long stageId, @Argument Long judgeId) {
+        log.info("妫�鏌ヨ瘎濮旀潈闄愶紝stageId: {}, judgeId: {}", stageId, judgeId);
+        return ratingService.isJudgeInActivity(stageId, judgeId);
+    }
+
+    /**
+     * 鑾峰彇鎸囧畾璇勫鐨勮瘎鍒嗘槑缁�
+     */
+    @QueryMapping
+    public CurrentJudgeRatingResponse judgeRatingDetail(@Argument Long activityPlayerId, @Argument Long judgeId) {
+        log.info("鑾峰彇鎸囧畾璇勫璇勫垎鏄庣粏锛宎ctivityPlayerId: {}, judgeId: {}", activityPlayerId, judgeId);
+        return ratingService.getJudgeRatingDetail(activityPlayerId, judgeId);
+    }
+
+    /**
      * 鎻愪氦娲诲姩鎶ュ悕
      */
     @MutationMapping

--
Gitblit v1.8.0