@@ -5,6 +5,7 @@ import com.miaxis.common.core.controller.BaseController;
import com.miaxis.common.core.page.ResponsePageInfo;
import com.miaxis.question.domain.QuestionInfo;
import com.miaxis.question.dto.QuestionInfoDto;
+import com.miaxis.question.dto.QuestionInfoRandDto;
import com.miaxis.question.service.IQuestionInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -59,6 +60,17 @@ public class QuestionInfoController extends BaseController{
return toResponsePageInfo(list);
}
+ @GetMapping("/getRandQuestionInfoList")
+ @ApiOperation("查询随机题库列表")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "pageNum",value = "当前页码" ,dataType = "int", paramType = "query", required = false),
+ @ApiImplicitParam(name = "pageSize",value = "每页数据量" , dataType = "int", paramType = "query", required = false),
+ })
+ public ResponsePageInfo<QuestionInfo> getRandQuestionInfoList(@ModelAttribute QuestionInfoRandDto questionInfoRandDto){
+ startPage();
+ List<QuestionInfo> list = questionInfoService.getRandQuestionInfoList(questionInfoRandDto);
+ return toResponsePageInfo(list);
+ }
/**
* 导出题库列表
@@ -28,21 +28,18 @@ public class QuestionInfoDto extends BaseBusinessEntity{
private Long id;
/** 类型 */
- @Excel(name = "类型 1:选择题 2:单选题 3:多选题")
@TableField("type")
@ApiModelProperty(value = "类型 1:选择题 2:单选题 3:多选题")
private Long type;
/** 许可车型 */
- @Excel(name = "许可车型")
@TableField("license_type")
@ApiModelProperty(value = "许可车型")
private String licenseType;
/** 科目 */
- @Excel(name = "科目")
@TableField("kemu")
@ApiModelProperty(value = "科目")
private Long kemu;
@@ -51,9 +48,10 @@ public class QuestionInfoDto extends BaseBusinessEntity{
* 是否显示
*/
- @Excel(name = "是否显示")
@TableField("show_option_type")
@ApiModelProperty(value = "是否显示")
private Long showOptionType;
+
@@ -0,0 +1,48 @@
+package com.miaxis.question.dto;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+/**
+ * 题库对象 question_info
+ *
+ * @author miaxis
+ * @date 2021-03-12
+ */
+@Data
+@ApiModel(value = "QuestionInfoDto", description = "题库传参")
+public class QuestionInfoRandDto extends BaseBusinessEntity{
+ private static final long serialVersionUID = 1L;
+ /** 类型 */
+ @TableField("type")
+ @ApiModelProperty(value = "类型 1:选择题 2:单选题 3:多选题")
+ private Long type;
+ /** 许可车型 */
+ @TableField("license_type")
+ @ApiModelProperty(value = "许可车型")
+ private String licenseType;
+ /** 科目 */
+ @TableField("kemu")
+ @ApiModelProperty(value = "科目")
+ private Long kemu;
+ /**
+ * 承机条数
+ @ApiModelProperty(value = "随机条数",required = true)
+ private Integer num;
+}
@@ -4,6 +4,7 @@ import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* 题库Mapper接口
@@ -21,4 +22,6 @@ public interface QuestionInfoMapper extends BaseMapper<QuestionInfo> {
public List<QuestionInfo> selectQuestionInfoList(QuestionInfo questionInfo);
List<QuestionInfo> getQuestionInfoList(QuestionInfoDto questionInfoDto);
+ List<QuestionInfo> getRandQuestionInfoList(QuestionInfoRandDto questionInfoRandDto);
import com.baomidou.mybatisplus.extension.service.IService;
* 题库Service接口
@@ -12,13 +13,8 @@ import com.miaxis.question.dto.QuestionInfoDto;
* @date 2021-03-12
public interface IQuestionInfoService extends IService<QuestionInfo>{
- /**
- * 查询题库列表
- *
- * @param questionInfo 题库
- * @return 题库集合
- */
- public List<QuestionInfo> selectQuestionInfoList(QuestionInfo questionInfo);
@@ -1,16 +1,15 @@
package com.miaxis.question.service.impl;
-import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.miaxis.question.domain.QuestionInfo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.apache.commons.lang3.StringUtils;
import com.miaxis.question.mapper.QuestionInfoMapper;
-import com.miaxis.question.domain.QuestionInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.List;
* 题库Service业务层处理
@@ -38,4 +37,9 @@ public class QuestionInfoServiceImpl extends ServiceImpl<QuestionInfoMapper, Que
public List<QuestionInfo> getQuestionInfoList(QuestionInfoDto questionInfoDto) {
return questionInfoMapper.getQuestionInfoList(questionInfoDto);
+ @Override
+ public List<QuestionInfo> getRandQuestionInfoList(QuestionInfoRandDto questionInfoRandDto) {
+ return questionInfoMapper.getRandQuestionInfoList(questionInfoRandDto);
@@ -83,10 +83,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<where>
<if test="id != null "> and id = #{id}</if>
<if test="type != null "> and type = #{type}</if>
- <if test="licenseType != null and licenseType != ''"> and license_type like '%#{licenseType}%'</if>
+ <if test="licenseType != null and licenseType != ''"> and license_type like #{licenseType}</if>
<if test="kemu != null "> and kemu = #{kemu}</if>
<if test="showOptionType != null "> and show_option_type = #{showOptionType}</if>
</where>
</select>
+ <select id="getRandQuestionInfoList" parameterType="com.miaxis.question.dto.QuestionInfoRandDto" resultType="com.miaxis.question.vo.QuestionInfoVo">
+ select id, type, question, an1, an2, an3, an4, an5, an6, an7, answer_true, explain1, best_answer_id, kemu, sinaimg, video_url, cityid, media_url, show_option_type from question_info
+ <where>
+ <if test="type != null "> and type = #{type}</if>
+ <if test="kemu != null "> and kemu = #{kemu}</if>
+ </where>
+ order by rand() limit #{num}
+ </select>
</mapper>