package com.rongyichuang.activity.resolver;
|
|
import com.rongyichuang.activity.dto.ActivityInput;
|
import com.rongyichuang.activity.dto.ActivityResponse;
|
import com.rongyichuang.activity.service.ActivityService;
|
import com.rongyichuang.common.dto.PageRequest;
|
import com.rongyichuang.common.dto.PageResponse;
|
import org.springframework.beans.factory.annotation.Autowired;
|
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 ActivityResolver {
|
|
@Autowired
|
private ActivityService activityService;
|
|
/**
|
* 分页查询比赛列表
|
*/
|
@QueryMapping
|
public PageResponse<ActivityResponse> activities(@Argument int page, @Argument int size, @Argument String name) {
|
PageRequest pageRequest = new PageRequest(page, size);
|
return activityService.findCompetitions(pageRequest, name);
|
}
|
|
/**
|
* 获取比赛详情
|
*/
|
@QueryMapping
|
public ActivityResponse activity(@Argument Long id) {
|
return activityService.findById(id);
|
}
|
|
/**
|
* 获取所有比赛(用于下拉选择)
|
*/
|
@QueryMapping
|
public List<ActivityResponse> allActivities() {
|
return activityService.findAllCompetitions();
|
}
|
|
/**
|
* 获取比赛的所有阶段
|
*/
|
@QueryMapping
|
public List<ActivityResponse> activityStages(@Argument Long competitionId) {
|
return activityService.findStagesByCompetitionId(competitionId);
|
}
|
|
/**
|
* 获取进行中的比赛
|
*/
|
@QueryMapping
|
public List<ActivityResponse> ongoingActivities() {
|
return activityService.findOngoingCompetitions();
|
}
|
|
/**
|
* 保存比赛
|
*/
|
@MutationMapping
|
public ActivityResponse saveActivity(@Argument ActivityInput input) {
|
return activityService.saveActivity(input);
|
}
|
|
/**
|
* 删除比赛
|
*/
|
@MutationMapping
|
public Boolean deleteActivity(@Argument Long id) {
|
return activityService.deleteActivity(id);
|
}
|
}
|