From ae3349d2ff53767b5bc9cb30e1bf7e15f9e814ee Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期五, 03 十月 2025 20:45:44 +0800
Subject: [PATCH] 清理测试代码和调试文件

---
 backend/src/main/java/com/rongyichuang/player/service/ActivityPlayerService.java |   58 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 35 insertions(+), 23 deletions(-)

diff --git a/backend/src/main/java/com/rongyichuang/player/service/ActivityPlayerService.java b/backend/src/main/java/com/rongyichuang/player/service/ActivityPlayerService.java
index 6cb95a5..c623481 100644
--- a/backend/src/main/java/com/rongyichuang/player/service/ActivityPlayerService.java
+++ b/backend/src/main/java/com/rongyichuang/player/service/ActivityPlayerService.java
@@ -63,7 +63,22 @@
     private MessageService messageService;
 
 
-
+    public ActivityPlayer getMyActivityPlayer(Long activityId) {
+        Long userId = userContextUtil.getCurrentUserId();
+        if (userId == null) {
+            return null;
+        }
+        Optional<Player> playerOpt = playerRepository.findByUserId(userId);
+        if (playerOpt.isEmpty()) {
+            return null;
+        }
+        Player player = playerOpt.get();
+        List<ActivityPlayer> activityPlayers = activityPlayerRepository.findByActivityIdAndPlayerIdOrderByCreateTimeDesc(activityId, player.getId());
+        if (activityPlayers.isEmpty()) {
+            return null;
+        }
+        return activityPlayers.get(0);
+    }
     /**
      * 鎻愪氦娲诲姩鎶ュ悕
      * @param input 鎶ュ悕杈撳叆淇℃伅
@@ -98,28 +113,24 @@
             }
             log.info("閫夋墜璁板綍澶勭悊鎴愬姛锛岄�夋墜ID: {}", player.getId());
 
-            // 3. 妫�鏌ユ槸鍚﹀凡缁忔姤鍚�
-            log.info("妫�鏌ユ槸鍚﹀凡缁忔姤鍚嶏紝娲诲姩ID: {}, 閫夋墜ID: {}", input.getActivityId(), player.getId());
-            Optional<ActivityPlayer> existingRegistration = activityPlayerRepository
-                    .findByActivityIdAndPlayerId(input.getActivityId(), player.getId());
-            if (existingRegistration.isPresent()) {
-                log.warn("閫夋墜宸茬粡鎶ュ悕杩囨娲诲姩");
-                return ActivityRegistrationResponse.error("鎮ㄥ凡缁忔姤鍚嶈繃姝ゆ椿鍔�");
+            // 3. 妫�鏌ユ槸鍚﹀凡缁忔姤鍚嶏紙涓ユ牸闄愬畾鍚屼竴娲诲姩+鍚屼竴閫夋墜锛�
+            log.info("妫�鏌ユ槸鍚﹀瓨鍦ㄦ湁鏁堟姤鍚嶏紙state IN 0,1锛夛紝娲诲姩ID: {}, 閫夋墜ID: {}", input.getActivityId(), player.getId());
+            Long activeOrPendingCount = activityPlayerRepository.countActiveOrPendingByActivityAndPlayer(input.getActivityId(), player.getId());
+            if (activeOrPendingCount != null && activeOrPendingCount > 0) {
+                log.warn("鍚屼竴娲诲姩涓庨�夋墜瀛樺湪寰呭鏍告垨宸查�氳繃鐨勬姤鍚嶈褰曪紝绂佹閲嶅鎻愪氦銆俢ount={}", activeOrPendingCount);
+                return ActivityRegistrationResponse.error("鎮ㄥ湪璇ユ椿鍔ㄥ凡鏈夊緟瀹℃牳鎴栧凡閫氳繃鐨勬姤鍚嶏紝璇峰嬁閲嶅鎻愪氦");
             }
-            log.info("鏈彂鐜伴噸澶嶆姤鍚�");
+            log.info("鏈彂鐜版湁鏁堟姤鍚嶏紝鍏佽鍒涘缓鏂扮殑鎶ュ悕璁板綍銆�");
 
-            // 4. 鏌ユ壘绗竴闃舵锛屽鏋滄病鏈夊垯浣跨敤娲诲姩鏈韩
+            // 4. 鏌ユ壘绗竴闃舵锛堜弗鏍硷細pid=娲诲姩ID 涓� sort_order=1锛夛紝鏈厤缃垯鎷掔粷鎶ュ悕
             log.info("鏌ユ壘娲诲姩鐨勭涓�闃舵锛屾椿鍔↖D: {}", input.getActivityId());
             Activity firstStage = activityRepository.findFirstStageByActivityId(input.getActivityId());
-            Long stageId;
-            if (firstStage != null) {
-                stageId = firstStage.getId();
-                log.info("鎵惧埌绗竴闃舵锛岄樁娈礗D: {}, 闃舵鍚嶇О: {}", firstStage.getId(), firstStage.getName());
-            } else {
-                // 濡傛灉娌℃湁鎵惧埌绗竴闃舵锛屼娇鐢ㄦ椿鍔ㄦ湰韬綔涓洪樁娈�
-                stageId = input.getActivityId();
-                log.info("鏈壘鍒扮涓�闃舵锛屼娇鐢ㄦ椿鍔ㄦ湰韬綔涓洪樁娈碉紝娲诲姩ID: {}", input.getActivityId());
+            if (firstStage == null) {
+                log.warn("鏈壘鍒扮涓�闃舵锛坧id={}, sort_order=1锛夛紝鎷掔粷鎶ュ悕銆傛椿鍔↖D: {}", input.getActivityId(), input.getActivityId());
+                return ActivityRegistrationResponse.error("娲诲姩鏈厤缃涓�闃舵锛屾棤娉曟姤鍚�");
             }
+            Long stageId = firstStage.getId();
+            log.info("鎵惧埌绗竴闃舵锛岄樁娈礗D: {}, 闃舵鍚嶇О: {}", firstStage.getId(), firstStage.getName());
 
             // 5. 鍒涘缓鎶ュ悕璁板綍
             log.info("寮�濮嬪垱寤烘姤鍚嶈褰�");
@@ -322,16 +333,17 @@
 
             Player player = playerOpt.get();
             
-            // 鏌ユ壘璇ョ帺瀹跺湪鎸囧畾娲诲姩涓殑鎶ュ悕璁板綍
-            Optional<ActivityPlayer> activityPlayerOpt = activityPlayerRepository
-                    .findByActivityIdAndPlayerId(activityId, player.getId());
+            // 鏌ユ壘璇ョ帺瀹跺湪鎸囧畾娲诲姩涓殑鎶ュ悕璁板綍锛堣幏鍙栨渶鏂扮殑锛�
+            List<ActivityPlayer> activityPlayers = activityPlayerRepository
+                    .findByActivityIdAndPlayerIdOrderByCreateTimeDesc(activityId, player.getId());
             
-            if (!activityPlayerOpt.isPresent()) {
+            if (activityPlayers.isEmpty()) {
                 log.info("鐜╁ {} 鏈湪娲诲姩 {} 涓姤鍚�", player.getId(), activityId);
                 return null;
             }
 
-            ActivityPlayer activityPlayer = activityPlayerOpt.get();
+            // 鑾峰彇鏈�鏂扮殑鎶ュ悕璁板綍
+            ActivityPlayer activityPlayer = activityPlayers.get(0);
             
             // 鏋勫缓鍝嶅簲瀵硅薄
             PlayerRegistrationResponse response = new PlayerRegistrationResponse();

--
Gitblit v1.8.0