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 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 allActivities() { return activityService.findAllCompetitions(); } /** * 获取比赛的所有阶段 */ @QueryMapping public List activityStages(@Argument Long competitionId) { return activityService.findStagesByCompetitionId(competitionId); } /** * 获取进行中的比赛 */ @QueryMapping public List 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); } }