| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- package space.anyi.serve.entity.contest;
- import io.swagger.v3.oas.annotations.media.Schema;
- import java.time.LocalDateTime;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Objects;
- @Schema(description = "提交记录响应展示对象")
- public class SubmissionVo {
- @Schema(description = "提交ID")
- private Long id;
- @Schema(description = "题目ID")
- private Long problemId;
- @Schema(description = "比赛ID,练习提交为null")
- private Long contestId;
- @Schema(description = "提交语言")
- private String language;
- @Schema(description = "判题状态:SUBMITTED-已提交,JUDGING-判题中,AC-通过,WA-答案错误,TLE-超时,MLE-内存超限,RE-运行错误,CE-编译失败,SE-系统错误")
- private String status;
- @Schema(description = "执行时间(毫秒)")
- private Integer timeUsedMs;
- @Schema(description = "内存使用(KB)")
- private Integer memoryUsedKb;
- @Schema(description = "得分")
- private Integer score;
- @Schema(description = "总测试用例数")
- private Integer totalTestCases;
- @Schema(description = "通过测试用例数")
- private Integer passedTestCases;
- @Schema(description = "判题详情(CE/SE时展示错误信息)")
- private String judgeDetail;
- @Schema(description = "提交时间")
- private LocalDateTime createdAt;
- public static SubmissionVo from(Submission submission) {
- SubmissionVo vo = new SubmissionVo();
- if (Objects.isNull(submission)) {
- return vo;
- }
- vo.setId(submission.getId());
- vo.setProblemId(submission.getProblemId());
- vo.setContestId(submission.getContestId());
- vo.setLanguage(submission.getLanguage());
- vo.setStatus(submission.getStatus());
- vo.setTimeUsedMs(submission.getTimeUsedMs());
- vo.setMemoryUsedKb(submission.getMemoryUsedKb());
- vo.setScore(submission.getScore());
- vo.setTotalTestCases(submission.getTotalTestCases());
- vo.setPassedTestCases(submission.getPassedTestCases());
- vo.setJudgeDetail(submission.getJudgeDetail());
- vo.setCreatedAt(submission.getCreatedAt());
- return vo;
- }
- public static List<SubmissionVo> from(List<Submission> list) {
- List<SubmissionVo> result = new ArrayList<>();
- for (Submission submission : list) {
- result.add(SubmissionVo.from(submission));
- }
- return result;
- }
- public Long getId() {
- return id;
- }
- public void setId(Long id) {
- this.id = id;
- }
- public Long getProblemId() {
- return problemId;
- }
- public void setProblemId(Long problemId) {
- this.problemId = problemId;
- }
- public Long getContestId() {
- return contestId;
- }
- public void setContestId(Long contestId) {
- this.contestId = contestId;
- }
- public String getLanguage() {
- return language;
- }
- public void setLanguage(String language) {
- this.language = language;
- }
- public String getStatus() {
- return status;
- }
- public void setStatus(String status) {
- this.status = status;
- }
- public Integer getTimeUsedMs() {
- return timeUsedMs;
- }
- public void setTimeUsedMs(Integer timeUsedMs) {
- this.timeUsedMs = timeUsedMs;
- }
- public Integer getMemoryUsedKb() {
- return memoryUsedKb;
- }
- public void setMemoryUsedKb(Integer memoryUsedKb) {
- this.memoryUsedKb = memoryUsedKb;
- }
- public Integer getScore() {
- return score;
- }
- public void setScore(Integer score) {
- this.score = score;
- }
- public Integer getTotalTestCases() {
- return totalTestCases;
- }
- public void setTotalTestCases(Integer totalTestCases) {
- this.totalTestCases = totalTestCases;
- }
- public Integer getPassedTestCases() {
- return passedTestCases;
- }
- public void setPassedTestCases(Integer passedTestCases) {
- this.passedTestCases = passedTestCases;
- }
- public String getJudgeDetail() {
- return judgeDetail;
- }
- public void setJudgeDetail(String judgeDetail) {
- this.judgeDetail = judgeDetail;
- }
- public LocalDateTime getCreatedAt() {
- return createdAt;
- }
- public void setCreatedAt(LocalDateTime createdAt) {
- this.createdAt = createdAt;
- }
- }
|