src/main/java/org/springblade/modules/exam/controller/ExamPaperController.java
@@ -27,6 +27,7 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.exam.entity.ExamPaper; import org.springblade.modules.exam.entity.ExamSubjectChoices; import org.springblade.modules.exam.service.ExamPaperService; import org.springblade.modules.exam.vo.ExamPaperSubjectVO; import org.springblade.modules.exam.vo.ExamPaperVO; @@ -148,6 +149,18 @@ } /** * 随机生成考试题目 */ @GetMapping("/queryRandomSubject") @ApiOperationSupport(order = 8) @ApiOperation(value = "考试题目绑定", notes = "传入exam") public R<List> queryRandomSubject(@ApiParam(value = "主键集合") ExamPaper exam) { List<ExamPaperSubjectVO> subject = examPaperService.queryRandomSubject(exam); return R.data(subject); } /** * 返回当前时间 */ @GetMapping("/getdate") src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.java
@@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.modules.exam.entity.ExamPaper; import org.springblade.modules.exam.entity.ExamSubjectChoices; import org.springblade.modules.exam.vo.ExamPaperSubjectVO; import org.springblade.modules.exam.vo.ExamPaperVO; @@ -36,6 +37,8 @@ ExamPaperSubjectVO queryPagerSubject(@Param("paper") ExamPaper paper); List<ExamPaperSubjectVO> queryRandomSubject(@Param("paper") ExamPaper paper); ExamPaperSubjectVO PagerSubject(@Param("paper") ExamPaper paper); /** src/main/java/org/springblade/modules/exam/mapper/ExamPaperMapper.xml
@@ -5,9 +5,11 @@ <resultMap id="PagerSubject" type="org.springblade.modules.exam.vo.ExamPaperSubjectVO" autoMapping="true"> <id property="id" column="id"/> <collection property="examExaminationSubjects" javaType="java.util.List" ofType="org.springblade.modules.exam.entity.ExamExaminationSubject" autoMapping="true"> <collection property="examExaminationSubjects" javaType="java.util.List" ofType="org.springblade.modules.exam.entity.ExamExaminationSubject" autoMapping="true"> <id property="id" column="tid"/> <association property="examSubjectChoices" javaType="org.springblade.modules.exam.entity.ExamSubjectChoices" resultMap="brakesResult" autoMapping="true"> <association property="examSubjectChoices" javaType="org.springblade.modules.exam.entity.ExamSubjectChoices" resultMap="brakesResult" autoMapping="true"> </association> </collection> </resultMap> @@ -15,9 +17,11 @@ <resultMap id="PagerSubjectAnswer" type="org.springblade.modules.exam.vo.ExamPaperSubjectVO" autoMapping="true"> <id property="id" column="id"/> <collection property="examExaminationSubjects" javaType="java.util.List" ofType="org.springblade.modules.exam.entity.ExamExaminationSubject" autoMapping="true"> <collection property="examExaminationSubjects" javaType="java.util.List" ofType="org.springblade.modules.exam.entity.ExamExaminationSubject" autoMapping="true"> <id property="id" column="tid"/> <association property="examSubjectChoices" javaType="org.springblade.modules.exam.entity.ExamSubjectChoices" autoMapping="true"> <association property="examSubjectChoices" javaType="org.springblade.modules.exam.entity.ExamSubjectChoices" autoMapping="true"> <id property="id" column="sid"/> </association> </collection> @@ -29,6 +33,24 @@ <id property="subjectName" column="subject_name"/> <id property="choicesType" column="choices_type"/> <id property="score" column="score"/> <id property="analysis" column="analysis"/> <id property="level" column="level"/> <id property="creator" column="creator"/> <id property="createDate" column="create_date"/> <id property="modifier" column="modifier"/> <id property="modifyDate" column="modify_date"/> <id property="delFlag" column="del_flag"/> <id property="applicationCode" column="application_code"/> <id property="tenantCode" column="tenant_code"/> </resultMap> <resultMap id="RandomResult" type="org.springblade.modules.exam.vo.ExamSubjectChoicesVO"> <id property="id" column="id"/> <id property="categoryId" column="category_id"/> <id property="subjectName" column="subject_name"/> <id property="choicesType" column="choices_type"/> <id property="score" column="score"/> <id property="answer" column=""/> <id property="analysis" column="analysis"/> <id property="level" column="level"/> <id property="creator" column="creator"/> @@ -52,8 +74,15 @@ WHERE 1 = 1 <if test="paper.id !=null"> and sj.id = #{paper.id} and sj.id = #{paper.id} </if> </select> <select id="queryRandomSubject" resultMap="RandomResult" > SELECT * FROM ( SELECT * FROM exam_subject_choices WHERE choices_type = 0 ORDER BY RAND( ) LIMIT 50 ) a UNION ALL SELECT * FROM ( SELECT * FROM exam_subject_choices WHERE choices_type = 1 ORDER BY RAND( ) LIMIT 20 ) b UNION ALL SELECT * FROM ( SELECT * FROM exam_subject_choices WHERE choices_type = 2 ORDER BY RAND( ) LIMIT 20 ) c UNION ALL SELECT * FROM ( SELECT * FROM exam_subject_choices WHERE choices_type = 3 ORDER BY RAND( ) LIMIT 5 ) d </select> <select id="selectExamPaperPage" resultType="org.springblade.modules.exam.vo.ExamPaperVO"> @@ -81,7 +110,7 @@ WHERE 1 = 1 <if test="paper.id !=null"> and sj.id = #{paper.id} and sj.id = #{paper.id} </if> </select> src/main/java/org/springblade/modules/exam/service/ExamPaperService.java
@@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.springblade.modules.exam.entity.ExamPaper; import org.springblade.modules.exam.entity.ExamSubjectChoices; import org.springblade.modules.exam.vo.ExamPaperSubjectVO; import org.springblade.modules.exam.vo.ExamPaperVO; import org.springblade.modules.exam.vo.ExamScoreVO; @@ -36,6 +37,8 @@ ExamPaperSubjectVO queryPagerSubject(ExamPaper paper); List<ExamPaperSubjectVO> queryRandomSubject(ExamPaper paper); /** * 计算成绩返回答案接口 * @param paper src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
@@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.modules.exam.entity.ExamPaper; import org.springblade.modules.exam.entity.ExamSubjectChoices; import org.springblade.modules.exam.mapper.ExamPaperMapper; import org.springblade.modules.exam.service.ExamPaperService; import org.springblade.modules.exam.vo.ExamPaperSubjectVO; @@ -49,6 +50,12 @@ } @Override public List<ExamPaperSubjectVO> queryRandomSubject(ExamPaper paper) { //随机分类信息 return baseMapper.queryRandomSubject(paper); } @Override public ExamPaperSubjectVO PagerSubject(ExamPaper paper) { //查询试卷分类信息 return baseMapper.PagerSubject(paper); src/main/java/org/springblade/modules/exam/vo/ExamSubjectChoicesVO.java
@@ -18,5 +18,5 @@ private List<ExamSubjectOption> examSubjectOptions; private String tmid; } src/main/resources/application-dev.yml
@@ -13,9 +13,9 @@ # commandTimeout: 5000 datasource: # MySql url: jdbc:mysql://36.134.81.48:3306/zhbaw?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true url: jdbc:mysql://223.82.109.183:2083/zhbaw?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true username: root password: jfpt123 password: zhba0728 # PostgreSQL #url: jdbc:postgresql://127.0.0.1:5432/bladex_boot #username: postgres