package com.rongyichuang.carousel.resolver; import com.rongyichuang.carousel.dto.request.CarouselInput; import com.rongyichuang.carousel.dto.request.CarouselSortOrderInput; import com.rongyichuang.carousel.dto.response.CarouselResponse; import com.rongyichuang.carousel.service.CarouselService; 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; import java.util.Map; /** * 轮播图GraphQL解析器 */ @Controller public class CarouselResolver { @Autowired private CarouselService carouselService; /** * 分页查询轮播图 */ @QueryMapping public PageResponse carousels(@Argument int page, @Argument int size, @Argument String title) { return carouselService.getCarousels(page, size, title); } /** * 根据ID查询轮播图 */ @QueryMapping public CarouselResponse carousel(@Argument Long id) { return carouselService.getCarousel(id); } /** * 获取播放列表 */ @QueryMapping public List carouselPlayList() { return carouselService.getPlayList(); } /** * 保存轮播图 */ @MutationMapping public CarouselResponse saveCarousel(@Argument CarouselInput carousel) { return carouselService.saveCarousel(carousel); } /** * 删除轮播图 */ @MutationMapping public Boolean deleteCarousel(@Argument Long id) { return carouselService.deleteCarousel(id); } /** * 批量更新播放顺序 */ @MutationMapping public Boolean updateCarouselSortOrders(@Argument List sortOrders) { System.out.println("=== 收到排序更新请求 ==="); System.out.println("排序数据: " + sortOrders); for (CarouselSortOrderInput input : sortOrders) { System.out.println("ID: " + input.getId() + ", 排序值: " + input.getSortOrder()); } Boolean result = carouselService.updateSortOrders(sortOrders); System.out.println("更新结果: " + result); return result; } }