xiaofei 1 vuosi sitten
vanhempi
commit
5b4ea4fb65

+ 8 - 6
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/ScanAnswerBatchController.java

@@ -1,6 +1,8 @@
 package com.qmth.distributed.print.api.mark;
 
 
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -47,25 +49,25 @@ public class ScanAnswerBatchController {
 	
     @ApiOperation(value = "答题卡扫描批次创建")
     @RequestMapping(value = "create", method = RequestMethod.POST)
-    public BatchCreateVo batchCreate(@Validated @RequestBody BatchCreateDomain domain) {
+    public Result batchCreate(@Validated @RequestBody BatchCreateDomain domain) {
     	BasicExam exam = basicExamService.getById(domain.getExamId());
 		if (exam == null) {
 			throw new ParameterException("未找到考试信息");
 		}
 		SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        return scanBatchService.batchCreate(domain,sysUser);
+        return ResultUtil.ok(scanBatchService.batchCreate(domain,sysUser));
     }
     
     @ApiOperation(value = "答题卡扫描批次完成")
     @RequestMapping(value = "finish", method = RequestMethod.POST)
-    public BatchFinishVo batchFinish(@RequestParam Long id) {
-        return scanBatchService.batchFinish(id);
+    public Result batchFinish(@RequestParam Long id) {
+        return ResultUtil.ok(scanBatchService.batchFinish(id));
     }
     
     @ApiOperation(value = "答题卡扫描结果保存")
     @RequestMapping(value = "save", method = RequestMethod.POST)
-    public AnswerSaveVo batchSave(@Validated @RequestBody AnswerDomain domain) {
+    public Result batchSave(@Validated @RequestBody AnswerDomain domain) {
     	SysUser user = (SysUser) ServletUtil.getRequestUser();
-        return scanBatchService.batchSave(domain, user);
+        return ResultUtil.ok(scanBatchService.batchSave(domain, user));
     }
 }

+ 89 - 90
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/ScanAnswerCardController.java

@@ -1,14 +1,5 @@
 package com.qmth.distributed.print.api.mark;
 
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.core.concurrent.service.ConcurrentService;
 import com.qmth.boot.core.exception.ParameterException;
@@ -16,15 +7,22 @@ import com.qmth.boot.core.exception.ReentrantException;
 import com.qmth.distributed.print.business.service.BasicExamService;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicExam;
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.mark.bean.UriVo;
 import com.qmth.teachcloud.mark.bean.answercard.AnswerCardSaveDomain;
 import com.qmth.teachcloud.mark.bean.answercard.AnswerCardSaveVo;
 import com.qmth.teachcloud.mark.bean.answercard.AnswerCardVo;
 import com.qmth.teachcloud.mark.enums.LockType;
 import com.qmth.teachcloud.mark.service.ScanAnswerCardService;
-
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * <p>
@@ -39,90 +37,91 @@ import io.swagger.annotations.ApiOperation;
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_SCAN + "/answer/card")
 public class ScanAnswerCardController {
 
-	@Autowired
-	private ScanAnswerCardService scanAnswerCardService;
+    @Autowired
+    private ScanAnswerCardService scanAnswerCardService;
+
+    @Autowired
+    private ConcurrentService concurrentService;
 
-	@Autowired
-	private ConcurrentService concurrentService;
+    @Autowired
+    private BasicExamService basicExamService;
 
-	@Autowired
-	private BasicExamService basicExamService;
+    @ApiOperation(value = "答题卡卡格式列表")
+    @RequestMapping(value = "list", method = RequestMethod.POST)
+    public Result cardList(@RequestParam Long examId,
+                           @RequestParam(required = false) String coursePaperId) {
+        return ResultUtil.ok(scanAnswerCardService.cardList(examId, coursePaperId));
+    }
 
-	@ApiOperation(value = "答题卡卡格式列表")
-	@RequestMapping(value = "list", method = RequestMethod.POST)
-	public List<AnswerCardVo> cardList(@RequestParam Long examId,
-			@RequestParam(required = false) String coursePaperId) {
-		return scanAnswerCardService.cardList(examId, coursePaperId);
-	}
+    @ApiOperation(value = "创建/修改题卡卡格式")
+    @RequestMapping(value = "save", method = RequestMethod.POST)
+    public Result cardSave(@RequestParam Integer dpi, @RequestParam Long examId,
+                           @RequestParam String coursePaperId, @RequestParam String md5,
+                           @RequestParam(required = false) Integer number, @RequestParam(required = false) String remark,
+                           @RequestParam Integer paperCount, @RequestParam MultipartFile file) {
+        BasicExam exam = basicExamService.getById(examId);
+        if (exam == null) {
+            throw new ParameterException("未找到考试信息");
+        }
+        AnswerCardSaveDomain domain = new AnswerCardSaveDomain(number, examId, coursePaperId, remark, paperCount, file,
+                md5, dpi);
+        if (concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).tryLock()) {
+            try {
+                scanAnswerCardService.cardSave(domain);
+                AnswerCardSaveVo vo = new AnswerCardSaveVo(domain.getNumber(), System.currentTimeMillis());
+                return ResultUtil.ok(vo);
+            } finally {
+                concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).unlock();
+            }
+        } else {
+            throw new ReentrantException("正在处理卡格式,请稍后再试");
+        }
+    }
 
-	@ApiOperation(value = "创建/修改题卡卡格式")
-	@RequestMapping(value = "save", method = RequestMethod.POST)
-	public AnswerCardSaveVo cardSave(@RequestParam Integer dpi, @RequestParam Long examId,
-			@RequestParam String coursePaperId, @RequestParam String md5,
-			@RequestParam(required = false) Integer number, @RequestParam(required = false) String remark,
-			@RequestParam Integer paperCount, @RequestParam MultipartFile file) {
-		BasicExam exam = basicExamService.getById(examId);
-		if (exam == null) {
-			throw new ParameterException("未找到考试信息");
-		}
-		AnswerCardSaveDomain domain = new AnswerCardSaveDomain(number, examId, coursePaperId, remark, paperCount, file,
-				md5, dpi);
-		if (concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).tryLock()) {
-			try {
-				scanAnswerCardService.cardSave(domain);
-				AnswerCardSaveVo vo = new AnswerCardSaveVo(domain.getNumber(), System.currentTimeMillis());
-				return vo;
-			} finally {
-				concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).unlock();
-			}
-		} else {
-			throw new ReentrantException("正在处理卡格式,请稍后再试");
-		}
-	}
+    @ApiOperation(value = "删除答题卡卡格式")
+    @RequestMapping(value = "delete", method = RequestMethod.POST)
+    public Result cardDelete(@RequestParam Long examId, @RequestParam Integer number) {
+        BasicExam exam = basicExamService.getById(examId);
+        if (exam == null) {
+            throw new ParameterException("未找到考试信息");
+        }
+        if (concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).tryLock()) {
+            try {
+                scanAnswerCardService.cardDelete(examId, number);
+                AnswerCardSaveVo vo = new AnswerCardSaveVo(number, System.currentTimeMillis());
+                return ResultUtil.ok(vo);
+            } finally {
+                concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).unlock();
+            }
+        } else {
+            throw new ReentrantException("正在处理卡格式,请稍后再试");
+        }
+    }
 
-	@ApiOperation(value = "删除答题卡卡格式")
-	@RequestMapping(value = "delete", method = RequestMethod.POST)
-	public AnswerCardSaveVo cardDelete(@RequestParam Long examId, @RequestParam Integer number) {
-		BasicExam exam = basicExamService.getById(examId);
-		if (exam == null) {
-			throw new ParameterException("未找到考试信息");
-		}
-		if (concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).tryLock()) {
-			try {
-				scanAnswerCardService.cardDelete(examId, number);
-				AnswerCardSaveVo vo = new AnswerCardSaveVo(number, System.currentTimeMillis());
-				return vo;
-			} finally {
-				concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).unlock();
-			}
-		} else {
-			throw new ReentrantException("正在处理卡格式,请稍后再试");
-		}
-	}
+    @ApiOperation(value = "答题卡适配卡格式上传")
+    @RequestMapping(value = "adapte/upload", method = RequestMethod.POST)
+    public Result adapteUpload(@RequestParam Long examId, @RequestParam String coursePaperId,
+                               @RequestParam Integer cardNumber, @RequestParam MultipartFile file, @RequestParam String md5,
+                               @RequestParam Integer dpi, @RequestParam(required = false) String remark) {
+        BasicExam exam = basicExamService.getById(examId);
+        if (exam == null) {
+            throw new ParameterException("未找到考试信息");
+        }
+        if (concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).tryLock()) {
+            try {
+                UriVo uriVo = scanAnswerCardService.adapteUpload(examId, coursePaperId, cardNumber, md5, dpi, file, remark);
+                return ResultUtil.ok(uriVo);
+            } finally {
+                concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).unlock();
+            }
+        } else {
+            throw new ReentrantException("正在处理卡格式,请稍后再试");
+        }
+    }
 
-	@ApiOperation(value = "答题卡适配卡格式上传")
-	@RequestMapping(value = "adapte/upload", method = RequestMethod.POST)
-	public UriVo adapteUpload(@RequestParam Long examId, @RequestParam String coursePaperId,
-			@RequestParam Integer cardNumber, @RequestParam MultipartFile file, @RequestParam String md5,
-			@RequestParam Integer dpi, @RequestParam(required = false) String remark) {
-		BasicExam exam = basicExamService.getById(examId);
-		if (exam == null) {
-			throw new ParameterException("未找到考试信息");
-		}
-		if (concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).tryLock()) {
-			try {
-				return scanAnswerCardService.adapteUpload(examId,coursePaperId, cardNumber, md5, dpi, file,remark);
-			} finally {
-				concurrentService.getLock(LockType.CARD_SAVE + "-" + examId).unlock();
-			}
-		} else {
-			throw new ReentrantException("正在处理卡格式,请稍后再试");
-		}
-	}
-	
-	@ApiOperation(value = "答题卡卡格式列表")
-	@RequestMapping(value = "get", method = RequestMethod.POST)
-	public AnswerCardVo cardGet(@RequestParam Long examId,@RequestParam Integer number) {
-		return scanAnswerCardService.cardGet(examId, number);
-	}
+    @ApiOperation(value = "答题卡卡格式列表")
+    @RequestMapping(value = "get", method = RequestMethod.POST)
+    public Result cardGet(@RequestParam Long examId, @RequestParam Integer number) {
+        return ResultUtil.ok(scanAnswerCardService.cardGet(examId, number));
+    }
 }

+ 11 - 8
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/ScanAnswerController.java

@@ -2,6 +2,8 @@ package com.qmth.distributed.print.api.mark;
 
 import java.util.List;
 
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -52,27 +54,28 @@ public class ScanAnswerController {
 
 	@ApiOperation(value = "答题卡二次识别")
 	@RequestMapping(value = "refix", method = RequestMethod.POST)
-	public AnswerRefixVo refix(@Validated @RequestBody AnswerRefixDomain query) {
+	public Result refix(@Validated @RequestBody AnswerRefixDomain query) {
 		SysUser user = (SysUser) ServletUtil.getRequestUser();
-		return refixBatchService.answerRefix(user.getId(), query);
+		return ResultUtil.ok(refixBatchService.answerRefix(user.getId(), query));
 	}
 
 	@ApiOperation(value = "答题卡扫描原图上传")
 	@RequestMapping(value = "sheet/upload", method = RequestMethod.POST)
-	public SheetUploadVo sheetUpload(@RequestParam Long batchId, @RequestParam String coursePaperId,
+	public Result sheetUpload(@RequestParam Long batchId, @RequestParam String coursePaperId,
 			@RequestParam String studentCode, @RequestParam Integer paperNumber, @RequestParam Integer pageIndex,
 			@RequestParam MultipartFile file, @RequestParam String md5) {
-		return scanBatchService.sheetUpload(batchId, coursePaperId,studentCode, paperNumber, pageIndex, file, md5);
+		SheetUploadVo sheetUploadVo = scanBatchService.sheetUpload(batchId, coursePaperId, studentCode, paperNumber, pageIndex, file, md5);
+		return ResultUtil.ok(sheetUploadVo);
 	}
 	
     @ApiOperation(value = "查询答题卡扫描详情")
     @RequestMapping(value = "query", method = RequestMethod.POST)
-    public IPage<AnswerQueryVo> query(@Validated AnswerQueryDomain query) {
-        return markStudentService.query(query);
+    public Result query(@Validated AnswerQueryDomain query) {
+        return ResultUtil.ok(markStudentService.query(query));
     }
     @ApiOperation(value = "查询答题卡扫描概要")
     @RequestMapping(value = "summary", method = RequestMethod.POST)
-    public List<String> summary(@Validated AnswerQueryDomain query) {
-        return markStudentService.summary(query);
+    public Result summary(@Validated AnswerQueryDomain query) {
+        return ResultUtil.ok(markStudentService.summary(query));
     }
 }

+ 4 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/ScanController.java

@@ -105,23 +105,23 @@ public class ScanController {
     @Aac(auth = false)
     @ApiOperation(value = "服务端状态")
     @PostMapping("server/status")
-    public ApiStatusVo status(HttpServletRequest request) {
+    public Result status(HttpServletRequest request) {
         ApiStatusVo vo = new ApiStatusVo();
         vo.setFileUriPrefix(fileUriPrefix);
         vo.setVersion(SystemConstant.VERSION_VALUE);
         vo.setTime(System.currentTimeMillis());
-        return vo;
+        return ResultUtil.ok(vo);
     }
 
     @ApiOperation(value = "心跳接口")
     @PostMapping("server/heartbeat")
-    public ActiveTimeVo heartbeat() {
+    public Result heartbeat() {
         Platform platform = ServletUtil.getRequestPlatform();
         ExpireTimeBean expireTime = AuthUtil.getExpireTime(platform);
         TBSession ts = (TBSession) ServletUtil.getRequestSession();
         redisUtil.expire(ts.getId(), expireTime.getExpireSeconds(), TimeUnit.SECONDS);
         ActiveTimeVo vo = new ActiveTimeVo();
         vo.setActiveTime(System.currentTimeMillis());
-        return vo;
+        return ResultUtil.ok(vo);
     }
 }

+ 6 - 4
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/ScanExamController.java

@@ -2,6 +2,8 @@ package com.qmth.distributed.print.api.mark;
 
 import javax.annotation.Resource;
 
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -32,15 +34,15 @@ public class ScanExamController {
     
     @ApiOperation(value = "扫描汇总-答题卡扫描、签到表扫描")
     @RequestMapping(value = "card/info", method = RequestMethod.POST)
-    public ScanExamInfoVo cardInfo(@RequestParam Long examId) {
+    public Result cardInfo(@RequestParam Long examId) {
     	BasicExam exam=basicExamService.getById(examId);
-        return markStudentService.getScanExamInfo(exam);
+        return ResultUtil.ok(markStudentService.getScanExamInfo(exam));
     }
     
     @ApiOperation(value = "扫描汇总-数据校对")
     @RequestMapping(value = "check/info", method = RequestMethod.POST)
-    public ScanExamCheckInfoVo checkInfo(@RequestParam Long examId) {
+    public Result checkInfo(@RequestParam Long examId) {
     	BasicExam exam=basicExamService.getById(examId);
-        return markStudentService.checkInfo(exam);
+        return ResultUtil.ok(markStudentService.checkInfo(exam));
     }
 }

+ 10 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanAnswerCardServiceImpl.java

@@ -19,6 +19,7 @@ import com.qmth.teachcloud.mark.service.MarkFileService;
 import com.qmth.teachcloud.mark.service.MarkPaperService;
 import com.qmth.teachcloud.mark.service.ScanAnswerCardService;
 import com.qmth.teachcloud.mark.service.ScanPaperService;
+import com.qmth.teachcloud.mark.utils.FileStoreUtils;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -50,6 +51,9 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
     @Resource
     private MarkFileService markFileService;
 
+    @Resource
+    private FileStoreUtils fileStoreUtils;
+
     @Override
     public ScanAnswerCard findByExamAndNumber(Long examId, Integer cardNumber) {
         if (examId == null) {
@@ -67,7 +71,12 @@ public class ScanAnswerCardServiceImpl extends ServiceImpl<ScanAnswerCardMapper,
 
     @Override
     public List<AnswerCardVo> cardList(Long examId, String coursePaperId) {
-        return baseMapper.cardList(examId, coursePaperId);
+        List<AnswerCardVo> answerCardVos = baseMapper.cardList(examId, coursePaperId);
+        for (AnswerCardVo answerCardVo : answerCardVos) {
+            answerCardVo.setUri(fileStoreUtils.filePreview(answerCardVo.getUri()));
+            answerCardVo.setAdapteUri(fileStoreUtils.filePreview(answerCardVo.getAdapteUri()));
+        }
+        return answerCardVos;
     }
 
     @Transactional

+ 2 - 2
teachcloud-mark/src/main/resources/mapper/ScanAnswerCardMapper.xml

@@ -34,14 +34,14 @@
         <if test="coursePaperId != null and coursePaperId !=''">
             and t.course_paper_id=#{coursePaperId}
         </if>
-        order by t.id
+        order by t.exam_id, t.number
     </select>
     <select id="cardGet"
             resultType="com.qmth.teachcloud.mark.bean.answercard.AnswerCardVo">
         select t.*,t.paper_number coursePaperNumber,f.course_code,f.course_name
         from scan_answer_card t
         left join mark_paper f on t.exam_id=f.exam_id and t.course_paper_id=f.course_paper_id
-        where t.exam_id=#{examId} and and t.number=#{number}
+        where t.exam_id=#{examId} and t.number=#{number}
     </select>
     
 </mapper>