From 4fa9591629721797386fc11836e3a9deb69cd58c Mon Sep 17 00:00:00 2001 From: lrj <owen.stl@gmail.com> Date: 星期三, 24 九月 2025 17:00:37 +0800 Subject: [PATCH] 修改评分逻辑,支持多个评委 --- backend/src/main/java/com/rongyichuang/player/api/PlayerGraphqlApi.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 56 insertions(+), 2 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 2859b75..31ae5aa 100644 --- a/backend/src/main/java/com/rongyichuang/player/api/PlayerGraphqlApi.java +++ b/backend/src/main/java/com/rongyichuang/player/api/PlayerGraphqlApi.java @@ -3,18 +3,26 @@ import com.rongyichuang.player.dto.input.ActivityPlayerRatingInput; import com.rongyichuang.player.dto.response.ActivityPlayerApplicationResponse; import com.rongyichuang.player.dto.response.ActivityPlayerDetailResponse; +import com.rongyichuang.player.dto.response.JudgeRatingStatusResponse; +import com.rongyichuang.player.dto.response.CurrentJudgeRatingResponse; +import com.rongyichuang.player.dto.response.CurrentJudgeInfoResponse; import com.rongyichuang.player.service.PlayerApplicationService; import com.rongyichuang.player.service.ActivityPlayerDetailService; import com.rongyichuang.player.service.ActivityPlayerRatingService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.graphql.data.method.annotation.Argument; import org.springframework.graphql.data.method.annotation.MutationMapping; import org.springframework.graphql.data.method.annotation.QueryMapping; import org.springframework.stereotype.Controller; +import java.math.BigDecimal; import java.util.List; @Controller public class PlayerGraphqlApi { + + private static final Logger log = LoggerFactory.getLogger(PlayerGraphqlApi.class); private final PlayerApplicationService service; private final ActivityPlayerDetailService detailService; @@ -31,10 +39,11 @@ @QueryMapping public List<ActivityPlayerApplicationResponse> activityPlayerApplications( @Argument String name, + @Argument Long activityId, @Argument Integer page, @Argument Integer size ) { - return service.listApplications(name, page, size); + return service.listApplications(name, activityId, page, size); } /** @@ -50,6 +59,51 @@ */ @MutationMapping public Boolean saveActivityPlayerRating(@Argument ActivityPlayerRatingInput input) { - return ratingService.saveRating(input); + log.info("鏀跺埌璇勫垎淇濆瓨璇锋眰锛宎ctivityPlayerId: {}, ratings count: {}", + input.getActivityPlayerId(), input.getRatings() != null ? input.getRatings().size() : 0); + try { + Boolean result = ratingService.saveRating(input); + log.info("璇勫垎淇濆瓨缁撴灉: {}", result); + return result; + } catch (Exception e) { + log.error("GraphQL API 灞傛崟鑾峰紓甯�: {}", e.getMessage(), e); + throw e; + } + } + + /** + * 鑾峰彇鎸囧畾閫夋墜鐨勬墍鏈夎瘎濮旇瘎鍒嗙姸鎬� + */ + @QueryMapping + public List<JudgeRatingStatusResponse> judgeRatingsForPlayer(@Argument Long activityPlayerId) { + log.info("鑾峰彇閫夋墜璇勫璇勫垎鐘舵�侊紝activityPlayerId: {}", activityPlayerId); + return ratingService.getAllJudgeRatingsForPlayer(activityPlayerId); + } + + /** + * 鑾峰彇褰撳墠璇勫瀵规寚瀹氶�夋墜鐨勮瘎鍒� + */ + @QueryMapping + public CurrentJudgeRatingResponse currentJudgeRating(@Argument Long activityPlayerId) { + log.info("鑾峰彇褰撳墠璇勫璇勫垎锛宎ctivityPlayerId: {}", activityPlayerId); + return ratingService.getCurrentJudgeRating(activityPlayerId); + } + + /** + * 鑾峰彇鎸囧畾閫夋墜鐨勫钩鍧囧垎 + */ + @QueryMapping + public BigDecimal averageScoreForPlayer(@Argument Long activityPlayerId) { + log.info("鑾峰彇閫夋墜骞冲潎鍒嗭紝activityPlayerId: {}", activityPlayerId); + return ratingService.getAverageScoreForPlayer(activityPlayerId); + } + + /** + * 鑾峰彇褰撳墠璇勫淇℃伅 + */ + @QueryMapping + public CurrentJudgeInfoResponse currentJudgeInfo() { + log.info("鑾峰彇褰撳墠璇勫淇℃伅"); + return ratingService.getCurrentJudgeInfo(); } } \ No newline at end of file -- Gitblit v1.8.0