Преглед изворни кода

解决组卷时候翻页BUG

gaoxing пре 8 година
родитељ
комит
63b1ea2535

+ 3 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/dao/PaperRepo.java

@@ -2,6 +2,7 @@ package com.qmth.cqb.paper.dao;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -22,4 +23,6 @@ public interface PaperRepo extends MongoRepository<Paper, String>, QueryByExampl
 
     Paper findByName(String name);
 
+    Page<Paper> findByIdNotInAndCourseNoAndOrgId(Set<String> idSet, String courseNo, String orgId, Pageable page);
+
 }

+ 12 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/service/PaperService.java

@@ -17,6 +17,7 @@ import org.springframework.data.domain.Example;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
 import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
@@ -687,4 +688,15 @@ public class PaperService {
         }
     }
 
+    public Page<Paper> getImportPapersNotInIds(PaperSearchInfo paperSearchInfo, String[] ids, int curPage,
+            int pageSize) {
+        Set<String> selectedIds = new HashSet<>();
+        for (String id : ids) {
+            selectedIds.add(id);
+        }
+        Pageable page = new PageRequest(curPage - 1, pageSize);
+        return paperRepo.findByIdNotInAndCourseNoAndOrgId(selectedIds, paperSearchInfo.getCourseNo(),
+                paperSearchInfo.getOrgId(), page);
+    }
+
 }

+ 26 - 0
cqb-paper/src/main/java/com/qmth/cqb/paper/web/PaperController.java

@@ -436,5 +436,31 @@ public class PaperController {
         return new ResponseEntity(paperService.selectQuestionsToPaper(paperId, paperDetailId, questions,user),HttpStatus.OK);
 
     }
+    
+    /**
+     * 
+     * @param request
+     * @param paperSearchInfo
+     * @param ids
+     * @param curPage
+     * @param pageSize
+     * @return
+     */
+    @ApiOperation(value = "查询所有导入试卷(not in paperIds)", notes = "查询所有导入试卷(not in paperIds)")
+    @GetMapping(value = "/importPaper/{ids}/{curPage}/{pageSize}")
+    public ResponseEntity getImportPapersNotInIds( HttpServletRequest request, 
+                                            @ModelAttribute PaperSearchInfo paperSearchInfo,
+                                            @PathVariable String[] ids,
+                                            @PathVariable int curPage,
+                                            @PathVariable int pageSize) {
+        AccessUser user = (AccessUser) request.getAttribute("accessUser");
+        paperSearchInfo.setOrgId(user.getOrgId().toString());
+        if(ids !=null && ids.length > 0){
+            return new ResponseEntity(paperService.getImportPapersNotInIds(paperSearchInfo,ids,curPage, pageSize), HttpStatus.OK);
+        } else {
+            return new ResponseEntity(paperService.getImportPapersNotSuccess(paperSearchInfo, curPage, pageSize), HttpStatus.OK);
+        }
+      
+    }
 
 }