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