From a8c26e1287cc6b7399d1b006e7d685637e6d4f0c Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Fri, 16 Jul 2021 15:00:27 +0800
Subject: [PATCH] 1.选择题,选择题选项接口新增

---
 src/main/java/org/springblade/modules/exam/controller/ExamSubjectChoicesController.java    |   95 +++++++
 src/main/java/org/springblade/modules/exam/mapper/ExamSubjectOptionMapper.xml              |   33 ++
 src/main/java/org/springblade/modules/exam/vo/ExamSubjectOptionVO.java                     |   25 +
 src/main/java/org/springblade/modules/exam/entity/ExamSubjectChoices.java                  |  118 +++++++++
 src/main/java/org/springblade/modules/exam/service/ExamSubjectChoicesService.java          |   27 ++
 src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.java            |   34 ++
 src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectChoicesServiceImpl.java |   32 ++
 src/main/java/org/springblade/modules/exam/mapper/ExamSubjectOptionMapper.java             |   34 ++
 src/main/java/org/springblade/modules/exam/entity/ExamSubjectOption.java                   |   95 +++++++
 src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.xml             |   52 ++++
 src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectOptionServiceImpl.java  |   32 ++
 src/main/java/org/springblade/modules/exam/controller/ExamSubjectOptionController.java     |   96 +++++++
 src/main/java/org/springblade/modules/exam/vo/ExamSubjectChoicesVO.java                    |   29 ++
 src/main/java/org/springblade/modules/exam/service/ExamSubjectOptionService.java           |   27 ++
 src/main/resources/application.yml                                                         |    1 
 15 files changed, 730 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/exam/controller/ExamSubjectChoicesController.java b/src/main/java/org/springblade/modules/exam/controller/ExamSubjectChoicesController.java
new file mode 100644
index 0000000..4e81d4a
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamSubjectChoicesController.java
@@ -0,0 +1,95 @@
+package org.springblade.modules.exam.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.exam.entity.ExamSubjectChoices;
+import org.springblade.modules.exam.service.ExamSubjectChoicesService;
+import org.springblade.modules.exam.vo.ExamSubjectChoicesVO;
+import org.springframework.web.bind.annotation.*;
+import java.util.Date;
+
+/**
+ * @author zhongrj
+ * @time 2021-07-16
+ * @desc 选择题管理控制层
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/examSubjectChoices")
+public class ExamSubjectChoicesController {
+
+	private final ExamSubjectChoicesService examSubjectChoicesService;
+
+	/**
+	 * 自定义分页
+	 * @param query page,size
+	 * @param examSubjectChoices 选择题信息对象
+	 */
+	@GetMapping("/page")
+	public R<IPage<ExamSubjectChoicesVO>> page(ExamSubjectChoicesVO examSubjectChoices, Query query) {
+		IPage<ExamSubjectChoicesVO> pages = examSubjectChoicesService.selectExamSubjectChoicesPage(Condition.getPage(query), examSubjectChoices);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增
+	 * @param examSubjectChoices 选择题信息对象
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入examSubjectChoices")
+	public R save(@RequestBody ExamSubjectChoices examSubjectChoices) {
+		return R.status(examSubjectChoicesService.save(examSubjectChoices));
+	}
+
+	/**
+	 * 修改
+	 * @param examSubjectChoices 选择题信息对象
+	 */
+	@PostMapping("/update")
+	public R update(@RequestBody ExamSubjectChoices examSubjectChoices) {
+		return R.status(examSubjectChoicesService.updateById(examSubjectChoices));
+	}
+
+	/**
+	 * 新增或修改
+	 * @param examSubjectChoices 选择题信息对象
+	 */
+	@PostMapping("/submit")
+	public R submit(@RequestBody ExamSubjectChoices examSubjectChoices) {
+		if (null!=examSubjectChoices.getId()){
+			examSubjectChoices.setCreateDate(new Date());
+		}else {
+			examSubjectChoices.setModifyDate(new Date());
+		}
+		return R.status(examSubjectChoicesService.saveOrUpdate(examSubjectChoices));
+	}
+
+	/**
+	 * 删除
+	 * @param ids 选择题信息ids 数组
+	 */
+	@PostMapping("/remove")
+	public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
+		return R.status(examSubjectChoicesService.removeByIds(Func.toLongList(ids)));
+	}
+
+	/**
+	 * 详情
+	 * @param examSubjectChoices 选择题信息对象
+	 */
+	@GetMapping("/detail")
+	@ApiOperation(value = "详情", notes = "传入examSubjectChoices")
+	public R<ExamSubjectChoicesVO> detail(ExamSubjectChoices examSubjectChoices) {
+		//查询选择题详情
+		ExamSubjectChoicesVO detail = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
+		//返回
+		return R.data(detail);
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/exam/controller/ExamSubjectOptionController.java b/src/main/java/org/springblade/modules/exam/controller/ExamSubjectOptionController.java
new file mode 100644
index 0000000..6d71271
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamSubjectOptionController.java
@@ -0,0 +1,96 @@
+package org.springblade.modules.exam.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.exam.entity.ExamSubjectOption;
+import org.springblade.modules.exam.service.ExamSubjectOptionService;
+import org.springblade.modules.exam.vo.ExamSubjectOptionVO;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Date;
+
+/**
+ * @author zhongrj
+ * @time 2021-07-16
+ * @desc 选择题选项管理控制层
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/examSubjectOption")
+public class ExamSubjectOptionController {
+
+	private final ExamSubjectOptionService examSubjectOptionService;
+
+	/**
+	 * 自定义分页
+	 * @param query page,size
+	 * @param examSubjectOption 选择题选项信息对象
+	 */
+	@GetMapping("/page")
+	public R<IPage<ExamSubjectOptionVO>> page(ExamSubjectOptionVO examSubjectOption, Query query) {
+		IPage<ExamSubjectOptionVO> pages = examSubjectOptionService.selectExamSubjectOptionPage(Condition.getPage(query), examSubjectOption);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增
+	 * @param examSubjectOption 选择题选项信息对象
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入examSubjectOption")
+	public R save(@RequestBody ExamSubjectOption examSubjectOption) {
+		return R.status(examSubjectOptionService.save(examSubjectOption));
+	}
+
+	/**
+	 * 修改
+	 * @param examSubjectOption 选择题选项信息对象
+	 */
+	@PostMapping("/update")
+	public R update(@RequestBody ExamSubjectOption examSubjectOption) {
+		return R.status(examSubjectOptionService.updateById(examSubjectOption));
+	}
+
+	/**
+	 * 新增或修改
+	 * @param examSubjectOption 选择题选项信息对象
+	 */
+	@PostMapping("/submit")
+	public R submit(@RequestBody ExamSubjectOption examSubjectOption) {
+		if (null!=examSubjectOption.getId()){
+			examSubjectOption.setCreateDate(new Date());
+		}else {
+			examSubjectOption.setModifyDate(new Date());
+		}
+		return R.status(examSubjectOptionService.saveOrUpdate(examSubjectOption));
+	}
+
+	/**
+	 * 删除
+	 * @param ids 选择题选项信息ids 数组
+	 */
+	@PostMapping("/remove")
+	public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
+		return R.status(examSubjectOptionService.removeByIds(Func.toLongList(ids)));
+	}
+
+	/**
+	 * 详情
+	 * @param examSubjectOption 选择题选项信息对象
+	 */
+	@GetMapping("/detail")
+	@ApiOperation(value = "详情", notes = "传入examSubjectOption")
+	public R<ExamSubjectOptionVO> detail(ExamSubjectOption examSubjectOption) {
+		//查询选择题选项详情
+		ExamSubjectOptionVO detail = examSubjectOptionService.selectExamSubjectOptionInfo(examSubjectOption);
+		//返回
+		return R.data(detail);
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/exam/entity/ExamSubjectChoices.java b/src/main/java/org/springblade/modules/exam/entity/ExamSubjectChoices.java
new file mode 100644
index 0000000..325f5af
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/entity/ExamSubjectChoices.java
@@ -0,0 +1,118 @@
+package org.springblade.modules.exam.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 选择题实体类
+ * @author zhongrj
+ * @time 2021-07-16
+ */
+@Data
+@TableName("exam_subject_choices")
+public class ExamSubjectChoices implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 选择题主键id
+	 */
+	@TableId(value = "id",type = IdType.AUTO)
+	private Long id;
+
+
+	/**
+	 * 题目 ID
+	 */
+	@TableField("category_id")
+	private Long categoryId;
+
+	/**
+	 * 题目名称
+	 */
+	@TableField("subject_name")
+	private String subjectName;
+
+	/**
+	 * 题目类型
+	 */
+	@TableField("choices_type")
+	private Integer choicesType;
+
+	/**
+	 * 参考答案
+	 */
+	private String answer;
+
+	/**
+	 * 题目分值
+	 */
+	private Integer score;
+
+	/**
+	 * 解析
+	 */
+	private String analysis;
+
+
+	/**
+	 * 难度等级
+	 */
+	private Integer level;
+
+
+	/**
+	 * 创建人
+	 */
+	private String creator;
+
+	/**
+	 * 创建时间
+	 */
+	@TableField("create_date")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createDate;
+
+
+	/**
+	 * 修改人
+	 */
+	private String modifier;
+
+	/**
+	 * 修改时间
+	 */
+	@TableField("modify_date")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date modifyDate;
+
+	/**
+	 * 删除标记 0:正常;1:删除
+	 */
+	@TableField("del_flag")
+	private Integer delFlag;
+
+	/**
+	 * 系统编号
+	 */
+	@TableField("application_code")
+	private String applicationCode;
+
+	/**
+	 *
+	 */
+	@TableField("tenant_code")
+	private String tenantCode;
+
+
+}
diff --git a/src/main/java/org/springblade/modules/exam/entity/ExamSubjectOption.java b/src/main/java/org/springblade/modules/exam/entity/ExamSubjectOption.java
new file mode 100644
index 0000000..3619115
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/entity/ExamSubjectOption.java
@@ -0,0 +1,95 @@
+package org.springblade.modules.exam.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 选择题选项实体类
+ * @author zhongrj
+ * @time 2021-07-16
+ */
+@Data
+@TableName("exam_subject_option")
+public class ExamSubjectOption implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 选择题主键id
+	 */
+	@TableId(value = "id",type = IdType.AUTO)
+	private Long id;
+
+
+	/**
+	 * 选择题ID
+	 */
+	@TableField("subject_choices_id")
+	private Long subjectChoicesId;
+
+	/**
+	 * 选项名称
+	 */
+	@TableField("option_name")
+	private String optionName;
+
+	/**
+	 * 选项内容
+	 */
+	@TableField("option_content")
+	private String optionContent;
+
+
+	/**
+	 * 创建人
+	 */
+	private String creator;
+
+	/**
+	 * 创建时间
+	 */
+	@TableField("create_date")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createDate;
+
+
+	/**
+	 * 修改人
+	 */
+	private String modifier;
+
+	/**
+	 * 修改时间
+	 */
+	@TableField("modify_date")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date modifyDate;
+
+	/**
+	 * 删除标记 0:正常;1:删除
+	 */
+	@TableField("del_flag")
+	private Integer delFlag;
+
+	/**
+	 * 系统编号
+	 */
+	@TableField("application_code")
+	private String applicationCode;
+
+	/**
+	 * 租户编号
+	 */
+	@TableField("tenant_code")
+	private String tenantCode;
+
+}
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.java b/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.java
new file mode 100644
index 0000000..a96b848
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.java
@@ -0,0 +1,34 @@
+package org.springblade.modules.exam.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.exam.entity.ExamSubjectChoices;
+import org.springblade.modules.exam.vo.ExamSubjectChoicesVO;
+
+import java.util.List;
+
+/**
+ * 选择题Mapper 接口
+ * @author zhongrj
+ */
+public interface ExamSubjectChoicesMapper extends BaseMapper<ExamSubjectChoices> {
+
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page               分页
+	 * @param examSubjectChoices 实体
+	 * @return
+	 */
+	List<ExamSubjectChoicesVO> selectExamSubjectChoicesPage(IPage page, @Param("examSubjectChoices") ExamSubjectChoicesVO examSubjectChoices);
+
+	/**
+	 * 详情
+	 *
+	 * @param examSubjectChoices 选择题信息对象
+	 */
+	ExamSubjectChoicesVO selectExamSubjectChoicesInfo(@Param("examSubjectChoices") ExamSubjectChoices examSubjectChoices);
+
+}
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.xml
new file mode 100644
index 0000000..babb7c0
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectChoicesMapper.xml
@@ -0,0 +1,52 @@
+<?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="org.springblade.modules.exam.mapper.ExamSubjectChoicesMapper">
+
+    <!--选择题分页信息-->
+    <select id="selectExamSubjectChoicesPage" resultMap="ExamSubjectChoicesInfoMap">
+        SELECT
+            esc.*,
+            eso.id eso_id,eso.subject_choices_id,eso.option_name,eso.option_content,eso.creator,
+            eso.create_date,eso.modifier,eso.modify_date,eso.del_flag,eso.application_code,eso.tenant_code
+        FROM
+            exam_subject_choices esc
+        left join
+            exam_subject_option eso
+        on
+            esc.id = eso.subject_choices_id
+        WHERE
+            1=1
+        <if test="examSubjectChoices.subjectName!=null and  examSubjectChoices.subjectName!=''">
+            and esc.subject_name like concat('%', #{examSubjectChoices.subjectName},'%')
+        </if>
+    </select>
+
+
+    <!--ExamSubjectChoicesInfoMap 多表联查 一对多查询 -->
+    <resultMap id="ExamSubjectChoicesInfoMap" type="org.springblade.modules.exam.vo.ExamSubjectChoicesVO" autoMapping="true">
+        <id property="id" column="id"/>
+        <collection property="examSubjectOptions" javaType="java.util.List" ofType="org.springblade.modules.exam.entity.ExamSubjectOption" autoMapping="true">
+            <id property="id" column="eso_id"/>
+        </collection>
+    </resultMap>
+
+
+    <!--选择题详情信息-->
+    <select id="selectExamSubjectChoicesInfo" resultMap="ExamSubjectChoicesInfoMap">
+        SELECT
+        esc.*,
+        eso.id eso_id,eso.subject_choices_id,eso.option_name,eso.option_content,eso.creator,
+        eso.create_date,eso.modifier,eso.modify_date,eso.del_flag,eso.application_code,eso.tenant_code
+        FROM
+        exam_subject_choices esc
+        left join
+        exam_subject_option eso
+        on
+        esc.id = eso.subject_choices_id
+        WHERE
+        1=1
+        <if test="examSubjectChoices.id!=null">
+            and esc.id = #{examSubjectChoices.id}
+        </if>
+    </select>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectOptionMapper.java b/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectOptionMapper.java
new file mode 100644
index 0000000..fa19e78
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectOptionMapper.java
@@ -0,0 +1,34 @@
+package org.springblade.modules.exam.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.exam.entity.ExamSubjectOption;
+import org.springblade.modules.exam.vo.ExamSubjectOptionVO;
+
+import java.util.List;
+
+/**
+ * 选择题选项Mapper 接口
+ * @author zhongrj
+ */
+public interface ExamSubjectOptionMapper extends BaseMapper<ExamSubjectOption> {
+
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page               分页
+	 * @param examSubjectOption 实体
+	 * @return
+	 */
+	List<ExamSubjectOptionVO> selectExamSubjectOptionPage(IPage page, @Param("examSubjectOption") ExamSubjectOptionVO examSubjectOption);
+
+	/**
+	 * 详情
+	 *
+	 * @param examSubjectOption 选择题选项信息对象
+	 */
+	ExamSubjectOptionVO selectExamSubjectOptionInfo(@Param("examSubjectOption") ExamSubjectOption examSubjectOption);
+
+}
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectOptionMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectOptionMapper.xml
new file mode 100644
index 0000000..836ae2c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamSubjectOptionMapper.xml
@@ -0,0 +1,33 @@
+<?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="org.springblade.modules.exam.mapper.ExamSubjectOptionMapper">
+
+    <!--选择题选项分页信息-->
+    <select id="selectExamSubjectOptionPage" resultType="org.springblade.modules.exam.vo.ExamSubjectOptionVO">
+        SELECT
+        *
+        FROM
+        exam_subject_option
+        WHERE
+        1=1
+        <if test="examSubjectOption.optionName!=null and  examSubjectOption.optionName!=''">
+            and option_name like concat('%', #{examSubjectOption.optionName},'%')
+        </if>
+    </select>
+
+
+
+
+    <!--选择题选项详情信息-->
+    <select id="selectExamSubjectOptionInfo" resultType="org.springblade.modules.exam.vo.ExamSubjectOptionVO">
+        SELECT
+            *
+        FROM
+        exam_subject_option
+        WHERE
+        1=1
+        <if test="examSubjectOption.id!=null">
+            and id = #{examSubjectOption.id}
+        </if>
+    </select>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/exam/service/ExamSubjectChoicesService.java b/src/main/java/org/springblade/modules/exam/service/ExamSubjectChoicesService.java
new file mode 100644
index 0000000..b132aa0
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/service/ExamSubjectChoicesService.java
@@ -0,0 +1,27 @@
+package org.springblade.modules.exam.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.exam.entity.ExamSubjectChoices;
+import org.springblade.modules.exam.vo.ExamSubjectChoicesVO;
+
+/**
+ * 选择题服务类
+ * @author zhongrj
+ */
+public interface ExamSubjectChoicesService extends IService<ExamSubjectChoices> {
+
+	/**
+	 * 自定义分页
+	 * @param page
+	 * @param examSubjectChoices
+	 * @return
+	 */
+	IPage<ExamSubjectChoicesVO> selectExamSubjectChoicesPage(IPage<ExamSubjectChoicesVO> page, ExamSubjectChoicesVO examSubjectChoices);
+
+	/**
+	 * 详情
+	 * @param examSubjectChoices 选择题信息对象
+	 */
+	ExamSubjectChoicesVO selectExamSubjectChoicesInfo(ExamSubjectChoices examSubjectChoices);
+}
diff --git a/src/main/java/org/springblade/modules/exam/service/ExamSubjectOptionService.java b/src/main/java/org/springblade/modules/exam/service/ExamSubjectOptionService.java
new file mode 100644
index 0000000..86ff892
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/service/ExamSubjectOptionService.java
@@ -0,0 +1,27 @@
+package org.springblade.modules.exam.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.exam.entity.ExamSubjectOption;
+import org.springblade.modules.exam.vo.ExamSubjectOptionVO;
+
+/**
+ * 选择题选项服务类
+ * @author zhongrj
+ */
+public interface ExamSubjectOptionService extends IService<ExamSubjectOption> {
+
+	/**
+	 * 自定义分页
+	 * @param page
+	 * @param examSubjectOption
+	 * @return
+	 */
+	IPage<ExamSubjectOptionVO> selectExamSubjectOptionPage(IPage<ExamSubjectOptionVO> page, ExamSubjectOptionVO examSubjectOption);
+
+	/**
+	 * 详情
+	 * @param examSubjectOption 选择题选项信息对象
+	 */
+	ExamSubjectOptionVO selectExamSubjectOptionInfo(ExamSubjectOption examSubjectOption);
+}
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectChoicesServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectChoicesServiceImpl.java
new file mode 100644
index 0000000..f9e1f4e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectChoicesServiceImpl.java
@@ -0,0 +1,32 @@
+
+package org.springblade.modules.exam.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.exam.entity.ExamSubjectChoices;
+import org.springblade.modules.exam.mapper.ExamSubjectChoicesMapper;
+import org.springblade.modules.exam.service.ExamSubjectChoicesService;
+import org.springblade.modules.exam.vo.ExamSubjectChoicesVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * 选择题服务实现类
+ * @author zhongrj
+ */
+@Service
+public class ExamSubjectChoicesServiceImpl extends ServiceImpl<ExamSubjectChoicesMapper, ExamSubjectChoices> implements ExamSubjectChoicesService {
+
+	@Override
+	public IPage<ExamSubjectChoicesVO> selectExamSubjectChoicesPage(IPage<ExamSubjectChoicesVO> page, ExamSubjectChoicesVO examSubjectChoices) {
+		return page.setRecords(baseMapper.selectExamSubjectChoicesPage(page, examSubjectChoices));
+	}
+
+	/**
+	 * 详情
+	 * @param examSubjectChoices 选择题信息对象
+	 */
+	@Override
+	public ExamSubjectChoicesVO selectExamSubjectChoicesInfo(ExamSubjectChoices examSubjectChoices) {
+		return baseMapper.selectExamSubjectChoicesInfo(examSubjectChoices);
+	}
+}
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectOptionServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectOptionServiceImpl.java
new file mode 100644
index 0000000..cb98ffc
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectOptionServiceImpl.java
@@ -0,0 +1,32 @@
+
+package org.springblade.modules.exam.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.exam.entity.ExamSubjectOption;
+import org.springblade.modules.exam.mapper.ExamSubjectOptionMapper;
+import org.springblade.modules.exam.service.ExamSubjectOptionService;
+import org.springblade.modules.exam.vo.ExamSubjectOptionVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * 选择题选项服务实现类
+ * @author zhongrj
+ */
+@Service
+public class ExamSubjectOptionServiceImpl extends ServiceImpl<ExamSubjectOptionMapper, ExamSubjectOption> implements ExamSubjectOptionService {
+
+	@Override
+	public IPage<ExamSubjectOptionVO> selectExamSubjectOptionPage(IPage<ExamSubjectOptionVO> page, ExamSubjectOptionVO examSubjectOption) {
+		return page.setRecords(baseMapper.selectExamSubjectOptionPage(page, examSubjectOption));
+	}
+
+	/**
+	 * 详情
+	 * @param examSubjectOption 选择题选项信息对象
+	 */
+	@Override
+	public ExamSubjectOptionVO selectExamSubjectOptionInfo(ExamSubjectOption examSubjectOption) {
+		return baseMapper.selectExamSubjectOptionInfo(examSubjectOption);
+	}
+}
diff --git a/src/main/java/org/springblade/modules/exam/vo/ExamSubjectChoicesVO.java b/src/main/java/org/springblade/modules/exam/vo/ExamSubjectChoicesVO.java
new file mode 100644
index 0000000..bbd94fc
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/vo/ExamSubjectChoicesVO.java
@@ -0,0 +1,29 @@
+package org.springblade.modules.exam.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springblade.modules.exam.entity.ExamSubjectChoices;
+import org.springblade.modules.exam.entity.ExamSubjectOption;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 选择题实体类vo
+ * @author zhongrj
+ * @time 2021-07-16
+ */
+@Data
+public class ExamSubjectChoicesVO extends ExamSubjectChoices implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	private List<ExamSubjectOption> examSubjectOptions;
+
+
+}
diff --git a/src/main/java/org/springblade/modules/exam/vo/ExamSubjectOptionVO.java b/src/main/java/org/springblade/modules/exam/vo/ExamSubjectOptionVO.java
new file mode 100644
index 0000000..474a5cf
--- /dev/null
+++ b/src/main/java/org/springblade/modules/exam/vo/ExamSubjectOptionVO.java
@@ -0,0 +1,25 @@
+package org.springblade.modules.exam.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springblade.modules.exam.entity.ExamSubjectOption;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 选择题选项实体类vo
+ * @author zhongrj
+ * @time 2021-07-16
+ */
+@Data
+public class ExamSubjectOptionVO extends ExamSubjectOption implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index d63366b..0b4dec6 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -201,6 +201,7 @@
       - /gun/**
       - /trainingRegistration/**
       - /workReport/**
+      - /examSubjectChoices/**
     #授权认证配置
     auth:
       - method: ALL

--
Gitblit v1.9.3