Ver Fonte

批量上传接口

小么熊🐻 há 3 anos atrás
pai
commit
1155f84a67

+ 59 - 0
jkt-admin/src/main/java/com/miaxis/app/controller/question/QuestionInfoController.java

@@ -0,0 +1,59 @@
+package com.miaxis.app.controller.question;
+
+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.service.IQuestionInfoService;
+import io.swagger.annotations.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 【题库】Controller
+ *
+ * @author miaxis
+ * @date 2021-10-12
+ */
+@RestController
+@RequestMapping(Constants.STUDENT_PREFIX+"/question/info")
+@Api(tags={"【app-题库】"})
+public class QuestionInfoController extends BaseController{
+    @Autowired
+    private IQuestionInfoService questionInfoService;
+
+    /**
+     * 查询题库列表
+     */
+    @GetMapping("/list")
+    @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> list(@ModelAttribute QuestionInfo questionInfo){
+        startPage();
+        List<QuestionInfo> list = questionInfoService.selectQuestionInfoList(questionInfo);
+        return toResponsePageInfo(list);
+    }
+
+
+
+    /**
+     * 获取题库详细信息
+     */
+    @GetMapping(value = "/{id}")
+    @ApiOperation("获取题库详细信息")
+    public Response<QuestionInfo> getInfo(
+            @ApiParam(name = "id", value = "题库参数", required = true)
+            @PathVariable("id") Long id
+    ){
+        return Response.success(questionInfoService.getById(id));
+    }
+
+
+
+}

+ 8 - 7
jkt-admin/src/main/java/com/miaxis/app/controller/question/QuestionVersionController.java

@@ -58,7 +58,7 @@ public class QuestionVersionController extends BaseController{
 
     /**
      * 获取version详细信息
-     */
+
 //    @PreAuthorize("@ss.hasPermi('question:version:query')")
     @GetMapping(value = "/{id}")
     @ApiOperation("获取version详细信息")
@@ -68,10 +68,10 @@ public class QuestionVersionController extends BaseController{
     ){
         return Response.success(questionVersionService.getById(id));
     }
-
+     */
     /**
      * 新增version
-     */
+
 //    @PreAuthorize("@ss.hasPermi('question:version:add')")
     @Log(title = "version", businessType = BusinessTypeEnum.INSERT)
     @PostMapping
@@ -79,10 +79,10 @@ public class QuestionVersionController extends BaseController{
     public Response<Integer> add(@RequestBody QuestionVersion questionVersion){
         return toResponse(questionVersionService.save(questionVersion) ? 1 : 0);
     }
-
+     */
     /**
      * 修改version
-     */
+
 //    @PreAuthorize("@ss.hasPermi('question:version:edit')")
     @Log(title = "version", businessType = BusinessTypeEnum.UPDATE)
     @PutMapping
@@ -90,10 +90,10 @@ public class QuestionVersionController extends BaseController{
     public Response<Integer> edit(@RequestBody QuestionVersion questionVersion){
         return toResponse(questionVersionService.updateById(questionVersion) ? 1 : 0);
     }
-
+     */
     /**
      * 删除version
-     */
+
 //    @PreAuthorize("@ss.hasPermi('question:version:remove')")
     @Log(title = "version", businessType = BusinessTypeEnum.DELETE)
 	@DeleteMapping("/{ids}")
@@ -105,4 +105,5 @@ public class QuestionVersionController extends BaseController{
         questionVersionService.removeByIds(Arrays.asList(ids));
         return toResponse(questionVersionService.removeByIds(Arrays.asList(ids)) ? 1 : 0);
     }
+     */
 }

+ 524 - 0
jkt-service/src/main/java/com/miaxis/question/domain/QuestionInfo.java

@@ -0,0 +1,524 @@
+package com.miaxis.question.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.miaxis.common.annotation.Excel;
+import com.miaxis.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import lombok.Data;
+/**
+ * 题库对象 question_info
+ *
+ * @author miaxis
+ * @date 2021-10-12
+ */
+@Data
+@TableName("question_info")
+@ApiModel(value = "QuestionInfo", description = "题库对象 question_info")
+public class QuestionInfo extends BaseBusinessEntity{
+    private static final long serialVersionUID = 1L;
+
+    /**  主键 */
+    @TableId(value = "id")
+    @ApiModelProperty(value = " 主键")
+    private Long id;
+
+    /** 在所有题目中的序号 */
+    @Excel(name = "在所有题目中的序号")
+    @TableField("number")
+    @ApiModelProperty(value = "在所有题目中的序号")
+    private Long number;
+
+    /** 正确答案 */
+    @Excel(name = "正确答案")
+    @TableField("answer")
+    @ApiModelProperty(value = "正确答案")
+    private String answer;
+
+    /** 答案关键词 */
+    @Excel(name = "答案关键词")
+    @TableField("answerkeyword")
+    @ApiModelProperty(value = "答案关键词")
+    private String answerkeyword;
+
+    /** 技巧讲解图片URL */
+    @Excel(name = "技巧讲解图片URL")
+    @TableField("explain_gif")
+    @ApiModelProperty(value = "技巧讲解图片URL")
+    private String explainGif;
+
+    /** 技巧讲解说明 */
+    @Excel(name = "技巧讲解说明")
+    @TableField("explain_jq")
+    @ApiModelProperty(value = "技巧讲解说明")
+    private String explainJq;
+
+    /** 官方解释 */
+    @Excel(name = "官方解释")
+    @TableField("explain_js")
+    @ApiModelProperty(value = "官方解释")
+    private String explainJs;
+
+    /** 技巧讲解语音URL */
+    @Excel(name = "技巧讲解语音URL")
+    @TableField("explain_mp3")
+    @ApiModelProperty(value = "技巧讲解语音URL")
+    private String explainMp3;
+
+    /** 题目图片URL */
+    @Excel(name = "题目图片URL")
+    @TableField("image")
+    @ApiModelProperty(value = "题目图片URL")
+    private String image;
+
+    /** 题目图片URL2 */
+    @Excel(name = "题目图片URL2")
+    @TableField("image_ydt")
+    @ApiModelProperty(value = "题目图片URL2")
+    private String imageYdt;
+
+    /** 题目 */
+    @Excel(name = "题目")
+    @TableField("issue")
+    @ApiModelProperty(value = "题目")
+    private String issue;
+
+    /** 答案选项 */
+    @Excel(name = "答案选项")
+    @TableField("opts")
+    @ApiModelProperty(value = "答案选项")
+    private String opts;
+
+    /** 答题技巧关键词 */
+    @Excel(name = "答题技巧关键词")
+    @TableField("skillkeyword")
+    @ApiModelProperty(value = "答题技巧关键词")
+    private String skillkeyword;
+
+    /** 题目关键词 */
+    @Excel(name = "题目关键词")
+    @TableField("titlekeyword")
+    @ApiModelProperty(value = "题目关键词")
+    private String titlekeyword;
+
+    /** 读题语音URL */
+    @Excel(name = "读题语音URL")
+    @TableField("issuemp3")
+    @ApiModelProperty(value = "读题语音URL")
+    private String issuemp3;
+
+    /** 答案语音URL */
+    @Excel(name = "答案语音URL")
+    @TableField("answermp3")
+    @ApiModelProperty(value = "答案语音URL")
+    private String answermp3;
+
+    /** 读题+答案语音URL */
+    @Excel(name = "读题+答案语音URL")
+    @TableField("explainjsmp3")
+    @ApiModelProperty(value = "读题+答案语音URL")
+    private String explainjsmp3;
+
+    /** 是否是科目一题目 */
+    @Excel(name = "是否是科目一题目")
+    @TableField("subject_1")
+    @ApiModelProperty(value = "是否是科目一题目")
+    private String subject1;
+
+    /** 是否是科目二题目 */
+    @Excel(name = "是否是科目二题目")
+    @TableField("subject_2")
+    @ApiModelProperty(value = "是否是科目二题目")
+    private String subject2;
+
+    /** 是否是科目三题目 */
+    @Excel(name = "是否是科目三题目")
+    @TableField("subject_3")
+    @ApiModelProperty(value = "是否是科目三题目")
+    private String subject3;
+
+    /** 是否是科目四题目 */
+    @Excel(name = "是否是科目四题目")
+    @TableField("subject_4")
+    @ApiModelProperty(value = "是否是科目四题目")
+    private String subject4;
+
+    /** 是否是C1\C2\C3驾驶证题目 */
+    @Excel(name = "是否是C1,C2,C3驾驶证题目")
+    @TableField("lice_car")
+    @ApiModelProperty(value = "是否是C1,C2,C3驾驶证题目")
+    private String liceCar;
+
+    /** 是否是A1\A3\B1驾驶证题目 */
+    @Excel(name = "是否是A1,A3,B1驾驶证题目")
+    @TableField("lice_bus")
+    @ApiModelProperty(value = "是否是A1,A3,B1驾驶证题目")
+    private String liceBus;
+
+    /** 是否是A2\B2驾驶证题目 */
+    @Excel(name = "是否是A2,B2驾驶证题目")
+    @TableField("lice_truck")
+    @ApiModelProperty(value = "是否是A2,B2驾驶证题目")
+    private String liceTruck;
+
+    /** 是否是D\E\F驾驶证题目 */
+    @Excel(name = "是否是D,E,F驾驶证题目")
+    @TableField("lice_moto")
+    @ApiModelProperty(value = "是否是D,E,F驾驶证题目")
+    private String liceMoto;
+
+    /** 顺序练习分类(包含科一到科四) */
+    @Excel(name = "顺序练习分类(包含科一到科四)", readConverterExp = "包=含科一到科四")
+    @TableField("seque_issue")
+    @ApiModelProperty(value = "顺序练习分类(包含科一到科四)")
+    private String sequeIssue;
+
+    /** 分类练习(包含科一到科四) */
+    @Excel(name = "分类练习(包含科一到科四)", readConverterExp = "包=含科一到科四")
+    @TableField("class_issue")
+    @ApiModelProperty(value = "分类练习(包含科一到科四)")
+    private String classIssue;
+
+    /** 地方专题(包含科一到科四) */
+    @Excel(name = "地方专题(包含科一到科四)", readConverterExp = "包=含科一到科四")
+    @TableField("place_issue")
+    @ApiModelProperty(value = "地方专题(包含科一到科四)")
+    private String placeIssue;
+
+    /** 精选题(包含科一到科四) */
+    @Excel(name = "精选题(包含科一到科四)", readConverterExp = "包=含科一到科四")
+    @TableField("excell_issue")
+    @ApiModelProperty(value = "精选题(包含科一到科四)")
+    private String excellIssue;
+
+    /** 是否是仿真考试题目 */
+    @Excel(name = "是否是仿真考试题目")
+    @TableField("copy_issue")
+    @ApiModelProperty(value = "是否是仿真考试题目")
+    private String copyIssue;
+
+    /** 是否是真实考场模拟题目 */
+    @Excel(name = "是否是真实考场模拟题目")
+    @TableField("mock_issue")
+    @ApiModelProperty(value = "是否是真实考场模拟题目")
+    private String mockIssue;
+
+    /** 题目在顺序练习中所属的模块名称 */
+    @Excel(name = "题目在顺序练习中所属的模块名称")
+    @TableField("seque_issue_name")
+    @ApiModelProperty(value = "题目在顺序练习中所属的模块名称")
+    private String sequeIssueName;
+
+    /** 题目在地方专题中所属的模块名称 */
+    @Excel(name = "题目在地方专题中所属的模块名称")
+    @TableField("place_issue_name")
+    @ApiModelProperty(value = "题目在地方专题中所属的模块名称")
+    private String placeIssueName;
+
+    /** 题目在精选中所属的模块名称 */
+    @Excel(name = "题目在精选中所属的模块名称")
+    @TableField("excell_issue_name")
+    @ApiModelProperty(value = "题目在精选中所属的模块名称")
+    private String excellIssueName;
+
+    /** 题目在分类中所属的模块名称 */
+    @Excel(name = "题目在分类中所属的模块名称")
+    @TableField("class_issue_name")
+    @ApiModelProperty(value = "题目在分类中所属的模块名称")
+    private String classIssueName;
+
+    public void setId(Long id){
+        this.id = id;
+    }
+
+    public Long getId(){
+        return id;
+    }
+    public void setNumber(Long number){
+        this.number = number;
+    }
+
+    public Long getNumber(){
+        return number;
+    }
+    public void setAnswer(String answer){
+        this.answer = answer;
+    }
+
+    public String getAnswer(){
+        return answer;
+    }
+    public void setAnswerkeyword(String answerkeyword){
+        this.answerkeyword = answerkeyword;
+    }
+
+    public String getAnswerkeyword(){
+        return answerkeyword;
+    }
+    public void setExplainGif(String explainGif){
+        this.explainGif = explainGif;
+    }
+
+    public String getExplainGif(){
+        return explainGif;
+    }
+    public void setExplainJq(String explainJq){
+        this.explainJq = explainJq;
+    }
+
+    public String getExplainJq(){
+        return explainJq;
+    }
+    public void setExplainJs(String explainJs){
+        this.explainJs = explainJs;
+    }
+
+    public String getExplainJs(){
+        return explainJs;
+    }
+    public void setExplainMp3(String explainMp3){
+        this.explainMp3 = explainMp3;
+    }
+
+    public String getExplainMp3(){
+        return explainMp3;
+    }
+    public void setImage(String image){
+        this.image = image;
+    }
+
+    public String getImage(){
+        return image;
+    }
+    public void setImageYdt(String imageYdt){
+        this.imageYdt = imageYdt;
+    }
+
+    public String getImageYdt(){
+        return imageYdt;
+    }
+    public void setIssue(String issue){
+        this.issue = issue;
+    }
+
+    public String getIssue(){
+        return issue;
+    }
+    public void setOpts(String opts){
+        this.opts = opts;
+    }
+
+    public String getOpts(){
+        return opts;
+    }
+    public void setSkillkeyword(String skillkeyword){
+        this.skillkeyword = skillkeyword;
+    }
+
+    public String getSkillkeyword(){
+        return skillkeyword;
+    }
+    public void setTitlekeyword(String titlekeyword){
+        this.titlekeyword = titlekeyword;
+    }
+
+    public String getTitlekeyword(){
+        return titlekeyword;
+    }
+    public void setIssuemp3(String issuemp3){
+        this.issuemp3 = issuemp3;
+    }
+
+    public String getIssuemp3(){
+        return issuemp3;
+    }
+    public void setAnswermp3(String answermp3){
+        this.answermp3 = answermp3;
+    }
+
+    public String getAnswermp3(){
+        return answermp3;
+    }
+    public void setExplainjsmp3(String explainjsmp3){
+        this.explainjsmp3 = explainjsmp3;
+    }
+
+    public String getExplainjsmp3(){
+        return explainjsmp3;
+    }
+    public void setSubject1(String subject1){
+        this.subject1 = subject1;
+    }
+
+    public String getSubject1(){
+        return subject1;
+    }
+    public void setSubject2(String subject2){
+        this.subject2 = subject2;
+    }
+
+    public String getSubject2(){
+        return subject2;
+    }
+    public void setSubject3(String subject3){
+        this.subject3 = subject3;
+    }
+
+    public String getSubject3(){
+        return subject3;
+    }
+    public void setSubject4(String subject4){
+        this.subject4 = subject4;
+    }
+
+    public String getSubject4(){
+        return subject4;
+    }
+    public void setLiceCar(String liceCar){
+        this.liceCar = liceCar;
+    }
+
+    public String getLiceCar(){
+        return liceCar;
+    }
+    public void setLiceBus(String liceBus){
+        this.liceBus = liceBus;
+    }
+
+    public String getLiceBus(){
+        return liceBus;
+    }
+    public void setLiceTruck(String liceTruck){
+        this.liceTruck = liceTruck;
+    }
+
+    public String getLiceTruck(){
+        return liceTruck;
+    }
+    public void setLiceMoto(String liceMoto){
+        this.liceMoto = liceMoto;
+    }
+
+    public String getLiceMoto(){
+        return liceMoto;
+    }
+    public void setSequeIssue(String sequeIssue){
+        this.sequeIssue = sequeIssue;
+    }
+
+    public String getSequeIssue(){
+        return sequeIssue;
+    }
+    public void setClassIssue(String classIssue){
+        this.classIssue = classIssue;
+    }
+
+    public String getClassIssue(){
+        return classIssue;
+    }
+    public void setPlaceIssue(String placeIssue){
+        this.placeIssue = placeIssue;
+    }
+
+    public String getPlaceIssue(){
+        return placeIssue;
+    }
+    public void setExcellIssue(String excellIssue){
+        this.excellIssue = excellIssue;
+    }
+
+    public String getExcellIssue(){
+        return excellIssue;
+    }
+    public void setCopyIssue(String copyIssue){
+        this.copyIssue = copyIssue;
+    }
+
+    public String getCopyIssue(){
+        return copyIssue;
+    }
+    public void setMockIssue(String mockIssue){
+        this.mockIssue = mockIssue;
+    }
+
+    public String getMockIssue(){
+        return mockIssue;
+    }
+    public void setSequeIssueName(String sequeIssueName){
+        this.sequeIssueName = sequeIssueName;
+    }
+
+    public String getSequeIssueName(){
+        return sequeIssueName;
+    }
+    public void setPlaceIssueName(String placeIssueName){
+        this.placeIssueName = placeIssueName;
+    }
+
+    public String getPlaceIssueName(){
+        return placeIssueName;
+    }
+    public void setExcellIssueName(String excellIssueName){
+        this.excellIssueName = excellIssueName;
+    }
+
+    public String getExcellIssueName(){
+        return excellIssueName;
+    }
+    public void setClassIssueName(String classIssueName){
+        this.classIssueName = classIssueName;
+    }
+
+    public String getClassIssueName(){
+        return classIssueName;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("number", getNumber())
+            .append("answer", getAnswer())
+            .append("answerkeyword", getAnswerkeyword())
+            .append("explainGif", getExplainGif())
+            .append("explainJq", getExplainJq())
+            .append("explainJs", getExplainJs())
+            .append("explainMp3", getExplainMp3())
+            .append("image", getImage())
+            .append("imageYdt", getImageYdt())
+            .append("issue", getIssue())
+            .append("opts", getOpts())
+            .append("skillkeyword", getSkillkeyword())
+            .append("titlekeyword", getTitlekeyword())
+            .append("issuemp3", getIssuemp3())
+            .append("answermp3", getAnswermp3())
+            .append("explainjsmp3", getExplainjsmp3())
+            .append("subject1", getSubject1())
+            .append("subject2", getSubject2())
+            .append("subject3", getSubject3())
+            .append("subject4", getSubject4())
+            .append("liceCar", getLiceCar())
+            .append("liceBus", getLiceBus())
+            .append("liceTruck", getLiceTruck())
+            .append("liceMoto", getLiceMoto())
+            .append("sequeIssue", getSequeIssue())
+            .append("classIssue", getClassIssue())
+            .append("placeIssue", getPlaceIssue())
+            .append("excellIssue", getExcellIssue())
+            .append("copyIssue", getCopyIssue())
+            .append("mockIssue", getMockIssue())
+            .append("sequeIssueName", getSequeIssueName())
+            .append("placeIssueName", getPlaceIssueName())
+            .append("excellIssueName", getExcellIssueName())
+            .append("classIssueName", getClassIssueName())
+            .append("createTime", getCreateTime())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 22 - 0
jkt-service/src/main/java/com/miaxis/question/mapper/QuestionInfoMapper.java

@@ -0,0 +1,22 @@
+package com.miaxis.question.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.miaxis.question.domain.QuestionInfo;
+
+/**
+ * 题库Mapper接口
+ *
+ * @author miaxis
+ * @date 2021-10-12
+ */
+public interface QuestionInfoMapper extends BaseMapper<QuestionInfo> {
+    /**
+     * 查询题库列表
+     *
+     * @param questionInfo 题库
+     * @return 题库集合
+     */
+    public List<QuestionInfo> selectQuestionInfoList(QuestionInfo questionInfo);
+
+}

+ 21 - 0
jkt-service/src/main/java/com/miaxis/question/service/IQuestionInfoService.java

@@ -0,0 +1,21 @@
+package com.miaxis.question.service;
+
+import java.util.List;
+import com.miaxis.question.domain.QuestionInfo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 题库Service接口
+ *
+ * @author miaxis
+ * @date 2021-10-12
+ */
+public interface IQuestionInfoService extends IService<QuestionInfo>{
+    /**
+     * 查询题库列表
+     *
+     * @param questionInfo 题库
+     * @return 题库集合
+     */
+    public List<QuestionInfo> selectQuestionInfoList(QuestionInfo questionInfo);
+}

+ 36 - 0
jkt-service/src/main/java/com/miaxis/question/service/impl/QuestionInfoServiceImpl.java

@@ -0,0 +1,36 @@
+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.common.utils.DateUtils;
+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 com.miaxis.question.service.IQuestionInfoService;
+
+/**
+ * 题库Service业务层处理
+ *
+ * @author miaxis
+ * @date 2021-10-12
+ */
+@Service
+public class QuestionInfoServiceImpl extends ServiceImpl<QuestionInfoMapper, QuestionInfo> implements IQuestionInfoService {
+    @Autowired
+    private QuestionInfoMapper questionInfoMapper;
+
+    /**
+     * 查询题库列表
+     *
+     * @param questionInfo 题库
+     * @return 题库
+     */
+    @Override
+    public List<QuestionInfo> selectQuestionInfoList(QuestionInfo questionInfo){
+        return questionInfoMapper.selectQuestionInfoList(questionInfo);
+    }
+}

+ 91 - 0
jkt-service/src/main/resources/mapper/question/QuestionInfoMapper.xml

@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.miaxis.question.mapper.QuestionInfoMapper">
+
+    <resultMap type="QuestionInfo" id="QuestionInfoResult">
+        <result property="id"    column="id"    />
+        <result property="number"    column="number"    />
+        <result property="answer"    column="answer"    />
+        <result property="answerkeyword"    column="answerkeyword"    />
+        <result property="explainGif"    column="explain_gif"    />
+        <result property="explainJq"    column="explain_jq"    />
+        <result property="explainJs"    column="explain_js"    />
+        <result property="explainMp3"    column="explain_mp3"    />
+        <result property="image"    column="image"    />
+        <result property="imageYdt"    column="image_ydt"    />
+        <result property="issue"    column="issue"    />
+        <result property="opts"    column="opts"    />
+        <result property="skillkeyword"    column="skillkeyword"    />
+        <result property="titlekeyword"    column="titlekeyword"    />
+        <result property="issuemp3"    column="issuemp3"    />
+        <result property="answermp3"    column="answermp3"    />
+        <result property="explainjsmp3"    column="explainjsmp3"    />
+        <result property="subject1"    column="subject_1"    />
+        <result property="subject2"    column="subject_2"    />
+        <result property="subject3"    column="subject_3"    />
+        <result property="subject4"    column="subject_4"    />
+        <result property="liceCar"    column="lice_car"    />
+        <result property="liceBus"    column="lice_bus"    />
+        <result property="liceTruck"    column="lice_truck"    />
+        <result property="liceMoto"    column="lice_moto"    />
+        <result property="sequeIssue"    column="seque_issue"    />
+        <result property="classIssue"    column="class_issue"    />
+        <result property="placeIssue"    column="place_issue"    />
+        <result property="excellIssue"    column="excell_issue"    />
+        <result property="copyIssue"    column="copy_issue"    />
+        <result property="mockIssue"    column="mock_issue"    />
+        <result property="sequeIssueName"    column="seque_issue_name"    />
+        <result property="placeIssueName"    column="place_issue_name"    />
+        <result property="excellIssueName"    column="excell_issue_name"    />
+        <result property="classIssueName"    column="class_issue_name"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectQuestionInfoVo">
+        select * from question_info
+    </sql>
+
+    <select id="selectQuestionInfoList" parameterType="QuestionInfo" resultMap="QuestionInfoResult">
+        <include refid="selectQuestionInfoVo"/>
+        <where>
+            <if test="number != null "> and number = #{number}</if>
+            <if test="answer != null  and answer != ''"> and answer = #{answer}</if>
+            <if test="answerkeyword != null  and answerkeyword != ''"> and answerkeyword = #{answerkeyword}</if>
+            <if test="explainGif != null  and explainGif != ''"> and explain_gif = #{explainGif}</if>
+            <if test="explainJq != null  and explainJq != ''"> and explain_jq = #{explainJq}</if>
+            <if test="explainJs != null  and explainJs != ''"> and explain_js = #{explainJs}</if>
+            <if test="explainMp3 != null  and explainMp3 != ''"> and explain_mp3 = #{explainMp3}</if>
+            <if test="image != null  and image != ''"> and image = #{image}</if>
+            <if test="imageYdt != null  and imageYdt != ''"> and image_ydt = #{imageYdt}</if>
+            <if test="issue != null  and issue != ''"> and issue = #{issue}</if>
+            <if test="opts != null  and opts != ''"> and opts = #{opts}</if>
+            <if test="skillkeyword != null  and skillkeyword != ''"> and skillkeyword = #{skillkeyword}</if>
+            <if test="titlekeyword != null  and titlekeyword != ''"> and titlekeyword = #{titlekeyword}</if>
+            <if test="issuemp3 != null  and issuemp3 != ''"> and issuemp3 = #{issuemp3}</if>
+            <if test="answermp3 != null  and answermp3 != ''"> and answermp3 = #{answermp3}</if>
+            <if test="explainjsmp3 != null  and explainjsmp3 != ''"> and explainjsmp3 = #{explainjsmp3}</if>
+            <if test="subject1 != null  and subject1 != ''"> and subject_1 = #{subject1}</if>
+            <if test="subject2 != null  and subject2 != ''"> and subject_2 = #{subject2}</if>
+            <if test="subject3 != null  and subject3 != ''"> and subject_3 = #{subject3}</if>
+            <if test="subject4 != null  and subject4 != ''"> and subject_4 = #{subject4}</if>
+            <if test="liceCar != null  and liceCar != ''"> and lice_car = #{liceCar}</if>
+            <if test="liceBus != null  and liceBus != ''"> and lice_bus = #{liceBus}</if>
+            <if test="liceTruck != null  and liceTruck != ''"> and lice_truck = #{liceTruck}</if>
+            <if test="liceMoto != null  and liceMoto != ''"> and lice_moto = #{liceMoto}</if>
+            <if test="sequeIssue != null  and sequeIssue != ''"> and seque_issue = #{sequeIssue}</if>
+            <if test="classIssue != null  and classIssue != ''"> and class_issue = #{classIssue}</if>
+            <if test="placeIssue != null  and placeIssue != ''"> and place_issue = #{placeIssue}</if>
+            <if test="excellIssue != null  and excellIssue != ''"> and excell_issue = #{excellIssue}</if>
+            <if test="copyIssue != null  and copyIssue != ''"> and copy_issue = #{copyIssue}</if>
+            <if test="mockIssue != null  and mockIssue != ''"> and mock_issue = #{mockIssue}</if>
+            <if test="sequeIssueName != null  and sequeIssueName != ''"> and seque_issue_name like concat('%', #{sequeIssueName}, '%')</if>
+            <if test="placeIssueName != null  and placeIssueName != ''"> and place_issue_name like concat('%', #{placeIssueName}, '%')</if>
+            <if test="excellIssueName != null  and excellIssueName != ''"> and excell_issue_name like concat('%', #{excellIssueName}, '%')</if>
+            <if test="classIssueName != null  and classIssueName != ''"> and class_issue_name like concat('%', #{classIssueName}, '%')</if>
+        </where>
+    </select>
+
+</mapper>