| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package cn.seecoder.ojserver.controller;
- import cn.seecoder.ojserver.model.vo.CodeJudgeVO;
- import cn.seecoder.ojserver.service.JudgeService;
- import cn.seecoder.ojserver.web.Response;
- import com.nju.edu.paasMonitorClient.MonitorClient;
- import com.nju.edu.paasMonitorClient.entity.Call;
- import com.nju.edu.paasMonitorCommon.enums.SeecSystem;
- import org.springframework.web.bind.annotation.*;
- @RestController
- @RequestMapping(path = "/api/judge")
- public class JudgeController {
- private JudgeService judgeService;
- public JudgeController(JudgeService judgeService) {
- this.judgeService = judgeService;
- }
- @GetMapping("")
- public Response getJudge() {
- return Response.buildSuccess(true);
- }
- @PostMapping("")
- public Response postJudge() {
- return Response.buildSuccess(true);
- }
- @PostMapping("/code")
- public Response judgeCode(@RequestParam(value = "problemId") Integer problemId, @RequestBody CodeJudgeVO codeJudgeVO) {
- Call call = MonitorClient.createCall(SeecSystem.CODER,"ojtest119","/api/judge/code");
- try{
- call.start();
- return Response.buildSuccess(judgeService.judgeCode(problemId, codeJudgeVO));
- }catch (Exception e){
- MonitorClient.logError(SeecSystem.CODER,"ojtest119","/api/judge/code",e);
- call.fail();
- throw e;
- }finally {
- call.end();
- }
- }
- @PostMapping("/asyncCode")
- public Response asyncJudgeCode(@RequestParam(value = "problemId") Integer problemId, @RequestBody CodeJudgeVO codeJudgeVO){
- return Response.buildSuccess(judgeService.asyncJudgeCode(problemId, codeJudgeVO));
- }
- }
|