package com.template.api;

import com.alibaba.fastjson.JSONObject;
import com.template.model.evaluate.student.SmartEvaluateStudent;
import com.template.model.evaluate.student.SmartSubjectTemplate;
import com.template.model.request.addTemplateRuleRequest;
import com.template.model.result.CommonResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@RequestMapping("/api/smartEvaluateStudent2")
@Api(tags = {"SmartEvaluateStudentController2API"}, value = "学生评测2")
public interface SmartEvaluateStudentControlle2API {

    @RequestMapping(value = "/addSmartSubjectTemplate")
    @ApiOperation(value = "新增评分项", httpMethod = "POST")
    CommonResult addSmartSubjectTemplate(@Validated @RequestBody JSONObject jsonObject);

    @RequestMapping(value = "/updateSmartSubjectTemplate")
    @ApiOperation(value = "修改评分项", httpMethod = "POST")
    CommonResult updateSmartSubjectTemplate(@Validated @RequestBody JSONObject jsonObject);

    @RequestMapping(value = "/delSmartSubjectTemplate")
    @ApiOperation(value = "删除评分项", httpMethod = "POST")
    CommonResult delSmartSubjectTemplate(@RequestParam Integer id);

    @RequestMapping(value = "/queryTemplatePage")
    @ApiOperation(value = "查看评分项", httpMethod = "POST")
    CommonResult queryTemplatePage(Integer currentPage, Integer pageCount);

    @RequestMapping(value = "/queryTemplateRulePage")
    @ApiOperation(value = "查看评分规则", httpMethod = "POST")
    CommonResult queryTemplateRulePage(Integer id);

    @RequestMapping(value = "/evaluateScore")
    @ApiOperation(value = "学生评分", httpMethod = "POST")
    CommonResult evaluateScore(Integer id, String scoreComment);

    @RequestMapping(value = "/queryEvaluateStudent")
    @ApiOperation(value = "查看评价数据", httpMethod = "POST")
    CommonResult queryEvaluateStudent(@Validated @RequestBody SmartEvaluateStudent smartEvaluateStudent, Integer currentPage, Integer pageCount);

    @RequestMapping(value = "/addSmartTemplateRule")
    @ApiOperation(value = "新增评分子项", httpMethod = "POST")
    CommonResult addSmartTemplateRule(@Validated @RequestBody addTemplateRuleRequest atrr, BindingResult bindingResult);

}
