|
@@ -25,6 +25,7 @@ import com.qmth.distributed.print.business.mapper.ExamTaskMapper;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.templete.execute.AsyncPaperReviewPdfExportService;
|
|
import com.qmth.distributed.print.business.templete.execute.AsyncPaperReviewPdfExportService;
|
|
import com.qmth.distributed.print.business.util.CreatePdfUtil;
|
|
import com.qmth.distributed.print.business.util.CreatePdfUtil;
|
|
|
|
+import com.qmth.distributed.print.business.util.PdfUtil;
|
|
import com.qmth.teachcloud.common.bean.dto.AssignTeacherDto;
|
|
import com.qmth.teachcloud.common.bean.dto.AssignTeacherDto;
|
|
import com.qmth.teachcloud.common.bean.dto.BlurryUserDto;
|
|
import com.qmth.teachcloud.common.bean.dto.BlurryUserDto;
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
@@ -35,6 +36,7 @@ import com.qmth.teachcloud.common.bean.result.BasicStudentResult;
|
|
import com.qmth.teachcloud.common.bean.result.SysUserResult;
|
|
import com.qmth.teachcloud.common.bean.result.SysUserResult;
|
|
import com.qmth.teachcloud.common.bean.result.TbTaskDetailResult;
|
|
import com.qmth.teachcloud.common.bean.result.TbTaskDetailResult;
|
|
import com.qmth.teachcloud.common.bean.tiku.TikuPaperInfo;
|
|
import com.qmth.teachcloud.common.bean.tiku.TikuPaperInfo;
|
|
|
|
+import com.qmth.teachcloud.common.bean.vo.FilePathVo;
|
|
import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
|
|
import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.*;
|
|
import com.qmth.teachcloud.common.entity.*;
|
|
@@ -47,6 +49,7 @@ import com.qmth.teachcloud.common.util.excel.ExcelError;
|
|
import org.activiti.engine.ActivitiObjectNotFoundException;
|
|
import org.activiti.engine.ActivitiObjectNotFoundException;
|
|
import org.activiti.engine.TaskService;
|
|
import org.activiti.engine.TaskService;
|
|
import org.activiti.engine.task.Task;
|
|
import org.activiti.engine.task.Task;
|
|
|
|
+import org.apache.commons.io.FileUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -2145,12 +2148,15 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public String getTikuPaperData(Long examId, Long paperId) {
|
|
|
|
|
|
+ public Map<String, String> getTikuPaperData(Long examId, Long paperId) {
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
|
+ Map<String, String> map = new HashMap<>();
|
|
try {
|
|
try {
|
|
File paperDataFile = tikuUtils.getTikuPaperData(schoolId, paperId);
|
|
File paperDataFile = tikuUtils.getTikuPaperData(schoolId, paperId);
|
|
ExamTaskPaperData examTaskPaperData = saveTikuPaperData(examId, paperId, paperDataFile);
|
|
ExamTaskPaperData examTaskPaperData = saveTikuPaperData(examId, paperId, paperDataFile);
|
|
- return examTaskPaperData.getAnswerJson();
|
|
|
|
|
|
+ map.put("uuid", examTaskPaperData.getUuid());
|
|
|
|
+ map.put("answerJson", examTaskPaperData.getAnswerJson());
|
|
|
|
+ return map;
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
throw new RuntimeException(e);
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
@@ -2164,12 +2170,24 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
|
|
|
|
|
|
ExamTaskPaperData examTaskPaperData = new ExamTaskPaperData();
|
|
ExamTaskPaperData examTaskPaperData = new ExamTaskPaperData();
|
|
examTaskPaperData.setExamId(examId);
|
|
examTaskPaperData.setExamId(examId);
|
|
- examTaskPaperData.setPaperNumber(SystemConstant.getNanoId());
|
|
|
|
|
|
+ // 系统自动生成唯一码,命题任务提交时,根据唯一码反向更新真实的试卷编号
|
|
|
|
+ examTaskPaperData.setPaperNumber("0");
|
|
|
|
+ examTaskPaperData.setUuid(SystemConstant.getNanoId());
|
|
examTaskPaperData.setPaperId(paperId);
|
|
examTaskPaperData.setPaperId(paperId);
|
|
// paper.json
|
|
// paper.json
|
|
|
|
+ String paperJson = FileUtils.readFileToString(new File(zipDestPath + File.separator + "paper.json"), StandardCharsets.UTF_8);
|
|
|
|
+ examTaskPaperData.setPaperJson(paperJson);
|
|
// answer.json
|
|
// answer.json
|
|
|
|
+ String answerJson = FileUtils.readFileToString(new File(zipDestPath + File.separator + "answer.json"), StandardCharsets.UTF_8);
|
|
|
|
+ examTaskPaperData.setAnswerJson(answerJson);
|
|
// paper.pdf
|
|
// paper.pdf
|
|
|
|
+ String paperPdfName = PdfUtil.md5FileName(examTaskPaperData.getUuid() + "paper" + SystemConstant.PDF_PREFIX);
|
|
|
|
+ FilePathVo filePathVoPaper = fileUploadService.uploadFile(new File(zipDestPath + File.separator + "paper.pdf"), UploadFileEnum.PDF, paperPdfName);
|
|
|
|
+ examTaskPaperData.setPaperPdf(JSON.toJSONString(filePathVoPaper));
|
|
// answer.pdf
|
|
// answer.pdf
|
|
|
|
+ String answerPdfName = PdfUtil.md5FileName(examTaskPaperData.getUuid() + "answer" + SystemConstant.PDF_PREFIX);
|
|
|
|
+ FilePathVo filePathVoAnswer = fileUploadService.uploadFile(new File(zipDestPath + File.separator + "answer.pdf"), UploadFileEnum.PDF, answerPdfName);
|
|
|
|
+ examTaskPaperData.setAnswerPdf(JSON.toJSONString(filePathVoAnswer));
|
|
return examTaskPaperData;
|
|
return examTaskPaperData;
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
throw ExceptionResultEnum.ERROR.exception("获取试卷包数据失败");
|
|
throw ExceptionResultEnum.ERROR.exception("获取试卷包数据失败");
|