lrj
昨天 8337c34fcc761d07acaad796d10f3e12e9bbe2d1
backend/src/main/java/com/rongyichuang/player/api/PlayerGraphqlApi.java
@@ -6,21 +6,25 @@
import com.rongyichuang.player.dto.response.ActivityPlayerApplicationResponse;
import com.rongyichuang.player.dto.response.ActivityPlayerDetailResponse;
import com.rongyichuang.player.dto.response.ProjectReviewApplicationPageResponse;
import com.rongyichuang.player.dto.response.ProjectStageTimelineResponse;
import com.rongyichuang.player.dto.response.PlayerApplicationPageResponse;
import com.rongyichuang.player.dto.ActivityRegistrationResponse;
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.dto.response.PlayerRegistrationResponse;
import com.rongyichuang.player.dto.response.StageJudgeRatingDetailResponse;
import com.rongyichuang.player.dto.PromotionCompetitionResponse;
import com.rongyichuang.player.dto.CompetitionParticipantResponse;
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;
import com.rongyichuang.player.service.ActivityPlayerService;
import com.rongyichuang.player.service.ProjectStageRatingService;
import com.rongyichuang.player.service.PromotionService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,19 +46,27 @@
    private final ActivityPlayerRatingService ratingService;
    private final ActivityPlayerService activityPlayerService;
    private final PromotionService promotionService;
    private final ProjectStageRatingService projectStageRatingService;
    public PlayerGraphqlApi(PlayerApplicationService service,
                           ActivityPlayerDetailService detailService,
                           ActivityPlayerRatingService ratingService,
                           ActivityPlayerService activityPlayerService,
                           PromotionService promotionService) {
                           PromotionService promotionService,
                           ProjectStageRatingService projectStageRatingService) {
        this.service = service;
        this.detailService = detailService;
        this.ratingService = ratingService;
        this.activityPlayerService = activityPlayerService;
        this.promotionService = promotionService;
        this.projectStageRatingService = projectStageRatingService;
    }
    @QueryMapping
    public ActivityPlayer myActivityPlayer(@Argument Long activityId) {
        return activityPlayerService.getMyActivityPlayer(activityId);
    }
    @QueryMapping
    public PlayerApplicationPageResponse activityPlayerApplications(
            @Argument String name,
@@ -92,11 +104,31 @@
        return detailService.getDetailForRating(id);
    }
    @QueryMapping
    public ProjectStageTimelineResponse projectStageTimeline(@Argument Long activityPlayerId) {
        log.info("获取参赛项目阶段时间轴,activityPlayerId: {}", activityPlayerId);
        return projectStageRatingService.getProjectStageTimeline(activityPlayerId);
    }
    @QueryMapping
    public StageJudgeRatingDetailResponse stageJudgeRatings(@Argument Long activityPlayerId) {
        log.info("获取阶段评分详情,activityPlayerId: {}", activityPlayerId);
        return projectStageRatingService.getStageJudgeRatings(activityPlayerId);
    }
    /**
     * 查询玩家在指定活动中的报名状态
     */
    @QueryMapping
    public PlayerRegistrationResponse playerRegistration(@Argument Long activityId) {
        return activityPlayerService.getPlayerRegistration(activityId);
    }
    /**
     * 查询玩家在指定活动中的报名状态(别名,避免混淆)
     */
    @QueryMapping(name = "getPlayerRegistrationState")
    public PlayerRegistrationResponse getPlayerRegistrationState(@Argument Long activityId) {
        return activityPlayerService.getPlayerRegistration(activityId);
    }
@@ -151,6 +183,24 @@
    public CurrentJudgeInfoResponse currentJudgeInfo() {
        log.info("获取当前评委信息");
        return ratingService.getCurrentJudgeInfo();
    }
    /**
     * 检查评委是否在指定比赛阶段的评委列表中
     */
    @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("获取指定评委评分明细,activityPlayerId: {}, judgeId: {}", activityPlayerId, judgeId);
        return ratingService.getJudgeRatingDetail(activityPlayerId, judgeId);
    }
    /**
@@ -293,4 +343,4 @@
            return PromotionResult.failure("晋级操作失败: " + e.getMessage());
        }
    }
}
}