From f21286d7a2407c539600aa0abb1b53d0be2695ca Mon Sep 17 00:00:00 2001 From: dlaren Date: Tue, 19 Aug 2025 16:03:31 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=20?= =?UTF-8?q?=E7=9B=91=E6=8E=A7=E7=AE=A1=E7=90=86=E4=B8=8B=E8=BD=BD=E5=AD=A6?= =?UTF-8?q?=E7=94=9F=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/monitor/MonitorController.java | 13 ++++ .../admin/monitor/vo/MonitorRespVO.java | 67 ++++++++++--------- .../dal/mysql/student/StuPaperFileMapper.java | 3 + .../service/monitor/MonitorServiceImpl.java | 2 +- .../stu_paper_file/StuPaperFileService.java | 2 + .../StuPaperFileServiceImpl.java | 5 ++ .../mapper/student/StuPaperFileMapper.xml | 5 ++ 7 files changed, 66 insertions(+), 31 deletions(-) diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/MonitorController.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/MonitorController.java index 7763e02c..0995539c 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/MonitorController.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/MonitorController.java @@ -30,7 +30,9 @@ import static pc.exam.pp.framework.apilog.core.enums.OperateTypeEnum.*; import pc.exam.pp.module.exam.controller.admin.monitor.vo.*; import pc.exam.pp.module.exam.dal.dataobject.EducationPaperTask; import pc.exam.pp.module.exam.dal.dataobject.monitor.MonitorDO; +import pc.exam.pp.module.exam.dal.dataobject.student.StuPaperFileDO; import pc.exam.pp.module.exam.service.monitor.MonitorService; +import pc.exam.pp.module.exam.service.stu_paper_file.StuPaperFileService; import static pc.exam.pp.module.infra.enums.ErrorCodeConstants.DEMO03_MONITOR_SESSION_EXISTS; import static pc.exam.pp.module.infra.enums.ErrorCodeConstants.DEMO03_MONITOR_TIME_EXISTS; @@ -42,6 +44,8 @@ import static pc.exam.pp.module.infra.enums.ErrorCodeConstants.DEMO03_MONITOR_TI public class MonitorController { @Resource private MonitorService monitorService; + @Resource + StuPaperFileService stuPaperFileService; @PostMapping("/create") @Operation(summary = "创建监控管理") @@ -137,4 +141,13 @@ public class MonitorController { return success(monitorService.updateMonitorStatus(stuMonitorStatusVo)); } + @GetMapping("/getMonitorStuFileUrl") + public CommonResult getMonitorStuFileUrl(@RequestParam("temporaryId") String temporaryId) { + StuPaperFileDO stuPaperFileDO = stuPaperFileService.selectByTemporaryId(temporaryId); + if (stuPaperFileDO == null) { + return error(1_1_606_003, "学生文件不存在"); + } + return success(stuPaperFileDO.getUrl()); + } + } diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/vo/MonitorRespVO.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/vo/MonitorRespVO.java index d8a6883d..647a07be 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/vo/MonitorRespVO.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/vo/MonitorRespVO.java @@ -1,9 +1,14 @@ package pc.exam.pp.module.exam.controller.admin.monitor.vo; + import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; + import java.util.*; + import org.springframework.format.annotation.DateTimeFormat; + import java.time.LocalDateTime; + import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - 监控管理 Response VO") @@ -11,46 +16,48 @@ import com.alibaba.excel.annotation.*; @ExcelIgnoreUnannotated public class MonitorRespVO { -private String monitorId; + private String monitorId; -@ExcelProperty("用户账号") -private String username; + @ExcelProperty("用户账号") + private String username; -@ExcelProperty("用户姓名") -private String nickname; + @ExcelProperty("用户姓名") + private String nickname; -@ExcelProperty("班级") -private String className; + @ExcelProperty("班级") + private String className; -@ExcelProperty("考试状态") -private String examStatus; + @ExcelProperty("考试状态") + private String examStatus; -@Schema(description = "成绩") -@ExcelProperty("成绩") -private String score; + @Schema(description = "成绩") + @ExcelProperty("成绩") + private String score; -@Schema(description = "试卷编号") -@ExcelProperty("试卷编号") -private String paperNum; + @Schema(description = "试卷编号") + @ExcelProperty("试卷编号") + private String paperNum; -@Schema(description = "任务名称") -@ExcelProperty("任务名称") -private String taskName; + @Schema(description = "任务名称") + @ExcelProperty("任务名称") + private String taskName; -@Schema(description = "任务类别") -@ExcelProperty("任务类别") -private String taskType; + @Schema(description = "任务类别") + @ExcelProperty("任务类别") + private String taskType; -@Schema(description = "机器ip") -@ExcelProperty("机器ip") -private String ip; + @Schema(description = "机器ip") + @ExcelProperty("机器ip") + private String ip; -@Schema(description = "剩余时间") -@ExcelProperty("剩余时间") -private String remainingTime; + private String temporaryId; -@Schema(description = "创建时间") -@ExcelProperty("创建时间") -private LocalDateTime createTime; + @Schema(description = "剩余时间") + @ExcelProperty("剩余时间") + private String remainingTime; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime createTime; } diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/mysql/student/StuPaperFileMapper.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/mysql/student/StuPaperFileMapper.java index 0e5a30cf..e60032e0 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/mysql/student/StuPaperFileMapper.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/mysql/student/StuPaperFileMapper.java @@ -18,4 +18,7 @@ public interface StuPaperFileMapper extends BaseMapperX { List findByStuIdAndPaperId(@Param("stuId") Long stuId, @Param("paperId") String paperId, @Param("temporaryId") String temporaryId); List findOneByStuIdAndPaperId(@Param("stuId")Long stuId, @Param("paperId")String paperId,@Param("type") int type); + + StuPaperFileDO findByTemporaryId(@Param("temporaryId") String temporaryId); + } \ No newline at end of file diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorServiceImpl.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorServiceImpl.java index 4d5a5c72..ac8ae50d 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorServiceImpl.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorServiceImpl.java @@ -376,7 +376,7 @@ public class MonitorServiceImpl implements MonitorService { if (StringUtils.isNotBlank(monitorDO.getScore())) { try { double oldScore = Double.parseDouble(monitorDO.getScore()); - if (score.doubleValue() > oldScore) { + if (score.doubleValue() >= oldScore) { info.setScore(String.valueOf(score)); info.setTemporaryId(stuMonitorPaperEndVo.getTemporaryId()); } else { diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/stu_paper_file/StuPaperFileService.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/stu_paper_file/StuPaperFileService.java index 2fb7efd3..51bca20b 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/stu_paper_file/StuPaperFileService.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/stu_paper_file/StuPaperFileService.java @@ -21,4 +21,6 @@ public interface StuPaperFileService { void insertStuPaperFile(StuPaperFileDO stuPaperFileDO); void updateStuPaperFile(StuPaperFileDO stuPaperFileDO); + + StuPaperFileDO selectByTemporaryId(String temporaryId); } \ No newline at end of file diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/stu_paper_file/StuPaperFileServiceImpl.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/stu_paper_file/StuPaperFileServiceImpl.java index c80426d0..cce4c535 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/stu_paper_file/StuPaperFileServiceImpl.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/stu_paper_file/StuPaperFileServiceImpl.java @@ -34,4 +34,9 @@ public class StuPaperFileServiceImpl implements StuPaperFileService { public void updateStuPaperFile(StuPaperFileDO stuPaperFileDO) { stuPaperFileMapper.updateById(stuPaperFileDO); } + + @Override + public StuPaperFileDO selectByTemporaryId(String temporaryId) { + return stuPaperFileMapper.findByTemporaryId(temporaryId); + } } \ No newline at end of file diff --git a/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/student/StuPaperFileMapper.xml b/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/student/StuPaperFileMapper.xml index 8a0fe157..7d7b42a3 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/student/StuPaperFileMapper.xml +++ b/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/student/StuPaperFileMapper.xml @@ -23,5 +23,10 @@ AND paper_id = #{paperId} and type = #{type} + \ No newline at end of file