瀏覽代碼

取题逻辑修改

小么熊🐻 2 年之前
父節點
當前提交
27a5d2a151

+ 11 - 0
jpcj-admin/src/main/java/com/miaxis/app/controller/common/CommonQuestionInfoController.java

@@ -2,6 +2,7 @@ package com.miaxis.app.controller.common;
 
 import com.miaxis.common.constant.Constants;
 import com.miaxis.common.core.controller.BaseController;
+import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.core.page.ResponsePageInfo;
 import com.miaxis.question.domain.QuestionInfo;
 import com.miaxis.question.dto.QuestionInfoFreeDTO;
@@ -40,6 +41,16 @@ public class CommonQuestionInfoController extends BaseController{
         return toResponsePageInfo(list);
     }
 
+    /**
+     * 查询模拟考试科目1与4题库
+     */
+    @GetMapping("/selectTestK14QuestionInfoListnN")
+    @ApiOperation("取模拟考试题库-无分页")
+    public Response<List<QuestionInfo>> selectTestK14QuestionInfoListN(@ModelAttribute QuestionInfoTestDTO questionInfoTestDTO){
+        List<QuestionInfo> list = questionInfoService.selectTestK14QuestionInfoList(questionInfoTestDTO);
+        return Response.success(list);
+    }
+
     /**
      * 查询免费题库
      */

+ 43 - 0
jpcj-admin/src/test/java/com/miaxis/test/NormalTest3.java

@@ -0,0 +1,43 @@
+package com.miaxis.test;
+
+import com.miaxis.JpcjApplication;
+import com.miaxis.question.domain.QuestionInfo;
+import com.miaxis.question.dto.QuestionInfoTestDTO;
+import com.miaxis.question.service.IQuestionInfoService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+@ActiveProfiles("dev")
+@SpringBootTest(classes = JpcjApplication.class)
+@RunWith(SpringRunner.class)
+public class NormalTest3 {
+
+
+    @Autowired
+    private IQuestionInfoService questionInfoService;
+
+    @Test
+    public void test1() throws Exception {
+        QuestionInfoTestDTO questionInfoTestDTO = new QuestionInfoTestDTO();
+        questionInfoTestDTO.setSubject(4);
+        questionInfoTestDTO.setGs("hc");
+
+        for (int i = 0; i < 1000; i++) {
+            List<QuestionInfo> list = questionInfoService.selectTestK14QuestionInfoList(questionInfoTestDTO);
+            System.out.println(i+"------------------------------------------------------------------------------------------------------");
+        }
+
+
+    }
+
+
+
+
+
+}

+ 12 - 9
jpcj-service/src/main/java/com/miaxis/question/service/impl/QuestionInfoServiceImpl.java

@@ -405,27 +405,30 @@ public class QuestionInfoServiceImpl extends ServiceImpl<QuestionInfoMapper, Que
 
                 int randomNum = 0;
                 for (int j = 0; j < difficult; j++) {
-                    randomNum = random.nextInt(9);
 
-                    if(qt.getSubject()==1 || (qt.getSubject()==4 && diffMultiple==0)) {
-                        if (randomNum <= 2) {   //判断题
+
+                    if(qt.getSubject()==1 || (qt.getSubject()==4 && easyMultiple==0)) {
+                        randomNum = random.nextInt(2); //随机出现 0和1  0表示判断 1表示单选
+                        if (randomNum == 0) {   //判断题
                             diffJudeg++;
                             easyJudge--;
-                        } else if (randomNum <= 5) {  //单选题
+                        } else if (randomNum == 1) {  //单选题
                             diffChoice++;
                             easyChoice--;
-                        } else if (randomNum <= 8) {    //多选题
-                            diffMultiple++;
-                            easyMultiple--;
                         }
                     } else if(qt.getSubject()==4){
-                        if (randomNum <= 4) {   //判断题
+                        randomNum = random.nextInt(3); //随机出现 0、1、2  0表示判断 1表示单选 2多选
+                        if (randomNum == 0) {   //判断题
                             diffJudeg++;
                             easyJudge--;
-                        } else if (randomNum <= 9) {  //单选题
+                        } else if (randomNum == 1) {  //单选题
                             diffChoice++;
                             easyChoice--;
+                        } else if (randomNum == 2) {    //多选题
+                            diffMultiple++;
+                            easyMultiple--;
                         }
+
                     }