package com.rongyichuang.player.api; 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.service.PlayerApplicationService; import com.rongyichuang.player.service.ActivityPlayerDetailService; import com.rongyichuang.player.service.ActivityPlayerRatingService; 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.util.List; @Controller public class PlayerGraphqlApi { private final PlayerApplicationService service; private final ActivityPlayerDetailService detailService; private final ActivityPlayerRatingService ratingService; public PlayerGraphqlApi(PlayerApplicationService service, ActivityPlayerDetailService detailService, ActivityPlayerRatingService ratingService) { this.service = service; this.detailService = detailService; this.ratingService = ratingService; } @QueryMapping public List activityPlayerApplications( @Argument String name, @Argument Integer page, @Argument Integer size ) { return service.listApplications(name, page, size); } /** * 获取比赛报名详情(用于评分) */ @QueryMapping public ActivityPlayerDetailResponse activityPlayerDetail(@Argument Long id) { return detailService.getDetailForRating(id); } /** * 保存比赛报名评分 */ @MutationMapping public Boolean saveActivityPlayerRating(@Argument ActivityPlayerRatingInput input) { return ratingService.saveRating(input); } }