From f70b376cd2b9a1d7f29b81b30231d30dd55351ad Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 13 六月 2024 09:21:25 +0800
Subject: [PATCH] 删除examTemplate

---
 src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java |    7 
 src/main/java/com/ycl/jxkg/domain/form/ExamPaperForm.java            |   10 
 src/main/resources/mapper/QuestionMapper.xml                         |   10 +
 src/main/java/com/ycl/jxkg/mapper/ExamPaperMapper.java               |    3 
 src/main/java/com/ycl/jxkg/domain/exam/PaperQuestionDTO.java         |   20 ++
 src/main/java/com/ycl/jxkg/service/ExamPaperService.java             |    4 
 src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamResponseVO.java  |    5 
 pom.xml                                                              |    5 
 src/main/java/com/ycl/jxkg/domain/entity/ExamPaper.java              |    6 
 /dev/null                                                            |  103 ------------
 src/main/resources/mapper/ExamPaperMapper.xml                        |   34 ---
 src/main/java/com/ycl/jxkg/domain/exam/PaperQuestion.java            |   16 ++
 src/main/java/com/ycl/jxkg/service/impl/ExamPaperServiceImpl.java    |  213 +++++++------------------
 13 files changed, 132 insertions(+), 304 deletions(-)

diff --git a/pom.xml b/pom.xml
index f4960a2..a3b59c0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,6 +42,11 @@
 
 
     <dependencies>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>2.0.43</version>
+        </dependency>
 
         <!-- swagger -->
         <dependency>
diff --git a/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java b/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java
index ad3a1f7..9ebfd0e 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java
@@ -5,29 +5,22 @@
 import com.ycl.jxkg.domain.entity.ExamPaper;
 import com.ycl.jxkg.domain.entity.ExamPaperQuestion;
 import com.ycl.jxkg.domain.form.ExamPaperForm;
-import com.ycl.jxkg.domain.question.TemplateQuestionDTO;
-import com.ycl.jxkg.domain.vo.admin.paper.ExamPaperQuestionVO;
-import com.ycl.jxkg.enums.ExamPaperTypeEnum;
 import com.ycl.jxkg.enums.VisibilityEnum;
 import com.ycl.jxkg.group.Add;
 import com.ycl.jxkg.group.Update;
 import com.ycl.jxkg.mapper.ExamPaperMapper;
 import com.ycl.jxkg.service.ExamPaperQuestionService;
 import com.ycl.jxkg.service.ExamPaperService;
-import com.ycl.jxkg.utils.DateTimeUtil;
-import com.ycl.jxkg.utils.PageInfoHelper;
 import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperPageRequestVO;
 import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperEditRequestVO;
 import com.ycl.jxkg.domain.vo.admin.exam.ExamResponseVO;
 import com.github.pagehelper.PageInfo;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import javax.validation.Valid;
 import java.util.Date;
 import java.util.List;
 
diff --git a/src/main/java/com/ycl/jxkg/controller/admin/ExamTemplateController.java b/src/main/java/com/ycl/jxkg/controller/admin/ExamTemplateController.java
deleted file mode 100644
index 4de12c9..0000000
--- a/src/main/java/com/ycl/jxkg/controller/admin/ExamTemplateController.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.ycl.jxkg.controller.admin;
-
-import com.ycl.jxkg.base.SystemCode;
-import com.ycl.jxkg.group.Update;
-import com.ycl.jxkg.group.Add;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.security.access.prepost.PreAuthorize;
-import lombok.RequiredArgsConstructor;
-
-import java.math.BigDecimal;
-import java.util.List;
-import org.springframework.validation.annotation.Validated;
-import javax.validation.constraints.NotEmpty;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import com.ycl.jxkg.service.ExamTemplateService;
-import com.ycl.jxkg.base.Result;
-import com.ycl.jxkg.domain.form.ExamTemplateForm;
-import com.ycl.jxkg.domain.query.ExamTemplateQuery;
-import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.*;
-
-import static com.ycl.jxkg.enums.DeductTypeEnum.EachCorrect;
-import static com.ycl.jxkg.enums.DeductTypeEnum.PartCorrect;
-
-/**
- * 闅忔満璇曞嵎妯℃澘 鍓嶇鎺у埗鍣�
- *
- * @author flq
- * @since 2024-06-05
- */
-@Validated
-@RequiredArgsConstructor
-@Api(value = "闅忔満璇曞嵎妯℃澘", tags = "闅忔満璇曞嵎妯℃澘绠$悊")
-@RestController
-@RequestMapping("/api/admin/exam-template")
-public class ExamTemplateController {
-
-    private final ExamTemplateService examTemplateService;
-    @PostMapping
-    @ApiOperation(value = "娣诲姞", notes = "娣诲姞")
-    public Result add(@RequestBody @Validated(Add.class) ExamTemplateForm form) {
-        //鍙傛暟鏍¢獙
-        if(form.getDeductType()!=null && (form.getDeductType() ==PartCorrect.getCode() || form.getDeductType() == EachCorrect.getCode()) && (form.getDeductTypeScore() ==null || form.getDeductTypeScore().compareTo(BigDecimal.ZERO) <= 0)){
-                return Result.fail(SystemCode.ParameterValidError.getCode(),"澶氶�夎瘎鍒嗕笉鑳戒负0鎴栫┖");
-        }
-        return examTemplateService.add(form);
-    }
-
-    @PutMapping
-    @ApiOperation(value = "淇敼", notes = "淇敼")
-    public Result update(@RequestBody @Validated(Update.class) ExamTemplateForm form) {
-        //鍙傛暟鏍¢獙
-        if(form.getDeductType()!=null && (form.getDeductType() ==PartCorrect.getCode() || form.getDeductType() == EachCorrect.getCode()) && (form.getDeductTypeScore() ==null || form.getDeductTypeScore().compareTo(BigDecimal.ZERO) <= 0)){
-            return Result.fail(SystemCode.ParameterValidError.getCode(),"澶氶�夎瘎鍒嗕笉鑳戒负0鎴栫┖");
-        }
-        return examTemplateService.update(form);
-    }
-
-    @DeleteMapping("/{id}")
-    @ApiOperation(value = "ID鍒犻櫎", notes = "ID鍒犻櫎")
-    public Result removeById(@PathVariable("id") String id) {
-        return examTemplateService.removeById(id);
-    }
-
-    @DeleteMapping("/batch")
-    @ApiOperation(value = "鎵归噺鍒犻櫎", notes = "鎵归噺鍒犻櫎")
-    public Result remove(@RequestBody @NotEmpty(message = "璇烽�夋嫨鏁版嵁") List<String> ids) {
-        return examTemplateService.remove(ids);
-    }
-
-    @GetMapping("/page")
-    @ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉")
-    public Result page(ExamTemplateQuery query) {
-        return examTemplateService.page(query);
-    }
-
-    @GetMapping("/{id}")
-    @ApiOperation(value = "璇︽儏", notes = "璇︽儏")
-    public Result detail(@PathVariable("id") Integer id) {
-        return examTemplateService.detail(id);
-    }
-
-    @GetMapping("/list")
-    @ApiOperation(value = "鍒楄〃", notes = "鍒楄〃")
-    public Result list() {
-        return examTemplateService.all();
-    }
-}
diff --git a/src/main/java/com/ycl/jxkg/domain/entity/ExamPaper.java b/src/main/java/com/ycl/jxkg/domain/entity/ExamPaper.java
index d5913af..af6addf 100644
--- a/src/main/java/com/ycl/jxkg/domain/entity/ExamPaper.java
+++ b/src/main/java/com/ycl/jxkg/domain/entity/ExamPaper.java
@@ -76,4 +76,10 @@
      * */
     @TableField("deduct_type_score")
     private BigDecimal deductTypeScore;
+
+    /**
+     * 澶氶�夎瘎鍒嗗垎鏁�
+     * */
+    @TableField("content")
+    private String content;
 }
diff --git a/src/main/java/com/ycl/jxkg/domain/entity/ExamTemplate.java b/src/main/java/com/ycl/jxkg/domain/entity/ExamTemplate.java
deleted file mode 100644
index a5436cb..0000000
--- a/src/main/java/com/ycl/jxkg/domain/entity/ExamTemplate.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.ycl.jxkg.domain.entity;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.ycl.jxkg.domain.base.AbsEntity;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * 闅忔満璇曞嵎妯℃澘
- *
- * @author flq
- * @since 2024-06-05
- */
-@Data
-@TableName("t_exam_template")
-public class ExamTemplate extends AbsEntity {
-
-    private static final long serialVersionUID = 1L;
-
-    @TableField("exam_paper_id")
-    /** paperId */
-    private Integer examPaperId;
-
-    @TableField("single_choice")
-    /** 鍗曢�夐鏁伴噺 */
-    private Integer singleChoice;
-
-    @TableField("multiple_choice")
-    /** 澶氶�夐鏁伴噺 */
-    private Integer multipleChoice;
-
-    @TableField("gap_filling")
-    /** 濉┖棰樻暟閲� */
-    private Integer gapFilling;
-
-    @TableField("true_false")
-    /** 鍒ゆ柇鏁伴噺 */
-    private Integer trueFalse;
-
-    @TableField("short_answer")
-    /** 绠�绛旈鏁伴噺 */
-    private Integer shortAnswer;
-
-    @TableField("calculation")
-    /** 璁$畻棰樻暟閲� */
-    private Integer calculation;
-
-    @TableField("single_score")
-    /** 鍗曢�夋瘡棰樺垎鏁� */
-    private BigDecimal singleScore;
-
-    @TableField("multiple_score")
-    /** 澶氶�夋瘡棰樺垎鏁� */
-    private BigDecimal multipleScore;
-
-    @TableField("gap_score")
-    /** 濉┖姣忛鍒嗘暟 */
-    private BigDecimal gapScore;
-
-    @TableField("true_false_score")
-    /** 鍒ゆ柇姣忛鍒嗘暟 */
-    private BigDecimal trueFalseScore;
-
-    @TableField("short_answer_score")
-    /** 绠�绛旀瘡棰樺垎鏁� */
-    private BigDecimal shortAnswerScore;
-
-    @TableField("calculation_score")
-    /** 璁$畻姣忛鍒嗘暟 */
-    private BigDecimal calculationScore;
-
-}
diff --git a/src/main/java/com/ycl/jxkg/domain/exam/ExamPaperQuestionItemObject.java b/src/main/java/com/ycl/jxkg/domain/exam/ExamPaperQuestionItemObject.java
deleted file mode 100644
index 73fc49a..0000000
--- a/src/main/java/com/ycl/jxkg/domain/exam/ExamPaperQuestionItemObject.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.ycl.jxkg.domain.exam;
-
-import lombok.Data;
-
-@Data
-public class ExamPaperQuestionItemObject {
-
-    private Integer id;
-
-    private Integer itemOrder;
-
-}
diff --git a/src/main/java/com/ycl/jxkg/domain/exam/ExamPaperTempDTO.java b/src/main/java/com/ycl/jxkg/domain/exam/ExamPaperTempDTO.java
deleted file mode 100644
index 4bb54e3..0000000
--- a/src/main/java/com/ycl/jxkg/domain/exam/ExamPaperTempDTO.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package com.ycl.jxkg.domain.exam;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ycl.jxkg.domain.base.AbsEntity;
-import com.ycl.jxkg.domain.entity.ExamTemplate;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-@Data
-public class ExamPaperTempDTO extends AbsEntity {
-    /**
-     * 璇曞嵎鍚嶇О
-     */
-    private String name;
-
-    /**
-     * 瀛︾
-     */
-    private Integer subjectId;
-
-    /**
-     * 璇曞嵎绫诲瀷( 1鍥哄畾璇曞嵎 2.闅忓嵆璇曞嵎 3.闅忓簭璇曞嵎)
-     */
-    private Integer paperType;
-
-    /**
-     * 璇曞嵎鎬诲垎
-     */
-    private BigDecimal score;
-
-    /**
-     * 棰樼洰鏁伴噺
-     */
-    private Integer questionCount;
-
-    /**
-     * 寤鸿鏃堕暱(鍒嗛挓)
-     */
-    private Integer suggestTime;
-
-    private Integer createUser;
-
-    private Date createTime;
-
-    /**
-     * 鍙鎬э紝鍏紑/绉佹湁
-     * */
-    private String visibility;
-
-    /**
-     * 澶氶�夋墸鍒嗙被鍨�
-     * */
-    private Integer deductType;
-
-    /**
-     * 澶氶�夎瘎鍒嗗垎鏁�
-     * */
-    private BigDecimal deductTypeScore;
-
-    private ExamTemplate examTemplate;
-}
diff --git a/src/main/java/com/ycl/jxkg/domain/exam/ExamPaperTitleItemObject.java b/src/main/java/com/ycl/jxkg/domain/exam/ExamPaperTitleItemObject.java
deleted file mode 100644
index 1837272..0000000
--- a/src/main/java/com/ycl/jxkg/domain/exam/ExamPaperTitleItemObject.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.ycl.jxkg.domain.exam;
-
-
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class ExamPaperTitleItemObject {
-
-    private String name;
-
-    private List<ExamPaperQuestionItemObject> questionItems;
-
-}
diff --git a/src/main/java/com/ycl/jxkg/domain/exam/PaperQuestion.java b/src/main/java/com/ycl/jxkg/domain/exam/PaperQuestion.java
new file mode 100644
index 0000000..d59d8e3
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/exam/PaperQuestion.java
@@ -0,0 +1,16 @@
+package com.ycl.jxkg.domain.exam;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class PaperQuestion {
+    //鍏宠仈棰樼洰id
+    private Integer questionId;
+    //鎺掑簭
+    private Integer order;
+    //棰樼洰鍒嗘暟
+    private BigDecimal score;
+
+}
diff --git a/src/main/java/com/ycl/jxkg/domain/exam/PaperQuestionDTO.java b/src/main/java/com/ycl/jxkg/domain/exam/PaperQuestionDTO.java
new file mode 100644
index 0000000..8a6a7fc
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/exam/PaperQuestionDTO.java
@@ -0,0 +1,20 @@
+package com.ycl.jxkg.domain.exam;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class PaperQuestionDTO {
+    //鏍囬(鍗曢�夐銆佸垽鏂)
+    private String title;
+    //棰樼洰绫诲埆
+    private Integer questionType;
+    //闅忔満璇曞嵎棰樼洰鏁伴噺
+    private Integer num;
+    //闅忔満璇曞嵎棰樼洰鍒嗘暟
+    private Integer score;
+
+    //鍥哄畾璇曞嵎銆侀殢搴忚瘯鍗烽鐩泦鍚�
+    private List<PaperQuestion> paperQuestion;
+}
diff --git a/src/main/java/com/ycl/jxkg/domain/form/ExamPaperForm.java b/src/main/java/com/ycl/jxkg/domain/form/ExamPaperForm.java
index 1055071..ef20d40 100644
--- a/src/main/java/com/ycl/jxkg/domain/form/ExamPaperForm.java
+++ b/src/main/java/com/ycl/jxkg/domain/form/ExamPaperForm.java
@@ -1,16 +1,12 @@
 package com.ycl.jxkg.domain.form;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ycl.jxkg.domain.base.AbsEntity;
 import com.ycl.jxkg.domain.base.AbsForm;
 import com.ycl.jxkg.domain.entity.ExamPaper;
-import com.ycl.jxkg.domain.entity.ExamTemplate;
-import com.ycl.jxkg.domain.question.TemplateQuestionDTO;
+import com.ycl.jxkg.domain.exam.PaperQuestionDTO;
 import com.ycl.jxkg.group.Add;
 import com.ycl.jxkg.group.Update;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.beans.BeanUtils;
 import org.springframework.lang.NonNull;
@@ -81,9 +77,9 @@
     private BigDecimal deductTypeScore;
 
     /**
-     * 棰樼洰妯℃澘
+     * 棰樼洰閰嶇疆
      * */
-    private List<TemplateQuestionDTO> questionList;
+    private List<PaperQuestionDTO> questionList;
 
     public static ExamPaper getEntityByForm(@NonNull ExamPaperForm form, ExamPaper entity) {
         if(entity == null) {
diff --git a/src/main/java/com/ycl/jxkg/domain/form/ExamTemplateForm.java b/src/main/java/com/ycl/jxkg/domain/form/ExamTemplateForm.java
deleted file mode 100644
index 65c4972..0000000
--- a/src/main/java/com/ycl/jxkg/domain/form/ExamTemplateForm.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.ycl.jxkg.domain.form;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ycl.jxkg.domain.base.AbsForm;
-import com.ycl.jxkg.domain.entity.ExamTemplate;
-import com.ycl.jxkg.domain.question.TemplateQuestionDTO;
-import com.ycl.jxkg.group.Add;
-import com.ycl.jxkg.group.Update;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import org.springframework.beans.BeanUtils;
-import org.springframework.lang.NonNull;
-
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-
-/**
- * 闅忔満璇曞嵎妯℃澘琛ㄥ崟
- *
- * @author flq
- * @since 2024-06-05
- */
-@Data
-@ApiModel(value = "ExamTemplate琛ㄥ崟", description = "闅忔満璇曞嵎妯℃澘琛ㄥ崟")
-public class ExamTemplateForm extends AbsForm {
-
-    @NotBlank(message = "妯℃澘鍚嶄笉鑳戒负绌�", groups = {Add.class, Update.class})
-    @ApiModelProperty("妯℃澘鍚�")
-    private String name;
-
-    @NotNull (message = "瀛︾id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
-    @ApiModelProperty("瀛︾id")
-    private Integer subjectId;
-
-    @ApiModelProperty("鎬诲垎")
-    private BigDecimal score;
-
-    @ApiModelProperty("鏄惁绉佹湁")
-    private String visibility;
-
-    @Min(value = 1,message = "寤鸿鏃堕棿蹇呴』澶т簬0",groups = {Add.class, Update.class})
-    @ApiModelProperty("寤鸿鏃堕棿")
-    private Integer suggestTime;
-
-    @ApiModelProperty("澶氶�夋墸鍒嗙被鍨�")
-    private Integer deductType;
-
-    @ApiModelProperty("澶氶�夋墸鍒�")
-    private BigDecimal deductTypeScore;
-
-    @ApiModelProperty("棰樼洰妯℃澘")
-    private List<TemplateQuestionDTO> questionList;
-
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:dd")
-    private Date createTime;
-    private Integer createUser;
-    public static ExamTemplate getEntityByForm(@NonNull ExamTemplateForm form, ExamTemplate entity) {
-        if(entity == null) {
-          entity = new ExamTemplate();
-        }
-        BeanUtils.copyProperties(form, entity);
-        return entity;
-    }
-
-}
diff --git a/src/main/java/com/ycl/jxkg/domain/question/TemplateQuestionDTO.java b/src/main/java/com/ycl/jxkg/domain/question/TemplateQuestionDTO.java
deleted file mode 100644
index 119a35c..0000000
--- a/src/main/java/com/ycl/jxkg/domain/question/TemplateQuestionDTO.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.ycl.jxkg.domain.question;
-
-import lombok.Data;
-
-import java.math.BigDecimal;
-@Data
-public class TemplateQuestionDTO {
-    private Integer questionType;
-    private Integer num;
-    private BigDecimal score;
-}
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/ExamTemplateVO.java b/src/main/java/com/ycl/jxkg/domain/vo/ExamTemplateVO.java
deleted file mode 100644
index d5ac1b7..0000000
--- a/src/main/java/com/ycl/jxkg/domain/vo/ExamTemplateVO.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.ycl.jxkg.domain.vo;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ycl.jxkg.domain.base.AbsVo;
-import com.ycl.jxkg.domain.entity.ExamTemplate;
-
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-
-import com.ycl.jxkg.domain.question.TemplateQuestionDTO;
-import org.springframework.lang.NonNull;
-import org.springframework.beans.BeanUtils;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
- * 闅忔満璇曞嵎妯℃澘灞曠ず
- *
- * @author flq
- * @since 2024-06-05
- */
-@Data
-public class ExamTemplateVO extends AbsVo {
-
-    /** 妯℃澘鍚� */
-    private String name;
-
-    /** 瀛︾id */
-    private Integer subjectId;
-
-    /** 鎬诲垎 */
-    private BigDecimal score;
-
-    /** 鏄惁绉佹湁 */
-    private String visibility;
-
-    /** 寤鸿鏃堕棿 */
-    private Integer suggestTime;
-
-    /** 澶氶�夋墸鍒嗙被鍨� */
-    private Integer deductType;
-
-    /** 澶氶�夎瘎鍒� */
-    private BigDecimal deductTypeScore;
-
-    /** 棰樼洰閰嶇疆 */
-    private List<TemplateQuestionDTO> questionList;
-
-    /**  */
-    private Integer createUser;
-
-    /**  */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date createTime;
-
-    public static ExamTemplateVO getVoByEntity(@NonNull ExamTemplate entity, ExamTemplateVO vo) {
-        if(vo == null) {
-            vo = new ExamTemplateVO();
-        }
-        BeanUtils.copyProperties(entity, vo);
-        return vo;
-    }
-
-}
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamResponseVO.java b/src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamResponseVO.java
index 3fcc2b5..e088e72 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamResponseVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamResponseVO.java
@@ -1,11 +1,10 @@
 package com.ycl.jxkg.domain.vo.admin.exam;
 
 
-import com.ycl.jxkg.domain.question.TemplateQuestionDTO;
+import com.ycl.jxkg.domain.exam.PaperQuestionDTO;
 import lombok.Data;
 
 import java.math.BigDecimal;
-import java.util.Date;
 import java.util.List;
 
 @Data
@@ -35,5 +34,5 @@
 
     private String visibility;
 
-    private List<TemplateQuestionDTO> questionList;
+    private List<PaperQuestionDTO> questionList;
 }
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamTemplateVO.java b/src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamTemplateVO.java
deleted file mode 100644
index 68a94eb..0000000
--- a/src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamTemplateVO.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.ycl.jxkg.domain.vo.admin.exam;
-
-import com.ycl.jxkg.domain.base.AbsVo;
-import com.ycl.jxkg.domain.entity.ExamTemplate;
-import lombok.Data;
-import org.springframework.beans.BeanUtils;
-import org.springframework.lang.NonNull;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * 闅忔満璇曞嵎妯℃澘灞曠ず
- *
- * @author 寮�鍙戜汉鍛樺悕瀛�
- * @since 2024-06-03
- */
-@Data
-public class ExamTemplateVO extends AbsVo {
-
-    /** 璇曞嵎id */
-    private Integer examPaperId;
-
-    /** 鍗曢�夐鏁伴噺 */
-    private Integer singleChoice;
-
-    /** 澶氶�夐鏁伴噺 */
-    private Integer multipleChoice;
-
-    /** 濉┖棰樻暟閲� */
-    private Integer gapFilling;
-
-    /** 鍒ゆ柇鏁伴噺 */
-    private Integer trueFalse;
-
-    /** 绠�绛旈鏁伴噺 */
-    private Integer shortAnswer;
-
-    /** 璁$畻棰樻暟閲� */
-    private Integer calculation;
-
-    /** 鍗曢�夋瘡棰樺垎鏁� */
-    private BigDecimal singleScore;
-
-    /** 澶氶�夋瘡棰樺垎鏁� */
-    private BigDecimal multipleScore;
-
-    /** 濉┖姣忛鍒嗘暟 */
-    private BigDecimal gapScore;
-
-    /** 鍒ゆ柇姣忛鍒嗘暟 */
-    private BigDecimal trueFalseScore;
-
-    /** 绠�绛旀瘡棰樺垎鏁� */
-    private BigDecimal shortAnswerScore;
-
-    /** 璁$畻姣忛鍒嗘暟 */
-    private BigDecimal calculationScore;
-
-    public static ExamTemplateVO getVoByEntity(@NonNull ExamTemplate entity, ExamTemplateVO vo) {
-        if(vo == null) {
-            vo = new ExamTemplateVO();
-        }
-        BeanUtils.copyProperties(entity, vo);
-        return vo;
-    }
-
-}
diff --git a/src/main/java/com/ycl/jxkg/mapper/ExamPaperMapper.java b/src/main/java/com/ycl/jxkg/mapper/ExamPaperMapper.java
index 7e1b995..e804abf 100644
--- a/src/main/java/com/ycl/jxkg/mapper/ExamPaperMapper.java
+++ b/src/main/java/com/ycl/jxkg/mapper/ExamPaperMapper.java
@@ -2,7 +2,6 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ycl.jxkg.domain.entity.ExamPaper;
-import com.ycl.jxkg.domain.exam.ExamPaperTempDTO;
 import com.ycl.jxkg.domain.other.KeyValue;
 import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperPageRequestVO;
 import com.ycl.jxkg.domain.vo.student.dashboard.PaperFilter;
@@ -17,7 +16,7 @@
 @Mapper
 public interface ExamPaperMapper extends BaseMapper<ExamPaper> {
 
-    List<ExamPaperTempDTO> page(ExamPaperPageRequestVO requestVM);
+    List<ExamPaper> page(ExamPaperPageRequestVO requestVM);
 
     List<ExamPaper> taskExamPage(ExamPaperPageRequestVO requestVM);
 
diff --git a/src/main/java/com/ycl/jxkg/mapper/ExamTemplateMapper.java b/src/main/java/com/ycl/jxkg/mapper/ExamTemplateMapper.java
deleted file mode 100644
index 5319d2e..0000000
--- a/src/main/java/com/ycl/jxkg/mapper/ExamTemplateMapper.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.ycl.jxkg.mapper;
-
-import com.ycl.jxkg.domain.entity.ExamTemplate;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ycl.jxkg.domain.query.ExamTemplateQuery;
-import com.ycl.jxkg.domain.vo.ExamTemplateVO;
-import com.ycl.jxkg.domain.form.ExamTemplateForm;
-import java.util.List;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-/**
- * 闅忔満璇曞嵎妯℃澘 Mapper 鎺ュ彛
- *
- * @author flq
- * @since 2024-06-05
- */
-@Mapper
-public interface ExamTemplateMapper extends BaseMapper<ExamTemplate> {
-
-    /**
-     * id鏌ユ壘闅忔満璇曞嵎妯℃澘
-     * @param id
-     * @return
-     */
-    ExamTemplateVO getById(Integer id);
-
-    /**
-    *  鍒嗛〉
-    */
-    IPage getPage(IPage page, @Param("query") ExamTemplateQuery query);
-
-    void removeById(Integer id);
-}
diff --git a/src/main/java/com/ycl/jxkg/service/ExamPaperService.java b/src/main/java/com/ycl/jxkg/service/ExamPaperService.java
index 9786fe4..5accef0 100644
--- a/src/main/java/com/ycl/jxkg/service/ExamPaperService.java
+++ b/src/main/java/com/ycl/jxkg/service/ExamPaperService.java
@@ -18,11 +18,11 @@
 
     PageInfo<ExamResponseVO> page(ExamPaperPageRequestVO requestVM);
 
-    PageInfo<ExamPaper> taskExamPage(ExamPaperPageRequestVO requestVM);
+//    PageInfo<ExamPaper> taskExamPage(ExamPaperPageRequestVO requestVM);
 
     PageInfo<ExamPaper> studentPage(ExamPaperPageVO requestVM);
 
-    ExamPaper savePaperFromVM(ExamPaperEditRequestVO examPaperEditRequestVO, User user);
+//    ExamPaper savePaperFromVM(ExamPaperEditRequestVO examPaperEditRequestVO, User user);
 
     ExamPaperEditRequestVO examPaperToVM(Integer id);
 
diff --git a/src/main/java/com/ycl/jxkg/service/ExamTemplateService.java b/src/main/java/com/ycl/jxkg/service/ExamTemplateService.java
deleted file mode 100644
index cf61604..0000000
--- a/src/main/java/com/ycl/jxkg/service/ExamTemplateService.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.ycl.jxkg.service;
-
-import com.ycl.jxkg.domain.entity.ExamTemplate;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.ycl.jxkg.base.Result;
-import com.ycl.jxkg.domain.form.ExamTemplateForm;
-import com.ycl.jxkg.domain.query.ExamTemplateQuery;
-import java.util.List;
-
-/**
- * 闅忔満璇曞嵎妯℃澘 鏈嶅姟绫�
- *
- * @author flq
- * @since 2024-06-05
- */
-public interface ExamTemplateService extends IService<ExamTemplate> {
-
-    /**
-     * 娣诲姞
-     * @param form
-     * @return
-     */
-    Result add(ExamTemplateForm form);
-
-    /**
-     * 淇敼
-     * @param form
-     * @return
-     */
-    Result update(ExamTemplateForm form);
-
-    /**
-     * 鎵归噺鍒犻櫎
-     * @param ids
-     * @return
-     */
-    Result remove(List<String> ids);
-
-    /**
-     * id鍒犻櫎
-     * @param id
-     * @return
-     */
-    Result removeById(String id);
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     * @param query
-     * @return
-     */
-    Result page(ExamTemplateQuery query);
-
-    /**
-     * 鏍规嵁id鏌ユ壘
-     * @param id
-     * @return
-     */
-    Result detail(Integer id);
-
-    /**
-     * 鍒楄〃
-     * @return
-     */
-    Result all();
-}
diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamPaperServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamPaperServiceImpl.java
index 4da4b71..b74394d 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamPaperServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamPaperServiceImpl.java
@@ -1,32 +1,24 @@
 package com.ycl.jxkg.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson2.JSONArray;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ycl.jxkg.domain.entity.ExamTemplate;
 import com.ycl.jxkg.context.WebContext;
-import com.ycl.jxkg.domain.entity.TextContent;
-import com.ycl.jxkg.domain.exam.ExamPaperTempDTO;
+import com.ycl.jxkg.domain.exam.PaperQuestion;
+import com.ycl.jxkg.domain.exam.PaperQuestionDTO;
 import com.ycl.jxkg.domain.form.ExamPaperForm;
-import com.ycl.jxkg.domain.question.TemplateQuestionDTO;
 import com.ycl.jxkg.domain.vo.admin.exam.ExamResponseVO;
 import com.ycl.jxkg.enums.ExamPaperTypeEnum;
-import com.ycl.jxkg.domain.exam.ExamPaperQuestionItemObject;
-import com.ycl.jxkg.domain.exam.ExamPaperTitleItemObject;
 import com.ycl.jxkg.domain.other.KeyValue;
-import com.ycl.jxkg.enums.QuestionTypeEnum;
-import com.ycl.jxkg.enums.VisibilityEnum;
 import com.ycl.jxkg.enums.VisibilityEnum;
 import com.ycl.jxkg.mapper.ExamPaperMapper;
-import com.ycl.jxkg.mapper.ExamTemplateMapper;
 import com.ycl.jxkg.mapper.QuestionMapper;
 import com.ycl.jxkg.service.ExamPaperService;
 import com.ycl.jxkg.service.QuestionService;
 import com.ycl.jxkg.service.SubjectService;
 import com.ycl.jxkg.service.TextContentService;
-import com.ycl.jxkg.service.enums.ActionEnum;
 import com.ycl.jxkg.utils.DateTimeUtil;
-import com.ycl.jxkg.utils.JsonUtil;
 import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperEditRequestVO;
 import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperPageRequestVO;
 import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperTitleItemVO;
@@ -36,19 +28,15 @@
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.ycl.jxkg.domain.entity.ExamPaper;
-import com.ycl.jxkg.domain.entity.User;
 import com.ycl.jxkg.utils.PageInfoHelper;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.math.BigDecimal;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
-import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
 @Service
@@ -60,7 +48,6 @@
     private final TextContentService textContentService;
     private final QuestionService questionService;
     private final SubjectService subjectService;
-    private final ExamTemplateMapper examTemplateMapper;
     private final WebContext webContext;
 
 
@@ -68,118 +55,42 @@
     @Transactional(rollbackFor = Exception.class)
     public void addPaper(ExamPaperForm form) {
         ExamPaper examPaper = ExamPaperForm.getEntityByForm(form,null);
+        examPaper.setContent(JSON.toJSONString(form.getQuestionList()));
         baseMapper.insert(examPaper);
-        if(ExamPaperTypeEnum.Random.getCode().equals(form.getPaperType())){
-            ExamTemplate examTemplate = getExamTemplate(form, examPaper);
-            examTemplateMapper.insert(examTemplate);
-            baseMapper.updateById(examPaper);
-        }
         //TODO:闅忓簭璇曞嵎鐢熸垚棰樼洰
-
-    }
-
-    private ExamTemplate getExamTemplate(ExamPaperForm form, ExamPaper examPaper) {
-        //闅忔満璇曞嵎瀛樻ā鏉�
-        List<TemplateQuestionDTO> questionList = form.getQuestionList();
-        BigDecimal score = BigDecimal.ZERO;
-        Integer num=0;
-        ExamTemplate examTemplate = new ExamTemplate();
-        //璁剧疆棰樼洰淇℃伅
-        for (TemplateQuestionDTO dto : questionList) {
-            num += dto.getNum();
-            score = score.add(dto.getScore().multiply(BigDecimal.valueOf(dto.getNum())));
-            Integer questionType = dto.getQuestionType();
-            //鏁寸悊List涓哄璞�
-            switch (QuestionTypeEnum.fromCode(questionType)){
-                //鍗曢��
-                case SingleChoice:
-                    examTemplate.setSingleChoice(dto.getNum());
-                    examTemplate.setSingleScore(dto.getScore());
-                    break;
-                //澶氶��
-                case MultipleChoice:
-                    examTemplate.setMultipleChoice(dto.getNum());
-                    examTemplate.setMultipleScore(dto.getScore());
-                    break;
-                //鍒ゆ柇
-                case TrueFalse:
-                    examTemplate.setTrueFalse(dto.getNum());
-                    examTemplate.setTrueFalseScore(dto.getScore());
-                    break;
-                //濉┖
-                case GapFilling:
-                    examTemplate.setGapFilling(dto.getNum());
-                    examTemplate.setGapScore(dto.getScore());
-                    break;
-                //绠�绛�
-                case ShortAnswer:
-                    examTemplate.setShortAnswer(dto.getNum());
-                    examTemplate.setShortAnswerScore(dto.getScore());
-                    break;
-                //璁$畻
-                case Calculation:
-                    examTemplate.setCalculation(dto.getNum());
-                    examTemplate.setCalculationScore(dto.getScore());
-                    break;
-            }
-        }
-        examTemplate.setExamPaperId(examPaper.getId());
-        //鍥炲~
-        examPaper.setQuestionCount(num);
-        examPaper.setScore(score);
-        return examTemplate;
+//        if(ExamPaperTypeEnum.RandomOrder.getCode().equals(form.getPaperType())){
+//            List<PaperQuestionDTO> questionList = form.getQuestionList();
+//            List<PaperQuestion> list = questionMapper.selectQuestion();
+//        }
     }
 
     @Override
     public void updateExamPaper(ExamPaperForm form) {
         ExamPaper entity = ExamPaperForm.getEntityByForm(form,null);
-        //濡傛灉鏄殢鏈鸿瘯鍗蜂慨鏀箃emplate琛�
-        if(ExamPaperTypeEnum.Random.getCode().equals(form.getPaperType())){
-            ExamTemplate examTemplate = getExamTemplate(form, entity);
-            examTemplateMapper.removeById(form.getId());
-            examTemplateMapper.insert(examTemplate);
-        }
         baseMapper.updateById(entity);
     }
 
     @Override
     public PageInfo<ExamResponseVO> page(ExamPaperPageRequestVO requestVM) {
-        PageInfo<ExamPaperTempDTO> page = PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() ->
+        PageInfo<ExamPaper> page = PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() ->
                 examPaperMapper.page(requestVM));
         PageInfo<ExamResponseVO> pageVO = PageInfoHelper.copyMap(page, e -> {
             ExamResponseVO vo = new ExamResponseVO();
             BeanUtils.copyProperties(e, vo);
             vo.setVisibility(VisibilityEnum.valueOf(vo.getVisibility()).getCode() + "");
             vo.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime()));
-            if(ExamPaperTypeEnum.Random.getCode().equals(e.getPaperType())) {
-                //鏁寸悊棰樼洰淇℃伅涓洪泦鍚�
-                ExamTemplate examTemplate = e.getExamTemplate();
-                List<TemplateQuestionDTO> questionList = new ArrayList<>();
-                addQuestionList(questionList, QuestionTypeEnum.SingleChoice.getCode(), examTemplate.getSingleScore(), examTemplate.getSingleChoice());
-                addQuestionList(questionList, QuestionTypeEnum.MultipleChoice.getCode(), examTemplate.getMultipleScore(), examTemplate.getMultipleChoice());
-                addQuestionList(questionList, QuestionTypeEnum.TrueFalse.getCode(), examTemplate.getTrueFalseScore(), examTemplate.getTrueFalse());
-                addQuestionList(questionList, QuestionTypeEnum.GapFilling.getCode(), examTemplate.getGapScore(), examTemplate.getGapFilling());
-                addQuestionList(questionList, QuestionTypeEnum.ShortAnswer.getCode(), examTemplate.getShortAnswerScore(), examTemplate.getShortAnswer());
-                addQuestionList(questionList, QuestionTypeEnum.Calculation.getCode(), examTemplate.getCalculationScore(), examTemplate.getCalculation());
-                vo.setQuestionList(questionList);
-            }
+            vo.setQuestionList(JSONArray.parseArray(e.getContent(),PaperQuestionDTO.class));
             return vo;
         });
         return pageVO;
     }
 
-    private void addQuestionList(List<TemplateQuestionDTO> questionList, Integer code,BigDecimal score,Integer num) {
-        TemplateQuestionDTO questionDTO = new TemplateQuestionDTO();
-        questionDTO.setQuestionType(code);
-        questionDTO.setScore(score);
-        questionDTO.setNum(num);
-        questionList.add(questionDTO);
-    }
-    @Override
-    public PageInfo<ExamPaper> taskExamPage(ExamPaperPageRequestVO requestVM) {
-        return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() ->
-                examPaperMapper.taskExamPage(requestVM));
-    }
+
+//    @Override
+//    public PageInfo<ExamPaper> taskExamPage(ExamPaperPageRequestVO requestVM) {
+//        return PageHelper.startPage(requestVM.getPageIndex(), requestVM.getPageSize(), "id desc").doSelectPageInfo(() ->
+//                examPaperMapper.taskExamPage(requestVM));
+//    }
 
     @Override
     public PageInfo<ExamPaper> studentPage(ExamPaperPageVO requestVM) {
@@ -188,37 +99,37 @@
     }
 
 
-    @Override
-    @Transactional
-    public ExamPaper savePaperFromVM(ExamPaperEditRequestVO examPaperEditRequestVO, User user) {
-        ActionEnum actionEnum = (examPaperEditRequestVO.getId() == null) ? ActionEnum.ADD : ActionEnum.UPDATE;
-        Date now = new Date();
-        List<ExamPaperTitleItemVO> titleItemsVM = examPaperEditRequestVO.getTitleItems();
-        List<ExamPaperTitleItemObject> frameTextContentList = frameTextContentFromVM(titleItemsVM);
-        String frameTextContentStr = JsonUtil.toJsonStr(frameTextContentList);
-
-        ExamPaper examPaper = new ExamPaper();
-        BeanUtils.copyProperties(examPaperEditRequestVO, examPaper);
-        if (actionEnum == ActionEnum.ADD) {
-            TextContent frameTextContent = new TextContent();
-            frameTextContent.setContent(frameTextContentStr);
-            frameTextContent.setCreateTime(now);
-            textContentService.save(frameTextContent);
-            examPaper.setCreateTime(now);
-            examPaper.setCreateUser(user.getId());
-            examPaperFromVM(examPaperEditRequestVO, examPaper, titleItemsVM);
-            examPaperMapper.insert(examPaper);
-        } else {
-            examPaper = examPaperMapper.selectById(examPaperEditRequestVO.getId());
-            //TODO:
+//    @Override
+//    @Transactional
+//    public ExamPaper savePaperFromVM(ExamPaperEditRequestVO examPaperEditRequestVO, User user) {
+//        ActionEnum actionEnum = (examPaperEditRequestVO.getId() == null) ? ActionEnum.ADD : ActionEnum.UPDATE;
+//        Date now = new Date();
+//        List<ExamPaperTitleItemVO> titleItemsVM = examPaperEditRequestVO.getTitleItems();
+//        List<ExamPaperTitleItemObject> frameTextContentList = frameTextContentFromVM(titleItemsVM);
+//        String frameTextContentStr = JsonUtil.toJsonStr(frameTextContentList);
+//
+//        ExamPaper examPaper = new ExamPaper();
+//        BeanUtils.copyProperties(examPaperEditRequestVO, examPaper);
+//        if (actionEnum == ActionEnum.ADD) {
+//            TextContent frameTextContent = new TextContent();
+//            frameTextContent.setContent(frameTextContentStr);
+//            frameTextContent.setCreateTime(now);
+//            textContentService.save(frameTextContent);
+//            examPaper.setCreateTime(now);
+//            examPaper.setCreateUser(user.getId());
+//            examPaperFromVM(examPaperEditRequestVO, examPaper, titleItemsVM);
+//            examPaperMapper.insert(examPaper);
+//        } else {
+//            examPaper = examPaperMapper.selectById(examPaperEditRequestVO.getId());
+//          //TODO:
 //            TextContent frameTextContent = textContentService.getById(examPaper.getFrameTextContentId());
 //            frameTextContent.setContent(frameTextContentStr);
 //            textContentService.updateById(frameTextContent);
-            examPaperFromVM(examPaperEditRequestVO, examPaper, titleItemsVM);
-            examPaperMapper.updateById(examPaper);
-        }
-        return examPaper;
-    }
+//            examPaperFromVM(examPaperEditRequestVO, examPaper, titleItemsVM);
+//            examPaperMapper.updateById(examPaper);
+//        }
+//        return examPaper;
+//    }
 
     @Override
     public ExamPaperEditRequestVO examPaperToVM(Integer id) {
@@ -298,23 +209,23 @@
 //        }
     }
 
-    private List<ExamPaperTitleItemObject> frameTextContentFromVM(List<ExamPaperTitleItemVO> titleItems) {
-        AtomicInteger index = new AtomicInteger(1);
-        return titleItems.stream().map(t -> {
-            ExamPaperTitleItemObject titleItem = new ExamPaperTitleItemObject();
-            BeanUtils.copyProperties(t, titleItem);
-            List<ExamPaperQuestionItemObject> questionItems = t.getQuestionItems().stream()
-                    .map(q -> {
-                        ExamPaperQuestionItemObject examPaperQuestionItemObject = new ExamPaperQuestionItemObject();
-                        BeanUtils.copyProperties(q, examPaperQuestionItemObject);
-                        examPaperQuestionItemObject.setItemOrder(index.getAndIncrement());
-                        return examPaperQuestionItemObject;
-                    })
-                    .collect(Collectors.toList());
-            titleItem.setQuestionItems(questionItems);
-            return titleItem;
-        }).collect(Collectors.toList());
-    }
+//    private List<ExamPaperTitleItemObject> frameTextContentFromVM(List<ExamPaperTitleItemVO> titleItems) {
+//        AtomicInteger index = new AtomicInteger(1);
+//        return titleItems.stream().map(t -> {
+//            ExamPaperTitleItemObject titleItem = new ExamPaperTitleItemObject();
+//            BeanUtils.copyProperties(t, titleItem);
+//            List<ExamPaperQuestionItemObject> questionItems = t.getQuestionItems().stream()
+//                    .map(q -> {
+//                        ExamPaperQuestionItemObject examPaperQuestionItemObject = new ExamPaperQuestionItemObject();
+//                        BeanUtils.copyProperties(q, examPaperQuestionItemObject);
+//                        examPaperQuestionItemObject.setItemOrder(index.getAndIncrement());
+//                        return examPaperQuestionItemObject;
+//                    })
+//                    .collect(Collectors.toList());
+//            titleItem.setQuestionItems(questionItems);
+//            return titleItem;
+//        }).collect(Collectors.toList());
+//    }
 
     @Override
     public List<ExamPaper> myExamPaper(Integer paperType) {
diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamTemplateServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamTemplateServiceImpl.java
deleted file mode 100644
index 695db7e..0000000
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamTemplateServiceImpl.java
+++ /dev/null
@@ -1,251 +0,0 @@
-package com.ycl.jxkg.service.impl;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.ycl.jxkg.context.WebContext;
-import com.ycl.jxkg.domain.entity.ExamTemplate;
-import com.ycl.jxkg.domain.entity.User;
-import com.ycl.jxkg.domain.question.TemplateQuestionDTO;
-import com.ycl.jxkg.enums.QuestionTypeEnum;
-import com.ycl.jxkg.enums.VisibilityEnum;
-import com.ycl.jxkg.mapper.ExamTemplateMapper;
-import com.ycl.jxkg.service.ExamTemplateService;
-import com.ycl.jxkg.base.Result;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ycl.jxkg.domain.form.ExamTemplateForm;
-import com.ycl.jxkg.domain.vo.ExamTemplateVO;
-import com.ycl.jxkg.domain.query.ExamTemplateQuery;
-import io.swagger.models.auth.In;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.context.SecurityContext;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.stereotype.Service;
-import lombok.RequiredArgsConstructor;
-import com.ycl.jxkg.utils.PageUtil;
-import org.springframework.beans.BeanUtils;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.Assert;
-import org.springframework.util.StringUtils;
-
-import java.math.BigDecimal;
-import java.security.Security;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * 闅忔満璇曞嵎妯℃澘 鏈嶅姟瀹炵幇绫�
- *
- * @author flq
- * @since 2024-06-05
- */
-@Service
-@RequiredArgsConstructor
-public class ExamTemplateServiceImpl extends ServiceImpl<ExamTemplateMapper, ExamTemplate> implements ExamTemplateService {
-
-    @Autowired
-    protected WebContext webContext;
-
-    private final ExamTemplateMapper examTemplateMapper;
-
-    /**
-     * 娣诲姞
-     * @param form
-     * @return
-     */
-    @Override
-    public Result add(ExamTemplateForm form) {
-//        ExamTemplate entity = ExamTemplateForm.getEntityByForm(form, null);
-//        User currentUser = webContext.getCurrentUser();
-//        entity.setCreateUser(currentUser.getId());
-//        entity.setCreateTime(new Date());
-//        if(!StringUtils.isEmpty(entity.getVisibility())) {
-//            entity.setVisibility(VisibilityEnum.fromCode(entity.getVisibility()).getName());
-//        }
-//        List<TemplateQuestionDTO> questionList = form.getQuestionList();
-//        BigDecimal score = BigDecimal.ZERO;
-//        //璁剧疆棰樼洰淇℃伅
-//        for (TemplateQuestionDTO dto : questionList) {
-//            score = score.add(dto.getScore().multiply(BigDecimal.valueOf(dto.getNum())));
-//            Integer questionType = dto.getQuestionType();
-//            switch (QuestionTypeEnum.fromCode(questionType)){
-//                //鍗曢��
-//                case SingleChoice:
-//                    entity.setSingleChoice(dto.getNum());
-//                    entity.setSingleScore(dto.getScore());
-//                    break;
-//                //澶氶��
-//                case MultipleChoice:
-//                    entity.setMultipleChoice(dto.getNum());
-//                    entity.setMultipleScore(dto.getScore());
-//                    break;
-//                //鍒ゆ柇
-//                case TrueFalse:
-//                    entity.setTrueFalse(dto.getNum());
-//                    entity.setTrueFalseScore(dto.getScore());
-//                    break;
-//                //濉┖
-//                case GapFilling:
-//                    entity.setGapFilling(dto.getNum());
-//                    entity.setGapScore(dto.getScore());
-//                    break;
-//                //绠�绛�
-//                case ShortAnswer:
-//                    entity.setShortAnswer(dto.getNum());
-//                    entity.setShortAnswerScore(dto.getScore());
-//                    break;
-//                //璁$畻
-//                case Calculation:
-//                    entity.setCalculation(dto.getNum());
-//                    entity.setCalculationScore(dto.getScore());
-//                    break;
-//            }
-//        }
-//        entity.setScore(score);
-//        baseMapper.insert(entity);
-        return Result.ok("娣诲姞鎴愬姛");
-    }
-
-    /**
-     * 淇敼
-     * @param form
-     * @return
-     */
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public Result update(ExamTemplateForm form) {
-//        ExamTemplate entity = ExamTemplateForm.getEntityByForm(form, null);
-//        if(!StringUtils.isEmpty(entity.getVisibility())) {
-//            entity.setVisibility(VisibilityEnum.fromCode(entity.getVisibility()).getName());
-//        }
-//        List<TemplateQuestionDTO> questionList = form.getQuestionList();
-//        BigDecimal score = BigDecimal.ZERO;
-//        //璁剧疆棰樼洰淇℃伅
-//        for (TemplateQuestionDTO dto : questionList) {
-//            score = score.add(dto.getScore().multiply(BigDecimal.valueOf(dto.getNum())));
-//            Integer questionType = dto.getQuestionType();
-//            switch (QuestionTypeEnum.fromCode(questionType)){
-//                //鍗曢��
-//                case SingleChoice:
-//                    entity.setSingleChoice(dto.getNum());
-//                    entity.setSingleScore(dto.getScore());
-//                    break;
-//                //澶氶��
-//                case MultipleChoice:
-//                    entity.setMultipleChoice(dto.getNum());
-//                    entity.setMultipleScore(dto.getScore());
-//                    break;
-//                //鍒ゆ柇
-//                case TrueFalse:
-//                    entity.setTrueFalse(dto.getNum());
-//                    entity.setTrueFalseScore(dto.getScore());
-//                    break;
-//                //濉┖
-//                case GapFilling:
-//                    entity.setGapFilling(dto.getNum());
-//                    entity.setGapScore(dto.getScore());
-//                    break;
-//                //绠�绛�
-//                case ShortAnswer:
-//                    entity.setShortAnswer(dto.getNum());
-//                    entity.setShortAnswerScore(dto.getScore());
-//                    break;
-//                //璁$畻
-//                case Calculation:
-//                    entity.setCalculation(dto.getNum());
-//                    entity.setCalculationScore(dto.getScore());
-//                    break;
-//            }
-//        }
-//        entity.setScore(score);
-//        examTemplateMapper.removeById(entity.getId());
-//        baseMapper.insert(entity);
-       return Result.ok("淇敼鎴愬姛");
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎
-     * @param ids
-     * @return
-     */
-    @Override
-    public Result remove(List<String> ids) {
-        baseMapper.deleteBatchIds(ids);
-        return Result.ok("鍒犻櫎鎴愬姛");
-    }
-
-    /**
-     * id鍒犻櫎
-     * @param id
-     * @return
-     */
-    @Override
-    public Result removeById(String id) {
-        baseMapper.deleteById(id);
-        return Result.ok("鍒犻櫎鎴愬姛");
-    }
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     * @param query
-     * @return
-     */
-    @Override
-    public Result page(ExamTemplateQuery query) {
-        IPage<ExamTemplate> page = PageUtil.getPage(query, ExamTemplate.class);
-        baseMapper.getPage(page, query);
-        List<ExamTemplate> records = page.getRecords();
-        List<ExamTemplateVO> vos = new ArrayList<>();
-        for (ExamTemplate examTemplate : records) {
-//            ExamTemplateVO vo = new ExamTemplateVO();
-//            BeanUtils.copyProperties(examTemplate,vo);
-//            String visibility = vo.getVisibility();
-//            vo.setVisibility(VisibilityEnum.valueOf(visibility).getCode()+"");
-//            //鏁寸悊棰樼洰淇℃伅涓洪泦鍚�
-//            List<TemplateQuestionDTO> questionList = new ArrayList<>();
-//            addQuestionList(questionList,QuestionTypeEnum.SingleChoice.getCode(),examTemplate.getSingleScore(),examTemplate.getSingleChoice());
-//            addQuestionList(questionList,QuestionTypeEnum.MultipleChoice.getCode(),examTemplate.getMultipleScore(),examTemplate.getMultipleChoice());
-//            addQuestionList(questionList,QuestionTypeEnum.TrueFalse.getCode(),examTemplate.getTrueFalseScore(),examTemplate.getTrueFalse());
-//            addQuestionList(questionList,QuestionTypeEnum.GapFilling.getCode(),examTemplate.getGapScore(),examTemplate.getGapFilling());
-//            addQuestionList(questionList,QuestionTypeEnum.ShortAnswer.getCode(),examTemplate.getShortAnswerScore(),examTemplate.getShortAnswer());
-//            addQuestionList(questionList,QuestionTypeEnum.Calculation.getCode(),examTemplate.getCalculationScore(),examTemplate.getCalculation());
-//            vo.setQuestionList(questionList);
-//            vos.add(vo);
-        }
-        return Result.ok().data(vos).total(page.getTotal());
-    }
-
-    private void addQuestionList(List<TemplateQuestionDTO> questionList, Integer code,BigDecimal score,Integer num) {
-        TemplateQuestionDTO questionDTO = new TemplateQuestionDTO();
-        questionDTO.setQuestionType(code);
-        questionDTO.setScore(score);
-        questionDTO.setNum(num);
-        questionList.add(questionDTO);
-    }
-
-    /**
-     * 鏍规嵁id鏌ユ壘
-     * @param id
-     * @return
-     */
-    @Override
-    public Result detail(Integer id) {
-        ExamTemplateVO vo = baseMapper.getById(id);
-        Assert.notNull(vo, "璁板綍涓嶅瓨鍦�");
-        return Result.ok().data(vo);
-    }
-
-    /**
-     * 鍒楄〃
-     * @return
-     */
-    @Override
-    public Result all() {
-        List<ExamTemplate> entities = baseMapper.selectList(null);
-        List<ExamTemplateVO> vos = entities.stream()
-                .map(entity -> ExamTemplateVO.getVoByEntity(entity, null))
-                .collect(Collectors.toList());
-        return Result.ok().data(vos);
-    }
-}
diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml
index 2e279f0..48e1927 100644
--- a/src/main/resources/mapper/ExamPaperMapper.xml
+++ b/src/main/resources/mapper/ExamPaperMapper.xml
@@ -1,7 +1,7 @@
 <?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.ycl.jxkg.mapper.ExamPaperMapper">
-    <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.exam.ExamPaperTempDTO">
+    <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.entity.ExamPaper">
         <id column="id"  property="id"/>
         <result column="name"  property="name"/>
         <result column="subject_id"  property="subjectId"/>
@@ -12,23 +12,11 @@
         <result column="visibility"  property="visibility"/>
         <result column="deduct_type" property="deductType"/>
         <result column="deduct_type_score"  property="deductTypeScore"/>
+        <result column="content"  property="content"/>
         <result column="create_user"  property="createUser"/>
         <result column="create_time"  property="createTime"/>
         <result column="deleted"  property="deleted"/>
-        <association property="examTemplate" javaType="com.ycl.jxkg.domain.entity.ExamTemplate">
-            <result column="single_choice" property="singleChoice" />
-            <result column="single_score" property="singleScore" />
-            <result column="multiple_choice" property="multipleChoice" />
-            <result column="multiple_score" property="multipleScore" />
-            <result column="gap_filling" property="gapFilling" />
-            <result column="gap_score" property="gapScore" />
-            <result column="true_false" property="trueFalse" />
-            <result column="true_false_score" property="trueFalseScore" />
-            <result column="short_answer" property="shortAnswer" />
-            <result column="short_answer_score" property="shortAnswerScore" />
-            <result column="calculation" property="calculation" />
-            <result column="calculation_score" property="calculationScore" />
-        </association>
+
     </resultMap>
 
     <sql id="Base_Column_List">
@@ -43,22 +31,10 @@
     </resultMap>
 
 
-    <select id="page" resultMap="BaseResultMap" parameterType="com.ycl.jxkg.domain.vo.admin.exam.ExamPaperPageRequestVO">
+    <select id="page" resultMap="BaseResultMap">
         SELECT
         tep.*,
-        tet.single_choice,
-        tet.multiple_choice,
-        tet.gap_filling,
-        tet.true_false,
-        tet.short_answer,
-        tet.calculation,
-        tet.single_score,
-        tet.multiple_score,
-        tet.gap_score,
-        tet.true_false_score,
-        tet.short_answer_score,
-        tet.calculation_score
-        FROM t_exam_paper tep left join t_exam_template tet on tep.id =tet.exam_paper_id
+        FROM t_exam_paper tep
         <where>
             and tep.deleted=0
             <if test="id != null ">
diff --git a/src/main/resources/mapper/ExamTemplateMapper.xml b/src/main/resources/mapper/ExamTemplateMapper.xml
deleted file mode 100644
index d39d1ea..0000000
--- a/src/main/resources/mapper/ExamTemplateMapper.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?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.ycl.jxkg.mapper.ExamTemplateMapper">
-
-    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
-    <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.entity.ExamTemplate">
-        <result column="name" property="name" />
-        <result column="subject_id" property="subjectId" />
-        <result column="score" property="score" />
-        <result column="visibility" property="visibility" />
-        <result column="suggest_time" property="suggestTime" />
-        <result column="deduct_type" property="deductType" />
-        <result column="deduct_type_score" property="deductTypeScore" />
-        <result column="single_choice" property="singleChoice" />
-        <result column="multiple_choice" property="multipleChoice" />
-        <result column="gap_filling" property="gapFilling" />
-        <result column="true_false" property="trueFalse" />
-        <result column="short_answer" property="shortAnswer" />
-        <result column="calculation" property="calculation" />
-        <result column="single_score" property="singleScore" />
-        <result column="multiple_score" property="multipleScore" />
-        <result column="gap_score" property="gapScore" />
-        <result column="true_false_score" property="trueFalseScore" />
-        <result column="short_answer_score" property="shortAnswerScore" />
-        <result column="calculation_score" property="calculationScore" />
-        <result column="create_user" property="createUser" />
-        <result column="create_time" property="createTime" />
-    </resultMap>
-
-
-
-    <select id="getById" resultMap="BaseResultMap">
-        SELECT
-            TET.name,
-            TET.subject_id,
-            TET.score,
-            TET.visibility,
-            TET.suggest_time,
-            TET.deduct_type,
-            TET.deduct_type_score,
-            TET.single_choice,
-            TET.multiple_choice,
-            TET.gap_filling,
-            TET.true_false,
-            TET.short_answer,
-            TET.calculation,
-            TET.single_score,
-            TET.multiple_score,
-            TET.gap_score,
-            TET.true_false_score,
-            TET.short_answer_score,
-            TET.calculation_score,
-            TET.create_user,
-            TET.create_time,
-            TET.id
-        FROM
-            t_exam_template TET
-        WHERE
-            TET.id = #{id} AND TET.deleted = 0
-    </select>
-
-
-    <select id="getPage" resultMap="BaseResultMap">
-        SELECT
-            TET.name,
-            TET.subject_id,
-            TET.score,
-            TET.visibility,
-            TET.suggest_time,
-            TET.deduct_type,
-            TET.deduct_type_score,
-            TET.single_choice,
-            TET.multiple_choice,
-            TET.gap_filling,
-            TET.true_false,
-            TET.short_answer,
-            TET.calculation,
-            TET.single_score,
-            TET.multiple_score,
-            TET.gap_score,
-            TET.true_false_score,
-            TET.short_answer_score,
-            TET.calculation_score,
-            TET.create_user,
-            TET.create_time,
-            TET.id
-        FROM
-            t_exam_template TET
-        <where>
-            TET.deleted = 0
-        <if test="query.name!=null and query.name !=''">
-            and name like concat ('%',#{query.name},'%')
-        </if>
-        <if test="query.subjectId!=null ">
-            and subject_id = #{query.subjectId}
-        </if>
-        </where>
-    </select>
-
-    <delete id="removeById">
-        delete from t_exam_template where exam_paper_id = #{id}
-    </delete>
-</mapper>
diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml
index c0266f0..850f168 100644
--- a/src/main/resources/mapper/QuestionMapper.xml
+++ b/src/main/resources/mapper/QuestionMapper.xml
@@ -75,4 +75,14 @@
         GROUP BY create_time
     </select>
 
+    <select id="getQuestionRandom">
+        SELECT
+            *
+        FROM
+            t_question
+        WHERE
+            id >= ( SELECT floor( RAND() * ( SELECT MAX( id ) FROM t_question ) ) )
+            LIMIT #{num};
+    </select>
+
 </mapper>

--
Gitblit v1.8.0