소스 검색

新增卡格式参数

yin 9 달 전
부모
커밋
7d97adf5b6

+ 26 - 5
src/main/java/cn/com/qmth/scancentral/bean/card/CardFile.java

@@ -1,10 +1,5 @@
 package cn.com.qmth.scancentral.bean.card;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.qmth.boot.core.exception.ParameterException;
-
-import javax.imageio.ImageIO;
 import java.awt.*;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -12,6 +7,12 @@ import java.util.Base64;
 import java.util.LinkedList;
 import java.util.List;
 
+import javax.imageio.ImageIO;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.qmth.boot.core.exception.ParameterException;
+
 /**
  * 卡格式文件内容结构
  */
@@ -22,6 +23,10 @@ public class CardFile {
 
     private boolean adapted;
 
+    private Boolean duplex;
+
+    private CardPageSize pageSize;
+
     private List<CardPageWrapper> pages;
 
     @JsonIgnore
@@ -106,4 +111,20 @@ public class CardFile {
         }
         return sliceName;
     }
+
+    public Boolean isDuplex() {
+        return duplex;
+    }
+
+    public void setDuplex(Boolean duplex) {
+        this.duplex = duplex;
+    }
+
+    public CardPageSize getPageSize() {
+        return pageSize;
+    }
+
+    public void setPageSize(CardPageSize pageSize) {
+        this.pageSize = pageSize;
+    }
 }

+ 52 - 0
src/main/java/cn/com/qmth/scancentral/bean/card/CardPageSize.java

@@ -0,0 +1,52 @@
+package cn.com.qmth.scancentral.bean.card;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class CardPageSize {
+
+    @JsonProperty("dpi")
+    private int dpi;
+
+    @JsonProperty("pageName")
+    private String pageName;
+
+    @JsonProperty("height")
+    private int height;
+
+    @JsonProperty("width")
+    private int width;
+
+    public int getDpi() {
+        return dpi;
+    }
+
+    public void setDpi(int dpi) {
+        this.dpi = dpi;
+    }
+
+    public String getPageName() {
+        return pageName;
+    }
+
+    public void setPageName(String pageName) {
+        this.pageName = pageName;
+    }
+
+    public int getHeight() {
+        return height;
+    }
+
+    public void setHeight(int height) {
+        this.height = height;
+    }
+
+    public int getWidth() {
+        return width;
+    }
+
+    public void setWidth(int width) {
+        this.width = width;
+    }
+}

+ 0 - 12
src/main/java/cn/com/qmth/scancentral/controller/scan/ScanBatchController.java

@@ -12,10 +12,7 @@ import cn.com.qmth.scancentral.bean.BatchCreateDomain;
 import cn.com.qmth.scancentral.bean.User;
 import cn.com.qmth.scancentral.bean.answersave.AnswerDomain;
 import cn.com.qmth.scancentral.controller.BaseController;
-import cn.com.qmth.scancentral.service.AdapteFileService;
-import cn.com.qmth.scancentral.service.AnswerCardService;
 import cn.com.qmth.scancentral.service.BatchService;
-import cn.com.qmth.scancentral.service.PaperService;
 import cn.com.qmth.scancentral.vo.BatchFinishVo;
 import cn.com.qmth.scancentral.vo.BatchVerifyVo;
 import cn.com.qmth.scancentral.vo.SheetUploadVo;
@@ -31,18 +28,9 @@ import io.swagger.annotations.ApiOperation;
 @Aac(strict = false, auth = true)
 public class ScanBatchController extends BaseController {
 
-    @Autowired
-    private AnswerCardService answerCardService;
-
     @Autowired
     private BatchService batchService;
 
-    @Autowired
-    private PaperService paperService;
-
-    @Autowired
-    private AdapteFileService adapteFileService;
-
     @ApiOperation(value = "答题卡扫描批次创建")
     @RequestMapping(value = "/create", method = RequestMethod.POST)
     public BatchCreateVo batchCreate(@Validated @RequestBody BatchCreateDomain domain) {

+ 0 - 8
src/main/java/cn/com/qmth/scancentral/controller/scan/ScanCardController.java

@@ -18,8 +18,6 @@ import com.qmth.boot.api.utils.RequestUtil;
 import cn.com.qmth.scancentral.controller.BaseController;
 import cn.com.qmth.scancentral.service.AdapteFileService;
 import cn.com.qmth.scancentral.service.AnswerCardService;
-import cn.com.qmth.scancentral.service.BatchService;
-import cn.com.qmth.scancentral.service.PaperService;
 import cn.com.qmth.scancentral.vo.AnswerCardVo;
 import cn.com.qmth.scancentral.vo.UriVo;
 import io.swagger.annotations.Api;
@@ -34,12 +32,6 @@ public class ScanCardController extends BaseController {
     @Autowired
     private AnswerCardService answerCardService;
 
-    @Autowired
-    private BatchService batchService;
-
-    @Autowired
-    private PaperService paperService;
-
     @Autowired
     private AdapteFileService adapteFileService;
 

+ 32 - 26
src/main/java/cn/com/qmth/scancentral/service/impl/AnswerCardServiceImpl.java

@@ -1,5 +1,30 @@
 package cn.com.qmth.scancentral.service.impl;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
+import com.qmth.boot.core.collection.PageResult;
+import com.qmth.boot.core.exception.ParameterException;
+
 import cn.com.qmth.scancentral.bean.User;
 import cn.com.qmth.scancentral.bean.card.CardFile;
 import cn.com.qmth.scancentral.dao.AnswerCardDao;
@@ -12,29 +37,6 @@ import cn.com.qmth.scancentral.vo.AnswerCardVo;
 import cn.com.qmth.scancentral.vo.card.CardEdit;
 import cn.com.qmth.scancentral.vo.card.CardInfo;
 import cn.com.qmth.scancentral.vo.card.CardQuery;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
-import com.qmth.boot.core.collection.PageResult;
-import com.qmth.boot.core.exception.ParameterException;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
 
 @Service
 public class AnswerCardServiceImpl extends MppServiceImpl<AnswerCardDao, AnswerCardEntity>
@@ -140,11 +142,15 @@ public class AnswerCardServiceImpl extends MppServiceImpl<AnswerCardDao, AnswerC
         entity.setPath(filePath);
         entity.setNeedAdapte(false);
         entity.setSource(CardSource.CLIENT);
-        entity.setPaperCount(cardFile.getPages().size());
-        entity.setSinglePage(cardFile.getPages().size() == 1);
+        entity.setSinglePage(cardFile.isDuplex()==null?true:!cardFile.isDuplex());
+        entity.setPaperCount(entity.getSinglePage()?cardFile.getPages().size():cardFile.getPages().size()/2);
         entity.setParameter(info.getParameter());
         entity.setRemark(info.getRemark());
-        entity.setDpi(info.getDpi());
+        if(cardFile.getPageSize()!=null){
+            entity.setDpi(cardFile.getPageSize().getDpi());
+        }else {
+            entity.setDpi(info.getDpi());
+        }
         entity.setMd5(info.getMd5());
         this.saveOrUpdateByMultiId(entity);
 

+ 2 - 2
src/main/java/cn/com/qmth/scancentral/vo/student/StudentQuery.java

@@ -6,9 +6,9 @@ public class StudentQuery {
 
     @NotNull(message = "考试Id不能为空")
     private Long examId;
-
+    @NotNull(message = "examNumber不能为空")
     private String examNumber;
-
+    @NotNull(message = "subjectCode不能为空")
     private String subjectCode;
 
     public Long getExamId() {