Ver código fonte

修复云存储离线文件相关的bug

lideyin 5 anos atrás
pai
commit
d83a07b147

+ 3 - 1
examcloud-core-oe-admin-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/controller/ExamRecordController.java

@@ -19,6 +19,7 @@ import cn.com.qmth.examcloud.core.oe.admin.service.ExamRecordService;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examrecord.ExamRecordInfo;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examrecord.ExamRecordQuery;
 import cn.com.qmth.examcloud.core.oe.admin.service.bean.examrecord.ExamStudentQuestionScoreInfo;
+import cn.com.qmth.examcloud.support.filestorage.FileStorageUtil;
 import cn.com.qmth.examcloud.support.helper.IdentityNumberHelper;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import cn.com.qmth.examcloud.web.support.Naked;
@@ -85,7 +86,8 @@ public class ExamRecordController extends ControllerSupport {
                     long examRecordDataId = examRecordInfo.getDataId();
                     ExamRecordForMarkingEntity examRecordForMarkingEntity = examRecordForMarkingRepo.findByExamRecordDataId(examRecordDataId);
                     if (examRecordForMarkingEntity != null) {
-                        examRecordInfo.setOfflineFileUrl(examRecordForMarkingEntity.getOfflineFileUrl());
+                        examRecordInfo.setOfflineFileUrl(
+                                FileStorageUtil.realPath(examRecordForMarkingEntity.getOfflineFileUrl()));
                     }
                 }
             }

+ 4 - 4
examcloud-core-oe-admin-api-provider/src/main/java/cn/com/qmth/examcloud/core/oe/admin/api/provider/ExamRecordForMarkingCloudServiceProvider.java

@@ -18,6 +18,7 @@ import cn.com.qmth.examcloud.core.oe.admin.dao.entity.ExamRecordForMarkingEntity
 import cn.com.qmth.examcloud.core.oe.admin.dao.entity.ExamStudentEntity;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamRecordForMarkingService;
 import cn.com.qmth.examcloud.core.oe.admin.service.ExamRecordQuestionsService;
+import cn.com.qmth.examcloud.support.filestorage.FileStorageUtil;
 import cn.com.qmth.examcloud.web.helpers.GlobalHelper;
 import cn.com.qmth.examcloud.web.support.ControllerSupport;
 import com.google.common.collect.Lists;
@@ -36,13 +37,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.persistence.criteria.Predicate;
-
-import static cn.com.qmth.examcloud.core.oe.admin.base.Constants.OE_CODE_400;
-
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
+import static cn.com.qmth.examcloud.core.oe.admin.base.Constants.OE_CODE_400;
+
 /**
  * @author chenken
  * @date 2018年9月27日 上午11:01:23
@@ -89,7 +89,7 @@ public class ExamRecordForMarkingCloudServiceProvider extends ControllerSupport
             examRecordForMarkingBean.setPaperType(entity.getPaperType());
             examRecordForMarkingBean.setCourseId(entity.getCourseId());
             examRecordForMarkingBean.setOfflineFileName(entity.getOfflineFileName());
-            examRecordForMarkingBean.setOfflineFileUrl(entity.getOfflineFileUrl());
+            examRecordForMarkingBean.setOfflineFileUrl(FileStorageUtil.realPath(entity.getOfflineFileUrl()));
             examRecordForMarkingBean.setBatchNum(entity.getBatchNum());
             examRecordForMarkingBeanList.add(examRecordForMarkingBean);
         }

+ 2 - 1
examcloud-core-oe-admin-service/src/main/java/cn/com/qmth/examcloud/core/oe/admin/service/impl/ExamStudentServiceImpl.java

@@ -34,6 +34,7 @@ import cn.com.qmth.examcloud.examwork.api.ExamStudentCloudService;
 import cn.com.qmth.examcloud.examwork.api.request.GetExamStudentReq;
 import cn.com.qmth.examcloud.examwork.api.response.GetExamStudentResp;
 import cn.com.qmth.examcloud.support.cache.bean.SysPropertyCacheBean;
+import cn.com.qmth.examcloud.support.filestorage.FileStorageUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.hibernate.query.NativeQuery;
 import org.hibernate.transform.Transformers;
@@ -366,7 +367,7 @@ public class ExamStudentServiceImpl implements ExamStudentService {
                 ExamRecordForMarkingEntity examRecordForMarking = examRecordForMarkingRepo.findTopByExamStudentId(examStudentEntity.getExamStudentId());
                 if (examRecordForMarking != null && StringUtils.isNotBlank(examRecordForMarking.getOfflineFileUrl())) {
                     examStudentInfo.setFinishedStatus(FinishStatus.已上传.name());
-                    examStudentInfo.setOfflineFileUrl(examRecordForMarking.getOfflineFileUrl());
+                    examStudentInfo.setOfflineFileUrl(FileStorageUtil.realPath(examRecordForMarking.getOfflineFileUrl()));
                 } else {
                     examStudentInfo.setFinishedStatus(FinishStatus.已抽题.name());
                 }