package cn.teammodel.controller.frontend; import cn.teammodel.common.IdRequest; import cn.teammodel.common.R; import cn.teammodel.model.dto.Appraise.*; import cn.teammodel.model.entity.appraise.Appraise; import cn.teammodel.model.vo.appraise.AppraiseRecordVo; import cn.teammodel.model.vo.appraise.StudentReportVo; import cn.teammodel.service.EvaluationService; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; /** * @author winter * @create 2023-11-22 15:10 */ @RestController @RequestMapping("/appraise") public class AppraiseController { @Resource private EvaluationService evaluationService; @PostMapping("getTrees") @ApiOperation(value = "获取评价树", notes = "获取评价树") public R getEvaluateTree(@RequestBody GetEvaluateTreeDto getEvaluateTreeDto) { Appraise appraise = evaluationService.getTree(getEvaluateTreeDto); return R.success(appraise); } @PostMapping("insertNode") @ApiOperation(value = "新增评价树的节点") public R insertNode(@RequestBody InsertNodeDto insertNodeDto) { Appraise appraise = evaluationService.insertNode(insertNodeDto); return R.success(appraise); } @PostMapping("updateNode") @ApiOperation(value = "更新评价树的节点", notes = "传递更新后的节点,而不是局部更新的值") public R updateTree(@RequestBody UpdateNodeDto updateNodeDto) { Appraise appraise = evaluationService.updateNode(updateNodeDto); return R.success(appraise); } @PostMapping("deleteNode") @ApiOperation(value = "删除评价树的节点") public R deleteNode(@Valid @RequestBody DeleteNodeDto deleteNodeDto) { Appraise appraise = evaluationService.deleteNode(deleteNodeDto); return R.success(appraise); } @PostMapping("vote") @ApiOperation(value = "给某个学生评价(投票)") public R vote(@RequestBody @Valid AppraiseVoteDto appraiseVoteDto) { evaluationService.vote(appraiseVoteDto); return R.success("评价成功"); } @PostMapping("recallVote") @ApiOperation(value = "撤回给某个学生评价(投票)") public R recallVote(@RequestBody @Valid RecallVoteDto recallVoteDto) { evaluationService.recallVote(recallVoteDto); return R.success("撤回评价成功"); } @PostMapping("findVoteRecord") @ApiOperation(value = "多条件查询当前登录老师的学生评价(投票)") public R> findMyVoteRecord(@Valid @RequestBody FindVoteRecordDto findVoteRecordDto) { List res = evaluationService.findVoteRecord(findVoteRecordDto); return R.success(res); } @PostMapping("studentReport") @ApiOperation(value = "查看学生当前的学期的实时评价报告") public R studentReport(@Valid @RequestBody IdRequest idRequest) { StudentReportVo res = evaluationService.studentReport(idRequest); return R.success(res); } }