Bladeren bron

修改组卷小题数bug

weiwenhai 7 jaren geleden
bovenliggende
commit
2c5b1340d5

+ 4 - 4
examcloud-core-questions-api-provider/src/main/java/cn/com/qmth/examcloud/service/core/api/GenPaperController.java

@@ -60,9 +60,9 @@ public class GenPaperController extends ControllerSupport {
 			if (genPaperDto.getGenNumber() == 1) {
 				//判断抽题类型  按数量  按分数
 	            if (genPaperDto.getSimpleGenPaperPolicy().getKey() == 1L) {
-	                paperMap = genPaperService.genPaperByQuestionNumW(genPaperDto);
+	                paperMap = genPaperService.genPaperByQuestionNumW(genPaperDto,user);
 	            }else {
-	                paperMap = genPaperService.genPaperByScoreW(genPaperDto);
+	                paperMap = genPaperService.genPaperByScoreW(genPaperDto,user);
 	            }
 	        }else {
 	        	//如果是组多套试卷
@@ -70,9 +70,9 @@ public class GenPaperController extends ControllerSupport {
 					genPaperDto.setPaperName(genPaperDto.getPaperName() + "_" + i);
 					//判断抽题类型  按数量  按分数
 					if (genPaperDto.getSimpleGenPaperPolicy().getKey() == 1L) {
-		                paperMap.putAll(genPaperService.genPaperByQuestionNumW(genPaperDto));
+		                paperMap.putAll(genPaperService.genPaperByQuestionNumW(genPaperDto,user));
 		            }else {
-		            	paperMap.putAll(genPaperService.genPaperByScoreW(genPaperDto));
+		            	paperMap.putAll(genPaperService.genPaperByScoreW(genPaperDto,user));
 		            }
 					if (!paperMap.get("msg").equals("success")) {
 						return new ResponseEntity<Object>(paperMap, HttpStatus.INTERNAL_SERVER_ERROR);

+ 9 - 7
examcloud-core-questions-service/src/main/java/cn/com/qmth/examcloud/core/questions/service/impl/GenPaperService.java

@@ -41,8 +41,8 @@ import cn.com.qmth.examcloud.core.questions.base.BeanCopierUtil;
 import cn.com.qmth.examcloud.core.questions.base.CombinationUtils;
 import cn.com.qmth.examcloud.core.questions.base.CommonUtils;
 import cn.com.qmth.examcloud.core.questions.base.enums.PaperType;
-
 import cn.com.qmth.examcloud.common.dto.question.enums.QuesStructType;
+import cn.com.qmth.examcloud.commons.web.security.bean.User;
 
 @Service
 public class GenPaperService {
@@ -213,17 +213,17 @@ public class GenPaperService {
      * @param 	type
      * @return	Map<String, Object>
      */
-    public Map<String, Object> genPaperByScoreW(GenPaperDto genPaperDto) {
+    public Map<String, Object> genPaperByScoreW(GenPaperDto genPaperDto,User user) {
     	//定义返回给前端的集合
     	Map<String, Object> paperMsgMap = new HashMap<String, Object>();
     	//获取所有试卷与抽题数
     	Map<String, Double> paperMap = genPaperDto.getSimpleParams();
-    	paperMsgMap = extractByQuestioScore(paperMap,paperMsgMap,genPaperDto);
+    	paperMsgMap = extractByQuestioScore(paperMap,paperMsgMap,genPaperDto,user);
     	return paperMsgMap;
     }
     
     //通过题目分数组卷
-    private Map<String, Object> extractByQuestioScore(Map<String, Double> paperMap,Map<String, Object> paperMsgMap,GenPaperDto genPaperDto){
+    private Map<String, Object> extractByQuestioScore(Map<String, Double> paperMap,Map<String, Object> paperMsgMap,GenPaperDto genPaperDto,User user){
     	if(paperMap != null && paperMap.size()>0){
     		//定义随机选中的小题集合
     		List<PaperDetailUnit> selectedUnits = new ArrayList<PaperDetailUnit>();
@@ -267,6 +267,7 @@ public class GenPaperService {
     		List<PaperDetail> paperDetails = buildPaperDetail(map,genPaperDto);
     		//构建新的试卷
     		Paper paper = buildPaper(map,genPaperDto,paperDetails);
+    		paperService.formatPaper(paper, user);
             paperMsgMap.put("paper", paper);
             paperMsgMap.put("msg", "success");
     	}
@@ -280,17 +281,17 @@ public class GenPaperService {
      * @param 	type
      * @return	Map<String, Object>
      */
-    public Map<String, Object> genPaperByQuestionNumW(GenPaperDto genPaperDto) {
+    public Map<String, Object> genPaperByQuestionNumW(GenPaperDto genPaperDto,User user) {
     	//定义返回给前端的集合
     	Map<String, Object> paperMsgMap = new HashMap<String, Object>();
     	//获取所有试卷与抽题数
     	Map<String, Double> paperMap = genPaperDto.getSimpleParams();
-    	paperMsgMap = extractByQuestionNum(paperMap,paperMsgMap,genPaperDto);
+    	paperMsgMap = extractByQuestionNum(paperMap,paperMsgMap,genPaperDto,user);
     	return paperMsgMap;
     }
     
     //通过题目数量组卷
-    private Map<String, Object> extractByQuestionNum(Map<String, Double> paperMap,Map<String, Object> paperMsgMap,GenPaperDto genPaperDto){
+    private Map<String, Object> extractByQuestionNum(Map<String, Double> paperMap,Map<String, Object> paperMsgMap,GenPaperDto genPaperDto,User user){
     	if(paperMap != null && paperMap.size()>0){
     		//定义随机选中的小题集合
     		List<PaperDetailUnit> selectedUnits = new ArrayList<PaperDetailUnit>();
@@ -340,6 +341,7 @@ public class GenPaperService {
     		List<PaperDetail> paperDetails = buildPaperDetail(map,genPaperDto);
     		//构建新的试卷
     		Paper paper = buildPaper(map,genPaperDto,paperDetails);
+    		paperService.formatPaper(paper, user);
             paperMsgMap.put("paper", paper);
             paperMsgMap.put("msg", "success");
     	}