package com.template.api;

import com.alibaba.fastjson.JSONObject;
import com.template.model.evaluate.teacher.SmartEvaluateTeacher;
import com.template.model.result.CommonResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletResponse;

@RequestMapping("/api/smartEvaluateTeacher")
@Api(tags = {"SmartEvaluateTeacherControllerAPI"}, value = "综合素质")
public interface SmartEvaluateTeacherControllerAPI {

    @RequestMapping(value = "/operateSmartScoreManage")
    @ApiOperation(value = "评分项目管理", httpMethod = "POST")
    public CommonResult operateSmartScoreManage(@Validated @RequestBody JSONObject jsonObject);

    @RequestMapping(value = "/getScoreManage")
    @ApiOperation(value = "查看评分项", httpMethod = "POST")
    public CommonResult getScoreManage(String term);

    @RequestMapping(value = "/getTeacherScoreList")
    @ApiOperation(value = "查看教师评分", httpMethod = "POST")
    public CommonResult getTeacherScoreList(@Validated @RequestBody SmartEvaluateTeacher smartEvaluateTeacher,Integer currentPage, Integer pageCount);

    @RequestMapping(value = "/getTeacherScoreExcel")
    @ApiOperation(value = "导出教师评分", httpMethod = "POST")
    public void getTeacherScoreExcel(SmartEvaluateTeacher smartEvaluateTeacher, HttpServletResponse response);

    @RequestMapping(value = "/evaluateScore")
    @ApiOperation(value = "教师评分", httpMethod = "POST")
    public CommonResult evaluateScore(@Validated @RequestBody JSONObject jsonObject);

    @RequestMapping(value = "/getTeacherScoreDetail")
    @ApiOperation(value = "获取教师分数详情", httpMethod = "POST")
    public CommonResult getTeacherScoreDetail(Integer id);

    @RequestMapping(value = "/getScoreComparison")
    @ApiOperation(value = "分数对比", httpMethod = "POST")
    public CommonResult getScoreComparison(Integer id);

    @RequestMapping(value = "/getScoreRank")
    @ApiOperation(value = "评分排行", httpMethod = "POST")
    public CommonResult getScoreRank(int currentPage, int pageCount,String subject);

}
