From 2ad2b14ea01dc47cdf6d1364a76f48ba7102712d Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Tue, 16 Jan 2024 17:02:38 +0800
Subject: [PATCH] 物业评分题目

---
 src/main/java/org/springblade/modules/subjectOption/mapper/SubjectOptionMapper.java              |   44 ++
 src/main/java/org/springblade/modules/subjectChoices/wrapper/SubjectChoicesWrapper.java          |   51 ++
 src/main/java/org/springblade/modules/subjectOption/mapper/SubjectOptionMapper.xml               |   15 
 src/main/java/org/springblade/modules/subjectOption/service/impl/SubjectOptionServiceImpl.java   |   42 +
 src/main/java/org/springblade/modules/subjectChoices/dto/SubjectChoicesDTO.java                  |   34 +
 src/main/java/org/springblade/modules/subjectOption/dto/SubjectOptionDTO.java                    |   34 +
 src/main/java/org/springblade/modules/subjectOption/service/ISubjectOptionService.java           |   42 +
 src/main/java/org/springblade/modules/subjectOption/vo/SubjectOptionVO.java                      |   34 +
 src/main/java/org/springblade/modules/subjectOption/entity/SubjectOptionEntity.java              |  124 +++++
 src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.xml             |  146 ++++++
 src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.java            |   61 ++
 src/main/java/org/springblade/modules/subjectChoices/service/impl/SubjectChoicesServiceImpl.java |   67 +++
 src/main/java/org/springblade/modules/subjectOption/wrapper/SubjectOptionWrapper.java            |   51 ++
 src/main/java/org/springblade/modules/subjectChoices/controller/SubjectChoicesController.java    |  148 ++++++
 src/main/java/org/springblade/modules/subjectChoices/entity/SubjectChoicesEntity.java            |  144 ++++++
 src/main/java/org/springblade/modules/subjectOption/controller/SubjectOptionController.java      |  126 +++++
 src/main/java/org/springblade/modules/subjectChoices/vo/SubjectChoicesVO.java                    |   38 +
 src/main/resources/application.yml                                                               |    1 
 src/main/java/org/springblade/modules/subjectChoices/service/ISubjectChoicesService.java         |   61 ++
 19 files changed, 1,263 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/subjectChoices/controller/SubjectChoicesController.java b/src/main/java/org/springblade/modules/subjectChoices/controller/SubjectChoicesController.java
new file mode 100644
index 0000000..406e7f2
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectChoices/controller/SubjectChoicesController.java
@@ -0,0 +1,148 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectChoices.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.common.utils.SpringUtils;
+import org.springblade.core.boot.ctrl.BladeController;
+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.subjectChoices.entity.SubjectChoicesEntity;
+import org.springblade.modules.subjectChoices.service.ISubjectChoicesService;
+import org.springblade.modules.subjectChoices.vo.SubjectChoicesVO;
+import org.springblade.modules.subjectChoices.wrapper.SubjectChoicesWrapper;
+import org.springblade.modules.subjectOption.entity.SubjectOptionEntity;
+import org.springblade.modules.subjectOption.service.ISubjectOptionService;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * 题目表 控制器
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-subjectChoices/subjectChoices")
+@Api(value = "题目表", tags = "题目表接口")
+public class SubjectChoicesController extends BladeController {
+
+	private final ISubjectChoicesService subjectChoicesService;
+
+	/**
+	 * 题目表 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入subjectChoices")
+	public R<SubjectChoicesVO> detail(SubjectChoicesEntity subjectChoices) {
+		SubjectChoicesEntity detail = subjectChoicesService.getOne(Condition.getQueryWrapper(subjectChoices));
+		return R.data(SubjectChoicesWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 题目表 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入subjectChoices")
+	public R<IPage<SubjectChoicesVO>> list(SubjectChoicesEntity subjectChoices, Query query) {
+		IPage<SubjectChoicesEntity> pages = subjectChoicesService.page(Condition.getPage(query), Condition.getQueryWrapper(subjectChoices));
+		return R.data(SubjectChoicesWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 题目表 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入subjectChoices")
+	public R<IPage<SubjectChoicesVO>> page(SubjectChoicesVO subjectChoices, Query query) {
+		IPage<SubjectChoicesVO> pages = subjectChoicesService.selectSubjectChoicesPage(Condition.getPage(query), subjectChoices);
+		return R.data(pages);
+	}
+
+	/**
+	 * 题目表 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入subjectChoices")
+	public R save(@Valid @RequestBody SubjectChoicesVO subjectChoices) {
+		boolean save = subjectChoicesService.save(subjectChoices);
+		if (save) {
+			List<SubjectOptionEntity> children = subjectChoices.getSubjectOptionList();
+			for (SubjectOptionEntity child : children) {
+				child.setSubjectChoicesId(subjectChoices.getId());
+			}
+			ISubjectOptionService bean = SpringUtils.getBean(ISubjectOptionService.class);
+			bean.saveBatch(children);
+		}
+		return R.status(save);
+	}
+
+	/**
+	 * 题目表 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入subjectChoices")
+	public R update(@Valid @RequestBody SubjectChoicesEntity subjectChoices) {
+		return R.status(subjectChoicesService.updateById(subjectChoices));
+	}
+
+	/**
+	 * 题目表 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入subjectChoices")
+	public R submit(@Valid @RequestBody SubjectChoicesVO subjectChoices) {
+		boolean save = subjectChoicesService.saveOrUpdate(subjectChoices);
+		if (save) {
+			List<SubjectOptionEntity> children = subjectChoices.getSubjectOptionList();
+			for (SubjectOptionEntity child : children) {
+				child.setSubjectChoicesId(subjectChoices.getId());
+			}
+			ISubjectOptionService bean = SpringUtils.getBean(ISubjectOptionService.class);
+			bean.saveOrUpdateBatch(children);
+		}
+		return R.status(save);
+	}
+
+	/**
+	 * 题目表 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(subjectChoicesService.removeBatchByIds(Func.toLongList(ids)));
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectChoices/dto/SubjectChoicesDTO.java b/src/main/java/org/springblade/modules/subjectChoices/dto/SubjectChoicesDTO.java
new file mode 100644
index 0000000..b2447b7
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectChoices/dto/SubjectChoicesDTO.java
@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectChoices.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.subjectChoices.entity.SubjectChoicesEntity;
+
+/**
+ * 题目表 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SubjectChoicesDTO extends SubjectChoicesEntity {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectChoices/entity/SubjectChoicesEntity.java b/src/main/java/org/springblade/modules/subjectChoices/entity/SubjectChoicesEntity.java
new file mode 100644
index 0000000..1759e67
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectChoices/entity/SubjectChoicesEntity.java
@@ -0,0 +1,144 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectChoices.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 io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 题目表 实体类
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+
+/**
+ * 题目表对象 jczz_subject_choices
+ *
+ * @author ${context.author}
+ * @date 2024-01-15 16:53:02
+ */
+@ApiModel(value = "SubjectChoices对象", description = "题目表")
+@Data
+@TableName("jczz_subject_choices")
+public class SubjectChoicesEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+
+	/**
+	 * 主键
+	 */
+	@ApiModelProperty(value = "主键ID", example = "")
+	@TableId(value = "id", type = IdType.AUTO)
+	private Long id;
+
+	/**
+	 * 父级id
+	 */
+	@ApiModelProperty(value = "父级id", example = "")
+	@TableField("parent_id")
+	private Long parentId;
+
+	/**
+	 * 大类名称
+	 */
+	@ApiModelProperty(value = "大类名称", example = "")
+	@TableField("category_name")
+	private String categoryName;
+
+	/**
+	 * 细类名称
+	 */
+	@ApiModelProperty(value = "细类名称", example = "")
+	@TableField("subclass_name")
+	private String subclassName;
+
+	/**
+	 * 题目名称
+	 */
+	@ApiModelProperty(value = "题目名称", example = "")
+	@TableField("subject_name")
+	private String subjectName;
+
+	/**
+	 * 类型 0:单选题  1:多选题  2:填空题
+	 */
+	@ApiModelProperty(value = "类型 0:单选题  1:多选题  2:填空题", example = "")
+	@TableField("choices_type")
+	private Byte choicesType;
+
+	/**
+	 * 分值
+	 */
+	@ApiModelProperty(value = "分值", example = "")
+	@TableField("score")
+	private BigDecimal score;
+
+	/**
+	 * 创建人
+	 */
+	@ApiModelProperty(value = "创建人", example = "")
+	@TableField("creator")
+	private String creator;
+
+	/**
+	 * 创建时间
+	 */
+	@ApiModelProperty(value = "创建时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("create_date")
+	private Date createDate;
+
+	/**
+	 * 修改人
+	 */
+	@ApiModelProperty(value = "修改人", example = "")
+	@TableField("modifier")
+	private String modifier;
+
+	/**
+	 * 修改时间
+	 */
+	@ApiModelProperty(value = "修改时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("modify_date")
+	private Date modifyDate;
+
+	/**
+	 * 删除标记 0:正常;1:删除
+	 */
+	@ApiModelProperty(value = "删除标记 0:正常;1:删除", example = "")
+	@TableField("del_flag")
+	private Byte delFlag;
+
+	/**
+	 * 层级
+	 */
+	@ApiModelProperty(value = "层级", example = "")
+	@TableField("level")
+	private Integer level;
+}
diff --git a/src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.java b/src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.java
new file mode 100644
index 0000000..db9760f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.java
@@ -0,0 +1,61 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectChoices.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.subjectChoices.dto.SubjectChoicesDTO;
+import org.springblade.modules.subjectChoices.entity.SubjectChoicesEntity;
+import org.springblade.modules.subjectChoices.vo.SubjectChoicesVO;
+
+import java.util.List;
+
+/**
+ * 题目表 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+public interface SubjectChoicesMapper extends BaseMapper<SubjectChoicesEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param subjectChoices
+	 * @return
+	 */
+	List<SubjectChoicesVO> selectSubjectChoicesPage(IPage page, @Param("subjectChoices") SubjectChoicesVO subjectChoices);
+
+	/**
+	 * 查询题目表
+	 *
+	 * @param id 题目表ID
+	 * @return 题目表
+	 */
+	SubjectChoicesDTO selectSubjectChoicesById(Long id);
+
+	/**
+	 * 查询题目表列表
+	 *
+	 * @param subjectChoicesDTO 题目表
+	 * @return 题目表集合
+	 */
+	List<SubjectChoicesDTO> selectSubjectChoicesList(SubjectChoicesDTO subjectChoicesDTO);
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.xml b/src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.xml
new file mode 100644
index 0000000..df68d96
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectChoices/mapper/SubjectChoicesMapper.xml
@@ -0,0 +1,146 @@
+<?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.subjectChoices.mapper.SubjectChoicesMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="subjectChoicesResultMap" type="org.springblade.modules.subjectChoices.vo.SubjectChoicesVO">
+        <result property="id" column="id"/>
+        <result property="parentId" column="parent_id"/>
+        <result property="categoryName" column="category_name"/>
+        <result property="subclassName" column="subclass_name"/>
+        <result property="subjectName" column="subject_name"/>
+        <result property="choicesType" column="choices_type"/>
+        <result property="score" column="score"/>
+        <result property="creator" column="creator"/>
+        <result property="createDate" column="create_date"/>
+        <result property="modifier" column="modifier"/>
+        <result property="modifyDate" column="modify_date"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="level" column="level"/>
+        <!--        <collection property="subjectOptionList" javaType="java.util.List"-->
+        <!--                    ofType="org.springblade.modules.subjectOption.entity.SubjectOptionEntity" autoMapping="true">-->
+        <!--            <id property="subjectChoicesId" column="id"/>-->
+        <!--        </collection>-->
+
+        <collection property="subjectOptionList" column="id" javaType="java.util.List"
+                    ofType="org.springblade.modules.subjectOption.entity.SubjectOptionEntity"
+                    autoMapping="true"
+                    select="selectCircleCommentByParentId"></collection>
+
+    </resultMap>
+
+    <select id="selectCircleCommentByParentId" parameterType="long"
+            resultType="org.springblade.modules.subjectOption.entity.SubjectOptionEntity">
+       select * from jczz_subject_option where
+        subject_choices_id = #{id}
+    </select>
+
+
+    <select id="selectSubjectChoicesPage" resultMap="subjectChoicesResultMap">
+        select
+        id,
+        parent_id,
+        category_name,
+        subclass_name,
+        subject_name,
+        choices_type,
+        score,
+        creator,
+        create_date,
+        modifier,
+        modify_date,
+        del_flag,
+        level
+        from
+        jczz_subject_choices
+        <where>
+            <if test="subjectChoices.id != null ">and id = #{subjectChoices.id}</if>
+            <if test="subjectChoices.parentId != null ">and parent_id = #{subjectChoices.parentId}</if>
+            <if test="subjectChoices.categoryName != null  and subjectChoices.categoryName != ''">and category_name =
+                #{subjectChoices.categoryName}
+            </if>
+            <if test="subjectChoices.subclassName != null  and subjectChoices.subclassName != ''">and subclass_name =
+                #{subjectChoices.subclassName}
+            </if>
+            <if test="subjectChoices.subjectName != null  and subjectChoices.subjectName != ''">and subject_name =
+                #{subjectChoices.subjectName}
+            </if>
+            <if test="subjectChoices.choicesType != null ">and choices_type = #{subjectChoices.choicesType}</if>
+            <if test="subjectChoices.score != null ">and score = #{subjectChoices.score}</if>
+            <if test="subjectChoices.creator != null  and subjectChoices.creator != ''">and creator =
+                #{subjectChoices.creator}
+            </if>
+            <if test="subjectChoices.createDate != null ">and create_date = #{subjectChoices.createDate}</if>
+            <if test="subjectChoices.modifier != null  and subjectChoices.modifier != ''">and modifier =
+                #{subjectChoices.modifier}
+            </if>
+            <if test="subjectChoices.modifyDate != null ">and modify_date = #{subjectChoices.modifyDate}</if>
+            <if test="subjectChoices.delFlag != null ">and del_flag = #{subjectChoices.delFlag}</if>
+            <if test="subjectChoices.level != null ">and level = #{subjectChoices.level}</if>
+        </where>
+    </select>
+
+
+    <resultMap type="org.springblade.modules.subjectChoices.dto.SubjectChoicesDTO" id="SubjectChoicesDTOResult">
+        <result property="id" column="id"/>
+        <result property="parentId" column="parent_id"/>
+        <result property="categoryName" column="category_name"/>
+        <result property="subclassName" column="subclass_name"/>
+        <result property="subjectName" column="subject_name"/>
+        <result property="choicesType" column="choices_type"/>
+        <result property="score" column="score"/>
+        <result property="creator" column="creator"/>
+        <result property="createDate" column="create_date"/>
+        <result property="modifier" column="modifier"/>
+        <result property="modifyDate" column="modify_date"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="level" column="level"/>
+    </resultMap>
+
+    <sql id="selectSubjectChoices">
+    	select
+	        id,
+	        parent_id,
+	        category_name,
+	        subclass_name,
+	        subject_name,
+	        choices_type,
+	        score,
+	        creator,
+	        create_date,
+	        modifier,
+	        modify_date,
+	        del_flag,
+	        level
+		from
+        	jczz_subject_choices
+    </sql>
+
+    <select id="selectSubjectChoicesById" parameterType="long" resultMap="SubjectChoicesDTOResult">
+        <include refid="selectSubjectChoices"/>
+        where
+        id = #{id}
+    </select>
+
+    <select id="selectSubjectChoicesList" parameterType="org.springblade.modules.subjectChoices.dto.SubjectChoicesDTO"
+            resultMap="SubjectChoicesDTOResult">
+        <include refid="selectSubjectChoices"/>
+        <where>
+            <if test="id != null ">and id = #{id}</if>
+            <if test="parentId != null ">and parent_id = #{parentId}</if>
+            <if test="categoryName != null  and categoryName != ''">and category_name = #{categoryName}</if>
+            <if test="subclassName != null  and subclassName != ''">and subclass_name = #{subclassName}</if>
+            <if test="subjectName != null  and subjectName != ''">and subject_name = #{subjectName}</if>
+            <if test="choicesType != null ">and choices_type = #{choicesType}</if>
+            <if test="score != null ">and score = #{score}</if>
+            <if test="creator != null  and creator != ''">and creator = #{creator}</if>
+            <if test="createDate != null ">and create_date = #{createDate}</if>
+            <if test="modifier != null  and modifier != ''">and modifier = #{modifier}</if>
+            <if test="modifyDate != null ">and modify_date = #{modifyDate}</if>
+            <if test="delFlag != null ">and del_flag = #{delFlag}</if>
+            <if test="level != null ">and level = #{level}</if>
+        </where>
+    </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/subjectChoices/service/ISubjectChoicesService.java b/src/main/java/org/springblade/modules/subjectChoices/service/ISubjectChoicesService.java
new file mode 100644
index 0000000..2def5bb
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectChoices/service/ISubjectChoicesService.java
@@ -0,0 +1,61 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectChoices.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.subjectChoices.dto.SubjectChoicesDTO;
+import org.springblade.modules.subjectChoices.entity.SubjectChoicesEntity;
+import org.springblade.modules.subjectChoices.vo.SubjectChoicesVO;
+
+import java.util.List;
+
+/**
+ * 题目表 服务类
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+public interface ISubjectChoicesService extends IService<SubjectChoicesEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param subjectChoices
+	 * @return
+	 */
+	IPage<SubjectChoicesVO> selectSubjectChoicesPage(IPage<SubjectChoicesVO> page, SubjectChoicesVO subjectChoices);
+
+	/**
+	 * 查询题目表
+	 *
+	 * @param id 题目表ID
+	 * @return 题目表
+	 */
+	SubjectChoicesDTO selectSubjectChoicesById(Long id);
+
+	/**
+	 * 查询题目表列表
+	 *
+	 * @param subjectChoicesDTO 题目表
+	 * @return 题目表集合
+	 */
+	List<SubjectChoicesDTO> selectSubjectChoicesList(SubjectChoicesDTO subjectChoicesDTO);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectChoices/service/impl/SubjectChoicesServiceImpl.java b/src/main/java/org/springblade/modules/subjectChoices/service/impl/SubjectChoicesServiceImpl.java
new file mode 100644
index 0000000..9502cb9
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectChoices/service/impl/SubjectChoicesServiceImpl.java
@@ -0,0 +1,67 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectChoices.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.subjectChoices.dto.SubjectChoicesDTO;
+import org.springblade.modules.subjectChoices.entity.SubjectChoicesEntity;
+import org.springblade.modules.subjectChoices.mapper.SubjectChoicesMapper;
+import org.springblade.modules.subjectChoices.service.ISubjectChoicesService;
+import org.springblade.modules.subjectChoices.vo.SubjectChoicesVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 题目表 服务实现类
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+@Service
+public class SubjectChoicesServiceImpl extends ServiceImpl<SubjectChoicesMapper, SubjectChoicesEntity> implements ISubjectChoicesService {
+
+	@Override
+	public IPage<SubjectChoicesVO> selectSubjectChoicesPage(IPage<SubjectChoicesVO> page, SubjectChoicesVO subjectChoices) {
+		return page.setRecords(baseMapper.selectSubjectChoicesPage(page, subjectChoices));
+	}
+
+	/**
+	 * 查询题目表
+	 *
+	 * @param id 题目表ID
+	 * @return 题目表
+	 */
+	@Override
+	public SubjectChoicesDTO selectSubjectChoicesById(Long id) {
+		return this.baseMapper.selectSubjectChoicesById(id);
+	}
+
+	/**
+	 * 查询题目表列表
+	 *
+	 * @param subjectChoicesDTO 题目表
+	 * @return 题目表集合
+	 */
+	@Override
+	public List<SubjectChoicesDTO> selectSubjectChoicesList(SubjectChoicesDTO subjectChoicesDTO) {
+		return this.baseMapper.selectSubjectChoicesList(subjectChoicesDTO);
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectChoices/vo/SubjectChoicesVO.java b/src/main/java/org/springblade/modules/subjectChoices/vo/SubjectChoicesVO.java
new file mode 100644
index 0000000..ac18882
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectChoices/vo/SubjectChoicesVO.java
@@ -0,0 +1,38 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectChoices.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.subjectChoices.entity.SubjectChoicesEntity;
+import org.springblade.modules.subjectOption.entity.SubjectOptionEntity;
+
+import java.util.List;
+
+/**
+ * 题目表 视图实体类
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SubjectChoicesVO extends SubjectChoicesEntity {
+	private static final long serialVersionUID = 1L;
+
+	private List<SubjectOptionEntity> subjectOptionList;
+}
diff --git a/src/main/java/org/springblade/modules/subjectChoices/wrapper/SubjectChoicesWrapper.java b/src/main/java/org/springblade/modules/subjectChoices/wrapper/SubjectChoicesWrapper.java
new file mode 100644
index 0000000..fb34139
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectChoices/wrapper/SubjectChoicesWrapper.java
@@ -0,0 +1,51 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectChoices.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.subjectChoices.entity.SubjectChoicesEntity;
+import org.springblade.modules.subjectChoices.vo.SubjectChoicesVO;
+
+import java.util.Objects;
+
+/**
+ * 题目表 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+public class SubjectChoicesWrapper extends BaseEntityWrapper<SubjectChoicesEntity, SubjectChoicesVO> {
+
+	public static SubjectChoicesWrapper build() {
+		return new SubjectChoicesWrapper();
+	}
+
+	@Override
+	public SubjectChoicesVO entityVO(SubjectChoicesEntity subjectChoices) {
+		SubjectChoicesVO subjectChoicesVO = Objects.requireNonNull(BeanUtil.copy(subjectChoices, SubjectChoicesVO.class));
+
+		//User createUser = UserCache.getUser(subjectChoices.getCreateUser());
+		//User updateUser = UserCache.getUser(subjectChoices.getUpdateUser());
+		//subjectChoicesVO.setCreateUserName(createUser.getName());
+		//subjectChoicesVO.setUpdateUserName(updateUser.getName());
+
+		return subjectChoicesVO;
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectOption/controller/SubjectOptionController.java b/src/main/java/org/springblade/modules/subjectOption/controller/SubjectOptionController.java
new file mode 100644
index 0000000..8adbf9d
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectOption/controller/SubjectOptionController.java
@@ -0,0 +1,126 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectOption.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+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.subjectOption.entity.SubjectOptionEntity;
+import org.springblade.modules.subjectOption.service.ISubjectOptionService;
+import org.springblade.modules.subjectOption.vo.SubjectOptionVO;
+import org.springblade.modules.subjectOption.wrapper.SubjectOptionWrapper;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+/**
+ * 题目选项表 控制器
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-subjectOption/subjectOption")
+@Api(value = "题目选项表", tags = "题目选项表接口")
+public class SubjectOptionController extends BladeController {
+
+	private final ISubjectOptionService subjectOptionService;
+
+	/**
+	 * 题目选项表 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入subjectOption")
+	public R<SubjectOptionVO> detail(SubjectOptionEntity subjectOption) {
+		SubjectOptionEntity detail = subjectOptionService.getOne(Condition.getQueryWrapper(subjectOption));
+		return R.data(SubjectOptionWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 题目选项表 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入subjectOption")
+	public R<IPage<SubjectOptionVO>> list(SubjectOptionEntity subjectOption, Query query) {
+		IPage<SubjectOptionEntity> pages = subjectOptionService.page(Condition.getPage(query), Condition.getQueryWrapper(subjectOption));
+		return R.data(SubjectOptionWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 题目选项表 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入subjectOption")
+	public R<IPage<SubjectOptionVO>> page(SubjectOptionVO subjectOption, Query query) {
+		IPage<SubjectOptionVO> pages = subjectOptionService.selectSubjectOptionPage(Condition.getPage(query), subjectOption);
+		return R.data(pages);
+	}
+
+	/**
+	 * 题目选项表 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入subjectOption")
+	public R save(@Valid @RequestBody SubjectOptionEntity subjectOption) {
+		return R.status(subjectOptionService.save(subjectOption));
+	}
+
+	/**
+	 * 题目选项表 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入subjectOption")
+	public R update(@Valid @RequestBody SubjectOptionEntity subjectOption) {
+		return R.status(subjectOptionService.updateById(subjectOption));
+	}
+
+	/**
+	 * 题目选项表 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入subjectOption")
+	public R submit(@Valid @RequestBody SubjectOptionEntity subjectOption) {
+		return R.status(subjectOptionService.saveOrUpdate(subjectOption));
+	}
+
+	/**
+	 * 题目选项表 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(subjectOptionService.removeBatchByIds(Func.toLongList(ids)));
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectOption/dto/SubjectOptionDTO.java b/src/main/java/org/springblade/modules/subjectOption/dto/SubjectOptionDTO.java
new file mode 100644
index 0000000..dd82183
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectOption/dto/SubjectOptionDTO.java
@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectOption.dto;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.subjectOption.entity.SubjectOptionEntity;
+
+/**
+ * 题目选项表 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SubjectOptionDTO extends SubjectOptionEntity {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectOption/entity/SubjectOptionEntity.java b/src/main/java/org/springblade/modules/subjectOption/entity/SubjectOptionEntity.java
new file mode 100644
index 0000000..7aac9ce
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectOption/entity/SubjectOptionEntity.java
@@ -0,0 +1,124 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectOption.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 io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 题目选项表对象 jczz_subject_option
+ *
+ * @author ${context.author}
+ * @date 2024-01-15 16:53:02
+ */
+@ApiModel(value = "SubjectOption对象", description = "题目选项表")
+@Data
+@TableName("jczz_subject_option")
+public class SubjectOptionEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+
+	/**
+	 * 主键
+	 */
+	@ApiModelProperty(value = "主键ID", example = "")
+	@TableId(value = "id", type = IdType.AUTO)
+	private Long id;
+
+	/**
+	 * 选择题ID
+	 */
+	@ApiModelProperty(value = "选择题ID", example = "")
+	@TableField("subject_choices_id")
+	private Long subjectChoicesId;
+
+	/**
+	 * 选项名称
+	 */
+	@ApiModelProperty(value = "选项名称", example = "")
+	@TableField("option_name")
+	private String optionName;
+
+	/**
+	 * 选项内容
+	 */
+	@ApiModelProperty(value = "选项内容", example = "")
+	@TableField("option_content")
+	private String optionContent;
+
+	/**
+	 * 创建人
+	 */
+	@ApiModelProperty(value = "创建人", example = "")
+	@TableField("creator")
+	private String creator;
+
+	/**
+	 * 创建时间
+	 */
+	@ApiModelProperty(value = "创建时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("create_date")
+	private Date createDate;
+
+	/**
+	 * 修改人
+	 */
+	@ApiModelProperty(value = "修改人", example = "")
+	@TableField("modifier")
+	private String modifier;
+
+	/**
+	 * 修改时间
+	 */
+	@ApiModelProperty(value = "修改时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("modify_date")
+	private Date modifyDate;
+
+	/**
+	 * 删除标记 0:正常;1:删除
+	 */
+	@ApiModelProperty(value = "删除标记 0:正常;1:删除", example = "")
+	@TableField("del_flag")
+	private Byte delFlag;
+
+	/**
+	 * 分数
+	 */
+	@ApiModelProperty(value = "分数", example = "")
+	@TableField("score")
+	private BigDecimal score;
+
+	/**
+	 * 计算公式
+	 */
+	@ApiModelProperty(value = "计算公式", example = "")
+	@TableField("formula")
+	private String formula;
+}
diff --git a/src/main/java/org/springblade/modules/subjectOption/mapper/SubjectOptionMapper.java b/src/main/java/org/springblade/modules/subjectOption/mapper/SubjectOptionMapper.java
new file mode 100644
index 0000000..8b6104d
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectOption/mapper/SubjectOptionMapper.java
@@ -0,0 +1,44 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectOption.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.subjectOption.entity.SubjectOptionEntity;
+import org.springblade.modules.subjectOption.vo.SubjectOptionVO;
+
+import java.util.List;
+
+/**
+ * 题目选项表 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+public interface SubjectOptionMapper extends BaseMapper<SubjectOptionEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param subjectOption
+	 * @return
+	 */
+	List<SubjectOptionVO> selectSubjectOptionPage(IPage page, SubjectOptionVO subjectOption);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectOption/mapper/SubjectOptionMapper.xml b/src/main/java/org/springblade/modules/subjectOption/mapper/SubjectOptionMapper.xml
new file mode 100644
index 0000000..a5fe234
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectOption/mapper/SubjectOptionMapper.xml
@@ -0,0 +1,15 @@
+<?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.subjectOption.mapper.SubjectOptionMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="subjectOptionResultMap" type="org.springblade.modules.subjectOption.entity.SubjectOptionEntity">
+    </resultMap>
+
+
+    <select id="selectSubjectOptionPage" resultMap="subjectOptionResultMap">
+        select * from jczz_subject_option where is_deleted = 0
+    </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/subjectOption/service/ISubjectOptionService.java b/src/main/java/org/springblade/modules/subjectOption/service/ISubjectOptionService.java
new file mode 100644
index 0000000..45d618e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectOption/service/ISubjectOptionService.java
@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectOption.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.subjectOption.entity.SubjectOptionEntity;
+import org.springblade.modules.subjectOption.vo.SubjectOptionVO;
+
+/**
+ * 题目选项表 服务类
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+public interface ISubjectOptionService extends IService<SubjectOptionEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param subjectOption
+	 * @return
+	 */
+	IPage<SubjectOptionVO> selectSubjectOptionPage(IPage<SubjectOptionVO> page, SubjectOptionVO subjectOption);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectOption/service/impl/SubjectOptionServiceImpl.java b/src/main/java/org/springblade/modules/subjectOption/service/impl/SubjectOptionServiceImpl.java
new file mode 100644
index 0000000..c472fb2
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectOption/service/impl/SubjectOptionServiceImpl.java
@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectOption.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.subjectOption.entity.SubjectOptionEntity;
+import org.springblade.modules.subjectOption.mapper.SubjectOptionMapper;
+import org.springblade.modules.subjectOption.service.ISubjectOptionService;
+import org.springblade.modules.subjectOption.vo.SubjectOptionVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * 题目选项表 服务实现类
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+@Service
+public class SubjectOptionServiceImpl extends ServiceImpl<SubjectOptionMapper, SubjectOptionEntity> implements ISubjectOptionService {
+
+	@Override
+	public IPage<SubjectOptionVO> selectSubjectOptionPage(IPage<SubjectOptionVO> page, SubjectOptionVO subjectOption) {
+		return page.setRecords(baseMapper.selectSubjectOptionPage(page, subjectOption));
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectOption/vo/SubjectOptionVO.java b/src/main/java/org/springblade/modules/subjectOption/vo/SubjectOptionVO.java
new file mode 100644
index 0000000..734e092
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectOption/vo/SubjectOptionVO.java
@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectOption.vo;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springblade.modules.subjectOption.entity.SubjectOptionEntity;
+
+/**
+ * 题目选项表 视图实体类
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SubjectOptionVO extends SubjectOptionEntity {
+	private static final long serialVersionUID = 1L;
+
+}
diff --git a/src/main/java/org/springblade/modules/subjectOption/wrapper/SubjectOptionWrapper.java b/src/main/java/org/springblade/modules/subjectOption/wrapper/SubjectOptionWrapper.java
new file mode 100644
index 0000000..36d6fa4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/subjectOption/wrapper/SubjectOptionWrapper.java
@@ -0,0 +1,51 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.subjectOption.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.subjectOption.entity.SubjectOptionEntity;
+import org.springblade.modules.subjectOption.vo.SubjectOptionVO;
+
+import java.util.Objects;
+
+/**
+ * 题目选项表 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2024-01-15
+ */
+public class SubjectOptionWrapper extends BaseEntityWrapper<SubjectOptionEntity, SubjectOptionVO> {
+
+	public static SubjectOptionWrapper build() {
+		return new SubjectOptionWrapper();
+	}
+
+	@Override
+	public SubjectOptionVO entityVO(SubjectOptionEntity subjectOption) {
+		SubjectOptionVO subjectOptionVO = Objects.requireNonNull(BeanUtil.copy(subjectOption, SubjectOptionVO.class));
+
+		//User createUser = UserCache.getUser(subjectOption.getCreateUser());
+		//User updateUser = UserCache.getUser(subjectOption.getUpdateUser());
+		//subjectOptionVO.setCreateUserName(createUser.getName());
+		//subjectOptionVO.setUpdateUserName(updateUser.getName());
+
+		return subjectOptionVO;
+	}
+
+
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 4d20f7c..6c51b18 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -132,6 +132,7 @@
   database:
     provider:
       prefix: blade-
+  file-store-dir: D:/myfile/ureportDbfiles
 
 #oss默认配置
 oss:

--
Gitblit v1.9.3