package com.seer.teach.user.api;

import com.seer.teach.common.ResultBean;
import com.seer.teach.user.api.dto.GradeDTO;
import com.seer.teach.user.api.dto.GradeUpdateDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@FeignClient(name = ApiConstants.SERVER_NAME,contextId = "gradeServiceApi",path = "/seer/user")
public interface GradeServiceApi {

    @GetMapping("/getGradeById")
    String getById(@RequestParam("id")Integer id);


    @GetMapping("/findGradesWithIdGte")
    List<GradeDTO> findGradesWithIdGte(@RequestParam("id")Integer id);

    @GetMapping("/getGradeList")
    List<GradeDTO> getGradeList();

    /**
     * 按ID集合批量查年级
     * @param ids
     * @return
     */
    @GetMapping("/findGradesByIds")
    List<GradeDTO> findGradesByIds(@RequestParam("ids") List<Integer> ids);


    /**
     * 获取成绩列表
     *
     * @return 成绩列表，包含所有学生的成绩信息
     */
    @GetMapping("/list")
    List<GradeDTO> list();


    /**
     * 新增年级
     * @param status
     * @param grade
     */
    @PostMapping("/addGrade")
    ResultBean addGrade(@RequestParam("status") Integer status, @RequestParam("grade") String grade);


    /**
     * 修改年级状态
     * @param params
     */
    @PostMapping("/status")
    ResultBean updateGradeStatus(@RequestBody GradeUpdateDTO params);
}