From acd0cf5cb43dc2c59a50eb17946b3b7b72ac9bd0 Mon Sep 17 00:00:00 2001 From: "YOHO\\20373" <2037305722@qq.com> Date: Wed, 7 May 2025 14:07:45 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E7=9B=91?= =?UTF-8?q?=E6=8E=A7=E7=AE=A1=E7=90=86=E7=BB=93=E6=9D=9F=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB=EF=BC=8C=E5=AD=A6=E7=94=9F=E6=96=87=E4=BB=B6=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=AD=97=E6=AE=B5=E6=96=87=E4=BB=B6=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../monitor/vo/StuMonitorPaperEndVo.java | 2 +- .../exam/dal/dataobject/SysFileUpload.java | 2 + .../service/monitor/MonitorServiceImpl.java | 131 ++++++++++------- .../question/ExamQuestionServiceImpl.java | 24 ++++ .../resources/mapper/exam/SysFileMapper.xml | 11 +- .../admin/Mysql/MysqlController.java | 1 + .../controller/admin/Mysql/TestControler.java | 27 ++++ .../WindowFile/WindowsFileController.java | 1 + .../admin/WpsWord/WpsWordController.java | 13 +- .../service/mysql/IMysqlServerice.java | 2 - .../service/mysql/MysqlServericeImpl.java | 2 +- .../service/mysql/testServiceImpl.java | 23 +++ .../controller/service/mysql/testservice.java | 7 + .../judgement/utils/EndStuMonitorUtils.java | 133 ++++++++++++++++++ 14 files changed, 315 insertions(+), 64 deletions(-) create mode 100644 exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/controller/admin/Mysql/TestControler.java create mode 100644 exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/controller/service/mysql/testServiceImpl.java create mode 100644 exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/controller/service/mysql/testservice.java create mode 100644 exam-module-judgement/exam-module-judgement-biz/src/main/java/pc/exam/pp/module/judgement/utils/EndStuMonitorUtils.java diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/vo/StuMonitorPaperEndVo.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/vo/StuMonitorPaperEndVo.java index 3e03609f..1b4b3ad0 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/vo/StuMonitorPaperEndVo.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/controller/admin/monitor/vo/StuMonitorPaperEndVo.java @@ -7,7 +7,7 @@ import lombok.Data; @Data public class StuMonitorPaperEndVo { private String stuId; - + private String paperId; private String score; private String taskId; diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/SysFileUpload.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/SysFileUpload.java index 3af9c4d6..335bfe6c 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/SysFileUpload.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/dal/dataobject/SysFileUpload.java @@ -48,6 +48,8 @@ public class SysFileUpload extends BaseDO { // @Excel(name = "文件类型(0:素材,1:原始,2:结果)") private String fileType; + private String fileName; + } 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 c2a5f7c9..90d02306 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 @@ -12,6 +12,7 @@ import org.springframework.validation.annotation.Validated; import java.io.FileWriter; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId; @@ -27,12 +28,14 @@ import pc.exam.pp.framework.common.util.json.JsonUtils; import pc.exam.pp.framework.common.util.object.BeanUtils; import pc.exam.pp.module.exam.controller.admin.monitor.vo.*; +import pc.exam.pp.module.exam.controller.admin.paper.dto.PersonRepDto; import pc.exam.pp.module.exam.dal.dataobject.*; import pc.exam.pp.module.exam.dal.dataobject.monitor.MonitorDO; import pc.exam.pp.module.exam.dal.mysql.monitor.MonitorMapper; import pc.exam.pp.module.exam.dal.mysql.paper.*; import pc.exam.pp.module.exam.dal.mysql.question.ExamQuestionMapper; import pc.exam.pp.module.exam.utils.uuid.IdUtils; +//import pc.exam.pp.module.infra.service.file.FileService; import static pc.exam.pp.framework.common.exception.util.ServiceExceptionUtil.exception; import static pc.exam.pp.module.system.enums.ErrorCodeConstants.MONITOR_NOT_EXISTS; @@ -63,6 +66,9 @@ public class MonitorServiceImpl implements MonitorService { private EducationPaperParamMapper educationPaperParamMapper; @Resource private EducationPaperSessionMapper educationPaperSessionMapper; + +// @Resource +// private FileService fileService; @Override public String createMonitor(MonitorSaveReqVO createReqVO) { // 插入 @@ -107,10 +113,9 @@ public class MonitorServiceImpl implements MonitorService { @Override public Boolean getStuMonitor(StuMonitorPaperVo stuMonitorPaperVo) { String key = "userCache:"+stuMonitorPaperVo.getTaskId()+":" + stuMonitorPaperVo.getStuId(); -// MonitorDO info = JsonUtils.parseObject(stringRedisTemplate.opsForValue().get(key),MonitorDO.class); - MonitorDO info=new MonitorDO(); - String uuid = IdUtils.simpleUUID(); - info.setMonitorId(uuid); + MonitorDO info = JsonUtils.parseObject(stringRedisTemplate.opsForValue().get(key),MonitorDO.class); +// MonitorDO info=new MonitorDO(); + if (StringUtils.isNotBlank(stuMonitorPaperVo.getPaperId())){ EducationPaper educationPaper = educationPaperMapper.selectEducationPaperByPaperId(stuMonitorPaperVo.getPaperId()); String counts = educationPaper.getCounts(); @@ -134,7 +139,7 @@ public class MonitorServiceImpl implements MonitorService { if (info.getRemainingTime()==null){ stringRedisTemplate.opsForValue().set("userCache:"+stuMonitorPaperVo.getTaskId()+":"+stuMonitorPaperVo.getStuId(), JsonUtils.toJsonString(info)); - monitorMapper.insert(info); + monitorMapper.updateById(info); return true; }else { EducationPaperPerson educationPaperPerson = educationPaperPersonMapper.selectByTaskIdAndPersonId(stuMonitorPaperVo.getTaskId(), stuMonitorPaperVo.getStuId()); @@ -173,7 +178,9 @@ public class MonitorServiceImpl implements MonitorService { //todo 考虑加点时间,或判分后删除 - stringRedisTemplate.opsForValue().set("userCache:"+stuMonitorPaperVo.getTaskId()+":"+stuMonitorPaperVo.getStuId(), JsonUtils.toJsonString(info), remainingSeconds, TimeUnit.SECONDS); +// stringRedisTemplate.opsForValue().set("userCache:"+stuMonitorPaperVo.getTaskId()+":"+stuMonitorPaperVo.getStuId(), JsonUtils.toJsonString(info), remainingSeconds, TimeUnit.SECONDS); + stringRedisTemplate.opsForValue().set("userCache:"+stuMonitorPaperVo.getTaskId()+":"+stuMonitorPaperVo.getStuId(), JsonUtils.toJsonString(info)); + monitorMapper.updateById(info); return true; }else { @@ -206,49 +213,57 @@ public class MonitorServiceImpl implements MonitorService { @Override public void endStuMonitor(StuMonitorPaperEndVo stuMonitorPaperEndVo) { - String key = "userCache:" + stuMonitorPaperEndVo.getTaskId()+":" +stuMonitorPaperEndVo.getStuId(); - String keychoice = "keychoice:"+stuMonitorPaperEndVo.getTaskId()+":" + stuMonitorPaperEndVo.getStuId(); - StuMonitorQuVo stuMonitorQuVo = JsonUtils.parseObject(stringRedisTemplate.opsForValue().get(keychoice),StuMonitorQuVo.class); - - try { - String fileName = "StuMonitorQu.txt"; - FileWriter writer = new FileWriter(fileName); - writer.write(JsonUtils.toJsonString(stuMonitorQuVo)); - writer.close(); - //上传至 - - - - } catch (IOException e) { - System.out.println(e); - } - - MonitorDO info = JsonUtils.parseObject(stringRedisTemplate.opsForValue().get(key),MonitorDO.class); - EducationPaperParam educationPaperParam = educationPaperParamMapper.selectEducationPaperParamByTaskId(stuMonitorPaperEndVo.getTaskId()); - EducationPaperTask educationPaperTask = educationPaperTaskMapper.selectEducationPaperTaskByTaskId(stuMonitorPaperEndVo.getTaskId()); - if ("1".equals(educationPaperParam.getSaveGrades())){ - info.setScore(stuMonitorPaperEndVo.getScore()); - }else { - MonitorDO monitorDO = monitorMapper.selectById(info.getMonitorId()); - info.setScore(stuMonitorPaperEndVo.getScore()); - if (StringUtils.isNotBlank(monitorDO.getScore())) { - if (Integer.parseInt(monitorDO.getScore()) 0){ fileUploads.replaceAll(fileUpload -> { + // 设置文件名(如果文件名为空) + if (!StringUtils.isNotBlank(fileUpload.getFileName())) { + switch (fileUpload.getFileType()) { + case "0": + fileUpload.setFileName("素材"); + break; + case "1": + fileUpload.setFileName("原始"); + break; + case "2": + fileUpload.setFileName("结果"); + break; + default: + fileUpload.setFileName(null); + // 可以设置一个默认文件名,或者保持原样(null 或空) + break; + } + } + if (StringUtils.isNotBlank(fileUpload.getFileName())) { + fileUpload.setFileName(null); + } + // 设置 fileId 和 quId fileUpload.setFileId(IdUtils.simpleUUID()); fileUpload.setQuId(uuid); + return fileUpload; }); sysFileMapper.insertSysFileList(fileUploads); diff --git a/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/SysFileMapper.xml b/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/SysFileMapper.xml index f48e27e2..59bd3bd2 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/SysFileMapper.xml +++ b/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/SysFileMapper.xml @@ -9,10 +9,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + - select file_id, qu_id, url, file_type from sys_file + select file_id, qu_id, url, file_type ,file_name from sys_file