xiaofei 1 жил өмнө
parent
commit
d76c11c268

+ 1 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/bean/scananswer/SheetUploadVo.java

@@ -11,8 +11,7 @@ public class SheetUploadVo {
 
     public static SheetUploadVo create(String uri) {
         SheetUploadVo vo = new SheetUploadVo();
-        FilePathVo filePathVo = JSON.parseObject(uri, FilePathVo.class);
-        vo.setUri(filePathVo.getPath());
+        vo.setUri(uri);
         vo.setUpdateTime(System.currentTimeMillis());
         return vo;
     }

+ 132 - 127
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanPackageServiceImpl.java

@@ -41,139 +41,144 @@ import com.qmth.teachcloud.mark.service.ScanPackageService;
  */
 @Service
 public class ScanPackageServiceImpl extends ServiceImpl<ScanPackageMapper, ScanPackage> implements ScanPackageService {
-	@Autowired
-	private MarkFileService markFileService;
-	@Autowired
-	private ScanFilePropertyService scanFilePropertyService;
-	@Autowired
-	private MarkPaperService markPaperService;
+    @Autowired
+    private MarkFileService markFileService;
+    @Autowired
+    private ScanFilePropertyService scanFilePropertyService;
+    @Autowired
+    private MarkPaperService markPaperService;
 
-	@Override
-	public int getCount(Long examId) {
-		QueryWrapper<ScanPackage> wrapper = new QueryWrapper<>();
-		LambdaQueryWrapper<ScanPackage> lw = wrapper.lambda();
-		lw.eq(ScanPackage::getExamId, examId);
-		return baseMapper.selectCount(wrapper);
-	}
+    @Override
+    public int getCount(Long examId) {
+        QueryWrapper<ScanPackage> wrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<ScanPackage> lw = wrapper.lambda();
+        lw.eq(ScanPackage::getExamId, examId);
+        return baseMapper.selectCount(wrapper);
+    }
 
-	@Override
-	public List<ScanPackage> listByExamIdAndCoursePaperIdAndPackageCode(Long examId, String coursePaperId,
-			String packageCode) {
-		QueryWrapper<ScanPackage> queryWrapper = new QueryWrapper<>();
-		LambdaQueryWrapper<ScanPackage> lambdaQueryWrapper = queryWrapper.lambda();
-		lambdaQueryWrapper.eq(ScanPackage::getExamId, examId).eq(ScanPackage::getCoursePaperId, coursePaperId);
-		if (StringUtils.isNotBlank(packageCode)) {
-			lambdaQueryWrapper.eq(ScanPackage::getPackageCode, packageCode).orderByAsc(ScanPackage::getPackageCode);
-		}
-		lambdaQueryWrapper.orderByAsc(ScanPackage::getPackageNo);
-		return this.list(queryWrapper);
-	}
+    @Override
+    public List<ScanPackage> listByExamIdAndCoursePaperIdAndPackageCode(Long examId, String coursePaperId,
+                                                                        String packageCode) {
+        QueryWrapper<ScanPackage> queryWrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<ScanPackage> lambdaQueryWrapper = queryWrapper.lambda();
+        lambdaQueryWrapper.eq(ScanPackage::getExamId, examId).eq(ScanPackage::getCoursePaperId, coursePaperId);
+        if (StringUtils.isNotBlank(packageCode)) {
+            lambdaQueryWrapper.eq(ScanPackage::getPackageCode, packageCode).orderByAsc(ScanPackage::getPackageCode);
+        }
+        lambdaQueryWrapper.orderByAsc(ScanPackage::getPackageNo);
+        return this.list(queryWrapper);
+    }
 
-	@Transactional
-	@Override
-	public SheetUploadVo imageUpload(Long examId, String packageCode, Integer packageNo, MultipartFile file,
-			String md5) {
-		SheetUploadVo vo = null;
-		List<MarkPaper> mps = markPaperService.listByExamAndPackage(examId, packageCode);
-		if (CollectionUtils.isEmpty(mps)) {
-			throw new ParameterException("未找到科目信息");
-		}
-		for (MarkPaper mp : mps) {
-			String coursePaperId = mp.getCoursePaperId();
-			try {
-				String path = markFileService.uploadPackage(file.getInputStream(), md5, examId, coursePaperId, packageCode,
-						packageNo);
-				if (vo == null) {
-					vo = SheetUploadVo.create(path);
-				}
-				ScanPackage sp = getByExamIdAndCoursePaperIdAndPackageCodeAndPackageNo(examId, coursePaperId,
-						packageCode, packageNo);
-				if (sp == null) {
-					sp = new ScanPackage();
-					sp.setExamId(examId);
-					sp.setCoursePaperId(coursePaperId);
-					sp.setPackageCode(packageCode);
-					sp.setPackageNo(packageNo);
-					sp.setAssigned(false);
-				}
-				sp.setMd5(md5);
-				sp.setPath(path);
-				scanFilePropertyService.save(examId, path, md5, file.getSize());
-				this.saveOrUpdate(sp);
-			} catch (Exception e) {
-				log.error("原图上传失败,examId=" + examId + ", coursePaperId=" + coursePaperId + ",packageCode=" + packageCode
-						+ ", packageNo=" + packageNo, e);
-				throw new ParameterException("扫描图上传失败", e);
-			}
-		}
-		return vo;
-	}
+    @Transactional
+    @Override
+    public SheetUploadVo imageUpload(Long examId, String packageCode, Integer packageNo, MultipartFile file,
+                                     String md5) {
+        SheetUploadVo vo = null;
+        List<MarkPaper> mps = markPaperService.listByExamAndPackage(examId, packageCode);
+        if (CollectionUtils.isEmpty(mps)) {
+            throw new ParameterException("未找到科目信息");
+        }
+        for (MarkPaper mp : mps) {
+            String coursePaperId = mp.getCoursePaperId();
+            try {
+                String path = markFileService.uploadPackage(file.getInputStream(), md5, examId, coursePaperId, packageCode,
+                        packageNo);
+                if (vo == null) {
+                    vo = SheetUploadVo.create(path);
+                }
+                ScanPackage sp = getByExamIdAndCoursePaperIdAndPackageCodeAndPackageNo(examId, coursePaperId,
+                        packageCode, packageNo);
+                if (sp == null) {
+                    sp = new ScanPackage();
+                    sp.setExamId(examId);
+                    sp.setCoursePaperId(coursePaperId);
+                    sp.setPackageCode(packageCode);
+                    sp.setPackageNo(packageNo);
+                    sp.setAssigned(false);
+                }
+                sp.setMd5(md5);
+                sp.setPath(path);
+                scanFilePropertyService.save(examId, path, md5, file.getSize());
+                this.saveOrUpdate(sp);
+            } catch (Exception e) {
+                log.error("原图上传失败,examId=" + examId + ", coursePaperId=" + coursePaperId + ",packageCode=" + packageCode
+                        + ", packageNo=" + packageNo, e);
+                throw new ParameterException("扫描图上传失败", e);
+            }
+        }
+        return vo;
+    }
 
-	private ScanPackage getByExamIdAndCoursePaperIdAndPackageCodeAndPackageNo(Long examId, String coursePaperId,
-			String packageCode, Integer packageNo) {
-		QueryWrapper<ScanPackage> wrapper = new QueryWrapper<>();
-		LambdaQueryWrapper<ScanPackage> lw = wrapper.lambda();
-		lw.eq(ScanPackage::getExamId, examId);
-		lw.eq(ScanPackage::getCoursePaperId, coursePaperId);
-		lw.eq(ScanPackage::getPackageCode, packageCode);
-		lw.eq(ScanPackage::getPackageNo, packageNo);
-		wrapper.last("LIMIT 1");
-		return this.getOne(wrapper);
-	}
+    private ScanPackage getByExamIdAndCoursePaperIdAndPackageCodeAndPackageNo(Long examId, String coursePaperId,
+                                                                              String packageCode, Integer packageNo) {
+        QueryWrapper<ScanPackage> wrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<ScanPackage> lw = wrapper.lambda();
+        lw.eq(ScanPackage::getExamId, examId);
+        lw.eq(ScanPackage::getCoursePaperId, coursePaperId);
+        lw.eq(ScanPackage::getPackageCode, packageCode);
+        lw.eq(ScanPackage::getPackageNo, packageNo);
+        wrapper.last("LIMIT 1");
+        return this.getOne(wrapper);
+    }
 
-	private List<ScanPackage> getByExamIdAndCoursePaperId(Long examId, String coursePaperId) {
-		QueryWrapper<ScanPackage> wrapper = new QueryWrapper<>();
-		LambdaQueryWrapper<ScanPackage> lw = wrapper.lambda();
-		lw.eq(ScanPackage::getExamId, examId);
-		lw.eq(ScanPackage::getCoursePaperId, coursePaperId);
-		lw.orderByAsc(ScanPackage::getPackageNo);
-		return this.list(wrapper);
-	}
+    private List<ScanPackage> getByExamIdAndCoursePaperId(Long examId, String coursePaperId) {
+        QueryWrapper<ScanPackage> wrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<ScanPackage> lw = wrapper.lambda();
+        lw.eq(ScanPackage::getExamId, examId);
+        lw.eq(ScanPackage::getCoursePaperId, coursePaperId);
+        lw.orderByAsc(ScanPackage::getPackageNo);
+        return this.list(wrapper);
+    }
 
-	@Override
-	public IPage<ScanPackageVo> imagePage(ScanPackageQuery query) {
-		IPage<ScanPackageVo> iPage = this.baseMapper.page(new Page<>(query.getPageNumber(), query.getPageSize()), query);
-		if(CollectionUtils.isNotEmpty(iPage.getRecords())) {
-			List<ScanPackage> sps=getByExamIdAndCoursePaperId(query.getExamId(), query.getCoursePaperId());
-			if(CollectionUtils.isNotEmpty(sps)) {
-				Map<String,List<String>> map=new HashMap<>();
-				for(ScanPackage sp:sps) {
-					List<String> tem=map.get(sp.getPackageCode());
-					if(tem==null) {
-						tem=new ArrayList<>();
-						map.put(sp.getPackageCode(), tem);
-					}
-					tem.add(sp.getPath());
-				}
-				for(ScanPackageVo vo:iPage.getRecords()) {
-					List<String> pages=map.get(vo.getPackageCode());
-					vo.setPages(pages);
-					vo.setPagesCount(pages.size());
-				}
-			}
-		}
-		return iPage;
-	}
+    @Override
+    public IPage<ScanPackageVo> imagePage(ScanPackageQuery query) {
+        IPage<ScanPackageVo> iPage = this.baseMapper.page(new Page<>(query.getPageNumber(), query.getPageSize()), query);
+        if (CollectionUtils.isNotEmpty(iPage.getRecords())) {
+            List<ScanPackage> sps = getByExamIdAndCoursePaperId(query.getExamId(), query.getCoursePaperId());
+            if (CollectionUtils.isNotEmpty(sps)) {
+                Map<String, List<String>> map = new HashMap<>();
+                for (ScanPackage sp : sps) {
+                    List<String> tem = map.get(sp.getPackageCode());
+                    if (tem == null) {
+                        tem = new ArrayList<>();
+                        map.put(sp.getPackageCode(), tem);
+                    }
+                    tem.add(sp.getPath());
+                }
+                for (ScanPackageVo vo : iPage.getRecords()) {
+                    List<String> pages = map.get(vo.getPackageCode());
+                    vo.setPages(pages);
+                    vo.setPagesCount(pages.size());
+                }
+            }
+        }
+        return iPage;
+    }
 
-	@Override
-	public ScanPackageFindVo find(Long examId, String packageCode) {
-		// TODO
-		return null;
-	}
+    @Override
+    public ScanPackageFindVo find(Long examId, String packageCode) {
+        List<MarkPaper> markPaperList = markPaperService.listByExamAndPackage(examId, packageCode);
+        ScanPackageFindVo scanPackageFindVo = new ScanPackageFindVo();
+        if (CollectionUtils.isNotEmpty(markPaperList)) {
+            scanPackageFindVo.setExamId(examId);
+            scanPackageFindVo.setPackageCode(packageCode);
+        }
+        return scanPackageFindVo;
+    }
 
-	@Override
-	public List<String> imageGet(Long examId, String coursePaperId, String packageCode) {
-		List<String> ret=new ArrayList<>();
-		QueryWrapper<ScanPackage> wrapper = new QueryWrapper<>();
-		LambdaQueryWrapper<ScanPackage> lw = wrapper.lambda();
-		lw.eq(ScanPackage::getExamId, examId);
-		lw.eq(ScanPackage::getCoursePaperId, coursePaperId);
-		lw.eq(ScanPackage::getPackageCode, packageCode);
-		lw.orderByAsc(ScanPackage::getPackageNo);
-		List<ScanPackage> list=this.list(wrapper);
-		if(CollectionUtils.isNotEmpty(list)) {
-			ret=list.stream().map(e->e.getPath()).collect(Collectors.toList());
-		}
-		return ret;
-	}
+    @Override
+    public List<String> imageGet(Long examId, String coursePaperId, String packageCode) {
+        List<String> ret = new ArrayList<>();
+        QueryWrapper<ScanPackage> wrapper = new QueryWrapper<>();
+        LambdaQueryWrapper<ScanPackage> lw = wrapper.lambda();
+        lw.eq(ScanPackage::getExamId, examId);
+        lw.eq(ScanPackage::getCoursePaperId, coursePaperId);
+        lw.eq(ScanPackage::getPackageCode, packageCode);
+        lw.orderByAsc(ScanPackage::getPackageNo);
+        List<ScanPackage> list = this.list(wrapper);
+        if (CollectionUtils.isNotEmpty(list)) {
+            ret = list.stream().map(e -> e.getPath()).collect(Collectors.toList());
+        }
+        return ret;
+    }
 }