package com.rongyichuang.rating.api; import com.rongyichuang.common.dto.PageRequest; import com.rongyichuang.common.dto.PageResponse; import com.rongyichuang.rating.dto.request.RatingSchemeInput; import com.rongyichuang.rating.dto.response.RatingSchemeResponse; import com.rongyichuang.rating.service.RatingSchemeService; 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; /** * 评分模板GraphQL API */ @Controller public class RatingSchemeGraphqlApi { @Autowired private RatingSchemeService ratingSchemeService; /** * 分页查询评分模板列表 */ @QueryMapping public PageResponse ratingSchemes( @Argument Integer page, @Argument Integer size, @Argument String name) { PageRequest pageRequest = new PageRequest(); pageRequest.setPage(page != null ? page : 0); pageRequest.setSize(size != null ? size : 10); return ratingSchemeService.getSchemeList(pageRequest, name); } /** * 根据ID获取评分模板详情 */ @QueryMapping public RatingSchemeResponse ratingScheme(@Argument Long id) { return ratingSchemeService.getSchemeById(id); } /** * 获取所有评分模板(用于下拉选择) */ @QueryMapping public List allRatingSchemes() { return ratingSchemeService.getAllSchemes(); } /** * 保存评分模板 */ @MutationMapping public RatingSchemeResponse saveRatingScheme(@Argument RatingSchemeInput input) { return ratingSchemeService.saveScheme(input); } /** * 删除评分模板 */ @MutationMapping public Boolean deleteRatingScheme(@Argument Long id) { return ratingSchemeService.deleteScheme(id); } }