From bec58fa7fe4fae2deac88200d8d939e12ec8a08f Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期五, 03 十月 2025 22:26:39 +0800
Subject: [PATCH] 修复小程序WXS日期显示问题并重新设计【我的】页面
---
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