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<ActivityPlayerApplicationResponse> 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);
|
}
|
}
|