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