| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- package com.njuzr.eaibackend.controller;
- import com.njuzr.eaibackend.service.AIEvaluationService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.bind.annotation.*;
- import java.util.concurrent.ExecutionException;
- /**
- * @author BaiBai
- * @date 2025-01-17 10:58
- */
- @Slf4j
- @RestController
- @RequestMapping("/api/evaluation")
- public class EvaluationController {
- private final AIEvaluationService aiEvaluationService;;
- public EvaluationController(AIEvaluationService aiEvaluationService) {
- this.aiEvaluationService = aiEvaluationService;
- }
- /**
- * 对作文整体进行评价
- * @param assignmentId 作业ID
- * @param studentId 学生ID
- * @return
- */
- @PostMapping("/overall")
- public MyResponse rewrite(
- @RequestParam Long assignmentId,
- @RequestParam Long studentId
- ) throws ExecutionException, InterruptedException {
- return MyResponse.success(aiEvaluationService.evaluationAsync(assignmentId, studentId).get());
- }
- /**
- * 对作文进行逐句批改
- * @param assignmentId 作业ID
- * @param studentId 学生ID
- * @return
- */
- @PostMapping("/sentence")
- public MyResponse rewritePerSentence(
- @RequestParam Long assignmentId,
- @RequestParam Long studentId
- ) {
- return MyResponse.success(aiEvaluationService.rewritePerSentence(assignmentId, studentId));
- }
- /**
- * 获取整体评价内容
- * @param assignmentId
- * @param studentId
- * @param version 作业版本
- * @return
- */
- @GetMapping("/select/overall")
- public MyResponse selectOverall(
- @RequestParam Long assignmentId,
- @RequestParam Long studentId,
- @RequestParam(value = "version", defaultValue = "-1") Integer version
- ){
- return MyResponse.success(aiEvaluationService.getRewrite(assignmentId, studentId, version));
- }
- /**
- * 获取逐句评价内容
- * @param assignmentId
- * @param studentId
- * @param version 作业版本
- * @return
- */
- @GetMapping("/select/sentence")
- public MyResponse selectSentence(
- @RequestParam Long assignmentId,
- @RequestParam Long studentId,
- @RequestParam(value = "version", defaultValue = "-1") Integer version
- ){
- return MyResponse.success(aiEvaluationService.getRewritePerSentence(assignmentId, studentId, version));
- }
- /**
- * 获取评价版本列表
- * @param assignmentId
- * @param studentId
- * @return
- */
- @GetMapping("/record/list")
- public MyResponse getRewriteVersionList(
- @RequestParam Long assignmentId,
- @RequestParam Long studentId
- ){
- return MyResponse.success(aiEvaluationService.getVersionList(assignmentId, studentId));
- }
- /**
- * 用于支持单句重试
- * @param assignmentId
- * @param studentId
- * @param version
- * @param sentenceNo
- * @return
- */
- @PostMapping("/sentence/byOne")
- public MyResponse evaluateSentenceByOne(
- @RequestParam Long assignmentId,
- @RequestParam Long studentId,
- @RequestParam Integer version,
- @RequestParam Integer sentenceNo
- ){
- return MyResponse.success(aiEvaluationService.evaluateSentenceByOne(assignmentId, studentId, version, sentenceNo));
- }
- }
|