|
@@ -15,19 +15,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qmth.boot.core.exception.ParameterException;
|
|
import com.qmth.boot.core.exception.ParameterException;
|
|
-import com.qmth.teachcloud.common.bean.vo.FilePathVo;
|
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
-import com.qmth.teachcloud.common.enums.UploadFileEnum;
|
|
|
|
import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
|
|
import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
|
|
-import com.qmth.teachcloud.common.service.FileUploadService;
|
|
|
|
import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
-import com.qmth.teachcloud.common.util.FileStoreUtil;
|
|
|
|
import com.qmth.teachcloud.mark.entity.MarkDocument;
|
|
import com.qmth.teachcloud.mark.entity.MarkDocument;
|
|
import com.qmth.teachcloud.mark.entity.MarkPaper;
|
|
import com.qmth.teachcloud.mark.entity.MarkPaper;
|
|
import com.qmth.teachcloud.mark.enums.DocumentType;
|
|
import com.qmth.teachcloud.mark.enums.DocumentType;
|
|
import com.qmth.teachcloud.mark.mapper.MarkDocumentMapper;
|
|
import com.qmth.teachcloud.mark.mapper.MarkDocumentMapper;
|
|
import com.qmth.teachcloud.mark.service.MarkDocumentService;
|
|
import com.qmth.teachcloud.mark.service.MarkDocumentService;
|
|
|
|
+import com.qmth.teachcloud.mark.service.MarkFileService;
|
|
import com.qmth.teachcloud.mark.service.MarkPaperService;
|
|
import com.qmth.teachcloud.mark.service.MarkPaperService;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -41,20 +38,23 @@ import com.qmth.teachcloud.mark.service.MarkPaperService;
|
|
@Service
|
|
@Service
|
|
public class MarkDocumentServiceImpl extends ServiceImpl<MarkDocumentMapper, MarkDocument> implements MarkDocumentService {
|
|
public class MarkDocumentServiceImpl extends ServiceImpl<MarkDocumentMapper, MarkDocument> implements MarkDocumentService {
|
|
@Resource
|
|
@Resource
|
|
- private FileUploadService fileUploadService;
|
|
|
|
- @Resource
|
|
|
|
- private FileStoreUtil fileStoreUtil;
|
|
|
|
|
|
+ private MarkFileService markFileService;
|
|
@Resource
|
|
@Resource
|
|
private TeachcloudCommonService teachcloudCommonService;
|
|
private TeachcloudCommonService teachcloudCommonService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
private MarkPaperService markPaperService;
|
|
private MarkPaperService markPaperService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<MarkDocument> listByExamIdAndPaperNumber(Long examId, String paperNumber) {
|
|
public List<MarkDocument> listByExamIdAndPaperNumber(Long examId, String paperNumber) {
|
|
QueryWrapper<MarkDocument> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<MarkDocument> queryWrapper = new QueryWrapper<>();
|
|
queryWrapper.lambda().eq(MarkDocument::getExamId, examId)
|
|
queryWrapper.lambda().eq(MarkDocument::getExamId, examId)
|
|
.eq(MarkDocument::getPaperNumber, paperNumber);
|
|
.eq(MarkDocument::getPaperNumber, paperNumber);
|
|
- return this.list(queryWrapper);
|
|
|
|
|
|
+ List<MarkDocument> list = this.list(queryWrapper);
|
|
|
|
+ for (MarkDocument d:list) {
|
|
|
|
+ d.setFilePath(teachcloudCommonService.filePreview(d.getFilePath()));
|
|
|
|
+ }
|
|
|
|
+ return list;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -78,14 +78,14 @@ public class MarkDocumentServiceImpl extends ServiceImpl<MarkDocumentMapper, Mar
|
|
if(document.getType().equals(DocumentType.CUSTOM)){
|
|
if(document.getType().equals(DocumentType.CUSTOM)){
|
|
name = document.getName();
|
|
name = document.getName();
|
|
}
|
|
}
|
|
- String filePath = getDocumentUri(document.getExamId(),document.getPaperNumber(),String.valueOf(document.getType().getValue()),name,format);
|
|
|
|
- FilePathVo vo = fileUploadService.uploadFile(file.getInputStream(),filePath ,UploadFileEnum.DOCUMENT);
|
|
|
|
|
|
+ String path = markFileService.uploadDocument(file.getInputStream(),
|
|
|
|
+ md5,document.getExamId(),document.getPaperNumber(),String.valueOf(document.getType().getValue()),document.getName(),format);
|
|
UpdateWrapper<MarkDocument> updateWrapper = new UpdateWrapper<>();
|
|
UpdateWrapper<MarkDocument> updateWrapper = new UpdateWrapper<>();
|
|
- updateWrapper.lambda().set(MarkDocument::getFilePath, vo.getPath())
|
|
|
|
|
|
+ updateWrapper.lambda().set(MarkDocument::getFilePath, path)
|
|
.set(MarkDocument::getFileCount, 1)
|
|
.set(MarkDocument::getFileCount, 1)
|
|
.eq(MarkDocument::getId, id);
|
|
.eq(MarkDocument::getId, id);
|
|
this.update(updateWrapper);
|
|
this.update(updateWrapper);
|
|
- return teachcloudCommonService.filePreview(vo.getPath());
|
|
|
|
|
|
+ return teachcloudCommonService.filePreview(path);
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
log.error(SystemConstant.LOG_ERROR, e);
|
|
log.error(SystemConstant.LOG_ERROR, e);
|
|
throw new ParameterException("原图上传失败", e);
|
|
throw new ParameterException("原图上传失败", e);
|
|
@@ -107,7 +107,7 @@ public class MarkDocumentServiceImpl extends ServiceImpl<MarkDocumentMapper, Mar
|
|
@Override
|
|
@Override
|
|
public String save(Long examId, String paperNumber, String documentName, MultipartFile file, String md5) {
|
|
public String save(Long examId, String paperNumber, String documentName, MultipartFile file, String md5) {
|
|
MarkPaper markPaper=markPaperService.getByExamIdAndPaperNumber(examId,paperNumber);
|
|
MarkPaper markPaper=markPaperService.getByExamIdAndPaperNumber(examId,paperNumber);
|
|
- if(markPaper==null ||markPaper.getStatus().equals(MarkPaperStatus.FINISH)){
|
|
|
|
|
|
+ if(markPaper==null || !markPaper.getStatus().equals(MarkPaperStatus.FINISH)){
|
|
throw ExceptionResultEnum.ERROR.exception("评卷未结束或试卷不存在");
|
|
throw ExceptionResultEnum.ERROR.exception("评卷未结束或试卷不存在");
|
|
}
|
|
}
|
|
QueryWrapper<MarkDocument> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<MarkDocument> queryWrapper = new QueryWrapper<>();
|
|
@@ -116,7 +116,7 @@ public class MarkDocumentServiceImpl extends ServiceImpl<MarkDocumentMapper, Mar
|
|
.eq(MarkDocument::getName, documentName);
|
|
.eq(MarkDocument::getName, documentName);
|
|
MarkDocument document = this.getOne(queryWrapper);
|
|
MarkDocument document = this.getOne(queryWrapper);
|
|
if(document!=null){
|
|
if(document!=null){
|
|
- throw ExceptionResultEnum.ERROR.exception(document+"已存在");
|
|
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception(documentName+"已存在");
|
|
}
|
|
}
|
|
document = new MarkDocument();
|
|
document = new MarkDocument();
|
|
document.setExamId(examId);
|
|
document.setExamId(examId);
|
|
@@ -136,18 +136,14 @@ public class MarkDocumentServiceImpl extends ServiceImpl<MarkDocumentMapper, Mar
|
|
if(document.getType().equals(DocumentType.CUSTOM)){
|
|
if(document.getType().equals(DocumentType.CUSTOM)){
|
|
name = document.getName();
|
|
name = document.getName();
|
|
}
|
|
}
|
|
- String filePath = getDocumentUri(document.getExamId(),document.getPaperNumber(),String.valueOf(document.getType().getValue()),name,format);
|
|
|
|
- FilePathVo vo = fileUploadService.uploadFile(file.getInputStream(),filePath ,UploadFileEnum.DOCUMENT);
|
|
|
|
- document.setFilePath(vo.getPath());
|
|
|
|
|
|
+ String path = markFileService.uploadDocument(file.getInputStream(),
|
|
|
|
+ md5,examId,paperNumber,String.valueOf(document.getType().getValue()),documentName,format);
|
|
|
|
+ document.setFilePath(path);
|
|
this.save(document);
|
|
this.save(document);
|
|
- return teachcloudCommonService.filePreview(vo.getPath());
|
|
|
|
|
|
+ return teachcloudCommonService.filePreview(path);
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
log.error(SystemConstant.LOG_ERROR, e);
|
|
log.error(SystemConstant.LOG_ERROR, e);
|
|
throw new ParameterException("文件上传失败", e);
|
|
throw new ParameterException("文件上传失败", e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- public String getDocumentUri(Long examId, String paperNumber, String documentType, String no,String format) {
|
|
|
|
- return UploadFileEnum.DOCUMENT.getPath(UploadFileEnum.DOCUMENT.getTitle(), examId, paperNumber, documentType, no, format.toLowerCase());
|
|
|
|
- }
|
|
|
|
}
|
|
}
|