Browse Source

提交代码

weiwenhai 6 years ago
parent
commit
06b78190fc

+ 23 - 0
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/export/FjsfExportPaperService.java

@@ -6,6 +6,8 @@ import java.util.List;
 import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
 import org.springframework.stereotype.Service;
 
+import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLog;
+import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLogFactory;
 import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
 import cn.com.qmth.examcloud.core.questions.base.enums.ExamFileType;
@@ -26,9 +28,15 @@ import cn.com.qmth.examcloud.core.questions.service.bean.dto.PaperExp;
 @Service("fjsfExportPaperService")
 public class FjsfExportPaperService extends ExportPaperAbstractService {
 
+	protected ExamCloudLog log = ExamCloudLogFactory.getLog(this.getClass());
+	
 	@Override
     public void downloadPaper(String paperId,String zipFileName,String examType) throws Exception {
+		log.debug("题库开始下载试卷...");
+		long startTime = System.currentTimeMillis();
 		PaperExp paperExp = super.initPaperExp(paperId);
+		long paperExpTime = System.currentTimeMillis();
+		log.debug("拼装导出对象耗时:"+ (paperExpTime - startTime)+"ms");
 		if(paperExp!=null){
 			String paperfileName = paperExp.getName()+"_"+paperExp.getCourseNo()+"_"+ExamFileType.PAPER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+paperfileName);
@@ -37,22 +45,37 @@ public class FjsfExportPaperService extends ExportPaperAbstractService {
 				paperExp.setExamRemarkWord(DocxProcessUtil.html2Docx(wordMLPackage, CommonUtils.formatHtml(paperExp.getExamRemark())));
 				DocxProcessUtil.exportWordNew(paperExp, file,FJSF_TMPLATE_PAPER);
 			}else{
+				long docxTime = System.currentTimeMillis();
 				DocxProcessUtil.exportWordNew(paperExp, file,FJSF_TMPLATE_PAPER);
+				long docxEndTime = System.currentTimeMillis();
+				log.debug("处理word文字耗时:"+ (docxEndTime - docxTime)+"ms");
 			}
+			long docxImgTime = System.currentTimeMillis();
 			DocxProcessUtil.processImage(zipFileName+File.separator+paperfileName,getPkgList(paperId));
+			long docxImgEndTime = System.currentTimeMillis();
+			log.debug("处理word文字+图片耗时:"+ (docxImgEndTime - docxImgTime)+"ms");
 			//下载音频
 			super.downloadAudio(paperExp, zipFileName);
+			long aduioTime = System.currentTimeMillis();
+			log.debug("处理音频耗时:"+ (aduioTime - docxImgEndTime)+"ms");
 		}
     }
 	
 	@Override
 	public void downloadPaperAnswer(String paperId, String zipFileName)throws Exception {
+		log.debug("题库开始下载答案...");
+		long startTime = System.currentTimeMillis();
 		PaperExp paperExp = initPaperExp(paperId);
+		long paperExpTime = System.currentTimeMillis();
+		log.debug("拼装导出对象耗时:"+ (paperExpTime - startTime)+"ms");
 		if(paperExp!=null){
 			String answerFileName = paperExp.getName()+"_"+paperExp.getCourseNo()+"_"+ExamFileType.ANSWER.getName()+DOCX_SUFFIX;
 			File file = new File(TEMP_FILE_EXP+File.separator+zipFileName+File.separator+answerFileName);
+			long docxTime = System.currentTimeMillis();
 			DocxProcessUtil.exportWordNew(paperExp,file,FJSF_TMPLATE_ANSWER);
 			DocxProcessUtil.processImage(zipFileName+File.separator+answerFileName,getPkgList(paperId));
+			long docxEndTime = System.currentTimeMillis();
+			log.debug("处理word文字+图片耗时:"+ (docxEndTime - docxTime)+"ms");
 		}
 	}
 

+ 11 - 1
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/ExportPaperServiceImpl.java

@@ -1,5 +1,7 @@
 package cn.com.qmth.examcloud.core.questions.service.impl;
 
+import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLog;
+import cn.com.qmth.examcloud.commons.base.logging.ExamCloudLogFactory;
 import cn.com.qmth.examcloud.core.questions.base.question.enums.QuesStructType;
 import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
 import cn.com.qmth.examcloud.core.questions.base.FileDisposeUtil;
@@ -54,6 +56,8 @@ import java.util.stream.Collectors;
 
 @Service("exportPaperService")
 public class ExportPaperServiceImpl implements ExportPaperService {
+	
+	protected ExamCloudLog log = ExamCloudLogFactory.getLog(this.getClass());
 
     public static final String TEMP_FILE_EXP = "docxExport/";
 
@@ -102,7 +106,7 @@ public class ExportPaperServiceImpl implements ExportPaperService {
 
     @Override
     public void exportPaperFile(String paperId, String serviceName, String exportContentList, HttpServletResponse response, String loginName, String examType, String psw) throws Exception {
-        ExportPaperAbstractService exportPaperAbstractService = (ExportPaperAbstractService) SpringContextUtils.getBeanById(serviceName);
+        ExportPaperAbstractService exportPaperAbstractService = (ExportPaperAbstractService) SpringContextUtils.getBeanById("fjsfExportPaperService");
         //根据试卷id查询试卷
         Paper paper = paperRepo.findOne(paperId);
 
@@ -132,9 +136,15 @@ public class ExportPaperServiceImpl implements ExportPaperService {
 		/*if(examType.equals("offLine") && StringUtils.isNotBlank(paper.getExamRemark())){
 			downExamRemark(paper,zipFileName);
 		}*/
+        log.debug("开始压缩成zip...");
+        long startTime = System.currentTimeMillis();
         FileDisposeUtil.fileToZip(TEMP_FILE_EXP + File.separator + zipFileName, TEMP_FILE_EXP, zipFileName);
         FileDisposeUtil.downloadFile(paper.getName() + "_" + paper.getCourse().getCode() + ".zip", TEMP_FILE_EXP + File.separator + zipFileName + ".zip", response);
+        long endTime = System.currentTimeMillis();
+        log.debug("下载zip耗时:"+ (endTime - startTime)+"ms");
         deteleFolder(TEMP_FILE_EXP, zipFileName);
+        long deleteTime = System.currentTimeMillis();
+        log.debug("删除文件耗时:"+ (deleteTime - endTime)+"ms");
     }
 
     /**