From a1b0f938832dd36eddc66fe2b92ea32ba26dee7d Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 07 六月 2024 15:53:42 +0800
Subject: [PATCH] 模板、试卷增删改查
---
src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java | 46 ++++---
src/main/java/com/ycl/jxkg/domain/vo/ExamTemplateVO.java | 43 +------
src/main/java/com/ycl/jxkg/domain/form/ExamPaperForm.java | 87 ++++++++++++++
src/main/java/com/ycl/jxkg/controller/admin/ExamTemplateController.java | 4
src/main/resources/mapper/ExamTemplateMapper.xml | 9
src/main/java/com/ycl/jxkg/service/impl/ExamTemplateServiceImpl.java | 87 +++++++++++++-
src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamPaperPageRequestVO.java | 8
src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamResponseVO.java | 7 +
src/main/java/com/ycl/jxkg/enums/VisibilityEnum.java | 16 +-
src/main/java/com/ycl/jxkg/domain/entity/ExamPaper.java | 15 ++
src/main/java/com/ycl/jxkg/mapper/ExamTemplateMapper.java | 1
src/main/resources/mapper/ExamPaperMapper.xml | 27 ++--
src/main/java/com/ycl/jxkg/domain/form/ExamTemplateForm.java | 7 +
13 files changed, 261 insertions(+), 96 deletions(-)
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 23b4b13..e51a998 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/ExamPaperController.java
@@ -3,6 +3,10 @@
import com.ycl.jxkg.base.BaseApiController;
import com.ycl.jxkg.base.Result;
import com.ycl.jxkg.domain.entity.ExamPaper;
+import com.ycl.jxkg.domain.form.ExamPaperForm;
+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.ExamPaperService;
import com.ycl.jxkg.utils.DateTimeUtil;
@@ -12,25 +16,30 @@
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
-
+import java.util.Date;
+@Validated
@RequiredArgsConstructor
@RestController("AdminExamPaperController")
@RequestMapping(value = "/api/admin/exam/paper")
public class ExamPaperController extends BaseApiController {
- private final ExamPaperService examPaperService;
+ private final ExamPaperService examPaperService;
private final ExamPaperMapper baseMapper;
+
@RequestMapping(value = "/page", method = RequestMethod.POST)
public Result<PageInfo<ExamResponseVO>> pageList(@RequestBody ExamPaperPageRequestVO model) {
PageInfo<ExamPaper> pageInfo = examPaperService.page(model);
PageInfo<ExamResponseVO> page = PageInfoHelper.copyMap(pageInfo, e -> {
ExamResponseVO vo = new ExamResponseVO();
BeanUtils.copyProperties(e, vo);
+ vo.setVisibility(VisibilityEnum.valueOf(vo.getVisibility()).getCode()+"");
vo.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime()));
return vo;
});
@@ -38,26 +47,27 @@
}
-
- @RequestMapping(value = "/taskExamPage", method = RequestMethod.POST)
- public Result<PageInfo<ExamResponseVO>> taskExamPageList(@RequestBody ExamPaperPageRequestVO model) {
- PageInfo<ExamPaper> pageInfo = examPaperService.taskExamPage(model);
- PageInfo<ExamResponseVO> page = PageInfoHelper.copyMap(pageInfo, e -> {
- ExamResponseVO vo = new ExamResponseVO();
- BeanUtils.copyProperties(e, vo);
- vo.setCreateTime(DateTimeUtil.dateFormat(e.getCreateTime()));
- return vo;
- });
- return Result.ok(page);
+ @RequestMapping(value = "/addPaper", method = RequestMethod.POST)
+ public Result taskExamPageList(@RequestBody @Validated(Add.class) ExamPaperForm form) {
+ if (!StringUtils.isBlank(form.getVisibility())) {
+ form.setVisibility(VisibilityEnum.fromCode(form.getVisibility()).getName());
+ }
+ form.setCreateUser(getCurrentUser().getId());
+ form.setCreateTime(new Date());
+ ExamPaper entity = ExamPaperForm.getEntityByForm(form,null);
+ examPaperService.save(entity);
+ return Result.ok();
}
-
@RequestMapping(value = "/edit", method = RequestMethod.POST)
- public Result<ExamPaperEditRequestVO> edit(@RequestBody @Valid ExamPaperEditRequestVO model) {
- ExamPaper examPaper = examPaperService.savePaperFromVM(model, getCurrentUser());
- ExamPaperEditRequestVO newVM = examPaperService.examPaperToVM(examPaper.getId());
- return Result.ok(newVM);
+ public Result edit(@RequestBody @Validated(Update.class) ExamPaperForm form) {
+ if (!StringUtils.isBlank(form.getVisibility())) {
+ form.setVisibility(VisibilityEnum.fromCode(form.getVisibility()).getName());
+ }
+ ExamPaper entity = ExamPaperForm.getEntityByForm(form,null);
+ examPaperService.updateById(entity);
+ return Result.ok();
}
@RequestMapping(value = "/select/{id}", method = RequestMethod.POST)
diff --git a/src/main/java/com/ycl/jxkg/controller/admin/ExamTemplateController.java b/src/main/java/com/ycl/jxkg/controller/admin/ExamTemplateController.java
index e8ebd12..4de12c9 100644
--- a/src/main/java/com/ycl/jxkg/controller/admin/ExamTemplateController.java
+++ b/src/main/java/com/ycl/jxkg/controller/admin/ExamTemplateController.java
@@ -50,6 +50,10 @@
@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);
}
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 5c9cfe5..d5913af 100644
--- a/src/main/java/com/ycl/jxkg/domain/entity/ExamPaper.java
+++ b/src/main/java/com/ycl/jxkg/domain/entity/ExamPaper.java
@@ -2,10 +2,12 @@
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 lombok.Data;
import java.io.Serializable;
+import java.math.BigDecimal;
import java.util.Date;
@Data
@@ -36,7 +38,7 @@
* 璇曞嵎鎬诲垎
*/
@TableField("score")
- private Integer score;
+ private BigDecimal score;
/**
* 棰樼洰鏁伴噺
@@ -54,6 +56,7 @@
private Integer createUser;
@TableField("create_time")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
@@ -63,8 +66,14 @@
private String visibility;
/**
- * 鎵e垎绫诲瀷
+ * 澶氶�夋墸鍒嗙被鍨�
* */
@TableField("deduct_type")
- private String deductType;
+ private Integer deductType;
+
+ /**
+ * 澶氶�夎瘎鍒嗗垎鏁�
+ * */
+ @TableField("deduct_type_score")
+ private BigDecimal deductTypeScore;
}
diff --git a/src/main/java/com/ycl/jxkg/domain/form/ExamPaperForm.java b/src/main/java/com/ycl/jxkg/domain/form/ExamPaperForm.java
new file mode 100644
index 0000000..a80afc7
--- /dev/null
+++ b/src/main/java/com/ycl/jxkg/domain/form/ExamPaperForm.java
@@ -0,0 +1,87 @@
+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.group.Add;
+import com.ycl.jxkg.group.Update;
+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;
+
+@Data
+@TableName("t_exam_paper")
+public class ExamPaperForm extends AbsForm {
+
+ /**
+ * 璇曞嵎鍚嶇О
+ */
+ @NotBlank(message = "璇曞嵎鍚嶇О涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ private String name;
+
+ /**
+ * 瀛︾
+ */
+ @NotNull(message = "瀛︾涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ private Integer subjectId;
+
+ /**
+ * 璇曞嵎绫诲瀷( 1鍥哄畾璇曞嵎 2.闅忓嵆璇曞嵎 3.闅忓簭璇曞嵎)
+ */
+ @NotNull (message = "璇曞嵎绫诲瀷涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ private Integer paperType;
+
+ /**
+ * 璇曞嵎鎬诲垎
+ */
+ private BigDecimal score;
+
+ /**
+ * 棰樼洰鏁伴噺
+ */
+ private Integer questionCount;
+
+ /**
+ * 寤鸿鏃堕暱(鍒嗛挓)
+ */
+ @Min(value = 1,message = "寤鸿鏃堕棿蹇呴』澶т簬0",groups = {Add.class, Update.class})
+ private Integer suggestTime;
+
+ private Integer createUser;
+
+ @JsonFormat(pattern = "yyyy-mm-dd HH:mm:ss")
+ private Date createTime;
+
+ /**
+ * 鍙鎬э紝鍏紑/绉佹湁
+ * */
+ private String visibility;
+
+ /**
+ * 澶氶�夋墸鍒嗙被鍨�
+ * */
+ private Integer deductType;
+
+ /**
+ * 澶氶�夎瘎鍒嗗垎鏁�
+ * */
+ private BigDecimal deductTypeScore;
+
+ public static ExamPaper getEntityByForm(@NonNull ExamPaperForm form, ExamPaper entity) {
+ if(entity == null) {
+ entity = new ExamPaper();
+ }
+ BeanUtils.copyProperties(form, entity);
+ return entity;
+ }
+}
diff --git a/src/main/java/com/ycl/jxkg/domain/form/ExamTemplateForm.java b/src/main/java/com/ycl/jxkg/domain/form/ExamTemplateForm.java
index 7da12f5..65c4972 100644
--- a/src/main/java/com/ycl/jxkg/domain/form/ExamTemplateForm.java
+++ b/src/main/java/com/ycl/jxkg/domain/form/ExamTemplateForm.java
@@ -1,5 +1,6 @@
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;
@@ -15,6 +16,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
+import java.util.Date;
import java.util.List;
/**
@@ -31,7 +33,7 @@
@ApiModelProperty("妯℃澘鍚�")
private String name;
- @NotNull(message = "瀛︾id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
+ @NotNull (message = "瀛︾id涓嶈兘涓虹┖", groups = {Add.class, Update.class})
@ApiModelProperty("瀛︾id")
private Integer subjectId;
@@ -54,6 +56,9 @@
@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();
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/ExamTemplateVO.java b/src/main/java/com/ycl/jxkg/domain/vo/ExamTemplateVO.java
index b887805..d5ac1b7 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/ExamTemplateVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/ExamTemplateVO.java
@@ -1,11 +1,14 @@
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;
@@ -28,7 +31,7 @@
private Integer subjectId;
/** 鎬诲垎 */
- private Integer score;
+ private BigDecimal score;
/** 鏄惁绉佹湁 */
private String visibility;
@@ -42,46 +45,14 @@
/** 澶氶�夎瘎鍒� */
private BigDecimal deductTypeScore;
- /** 鍗曢�夐鏁伴噺 */
- 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;
+ /** 棰樼洰閰嶇疆 */
+ 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) {
diff --git a/src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamPaperPageRequestVO.java b/src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamPaperPageRequestVO.java
index 110fea3..ff7052e 100644
--- a/src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamPaperPageRequestVO.java
+++ b/src/main/java/com/ycl/jxkg/domain/vo/admin/exam/ExamPaperPageRequestVO.java
@@ -3,6 +3,8 @@
import com.ycl.jxkg.base.BasePage;
import lombok.Data;
+import java.math.BigDecimal;
+
@Data
public class ExamPaperPageRequestVO extends BasePage {
@@ -13,10 +15,10 @@
private Integer subjectId;
- private Integer level;
-
private Integer paperType;
- private Integer taskExamId;
+ private Integer suggestTime;
+
+ private BigDecimal score;
}
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 72481c6..811b795 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
@@ -3,6 +3,7 @@
import lombok.Data;
+import java.math.BigDecimal;
import java.util.Date;
@Data
@@ -25,4 +26,10 @@
private Integer paperType;
private Integer suggestTime;
+
+ private Integer deductType;
+
+ private BigDecimal deductTypeScore;
+
+ private String visibility;
}
diff --git a/src/main/java/com/ycl/jxkg/enums/VisibilityEnum.java b/src/main/java/com/ycl/jxkg/enums/VisibilityEnum.java
index 8007bf7..c46b40b 100644
--- a/src/main/java/com/ycl/jxkg/enums/VisibilityEnum.java
+++ b/src/main/java/com/ycl/jxkg/enums/VisibilityEnum.java
@@ -4,13 +4,13 @@
import java.util.Map;
public enum VisibilityEnum {
- Private(1,"PRIVATE", "鍙湁鑰佸笀鑷繁鑳界湅"),
- Public(2,"PUBLIC", "鎵�鏈変汉鑳界湅");
- Integer code;
+ Private("1","Private", "鍙湁鑰佸笀鑷繁鑳界湅"),
+ Public("2","Public", "鎵�鏈変汉鑳界湅");
+ String code;
String name;
String description;
- VisibilityEnum(Integer code,String name, String description) {
+ VisibilityEnum(String code,String name, String description) {
this.code = code;
this.name = name;
this.description = description;
@@ -32,22 +32,22 @@
this.name = name;
}
- public Integer getCode() {
+ public String getCode() {
return code;
}
- public void setCode(Integer code) {
+ public void setCode(String code) {
this.code = code;
}
- private static final Map<Integer, VisibilityEnum> keyMap = new HashMap<>();
+ private static final Map<String, VisibilityEnum> keyMap = new HashMap<>();
static {
for (VisibilityEnum item : VisibilityEnum.values()) {
keyMap.put(item.getCode(), item);
}
}
- public static VisibilityEnum fromCode(Integer code) {
+ public static VisibilityEnum fromCode(String code) {
return keyMap.get(code);
}
diff --git a/src/main/java/com/ycl/jxkg/mapper/ExamTemplateMapper.java b/src/main/java/com/ycl/jxkg/mapper/ExamTemplateMapper.java
index 614391c..5319d2e 100644
--- a/src/main/java/com/ycl/jxkg/mapper/ExamTemplateMapper.java
+++ b/src/main/java/com/ycl/jxkg/mapper/ExamTemplateMapper.java
@@ -31,4 +31,5 @@
*/
IPage getPage(IPage page, @Param("query") ExamTemplateQuery query);
+ void removeById(Integer id);
}
diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamTemplateServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamTemplateServiceImpl.java
index d682060..81e94fb 100644
--- a/src/main/java/com/ycl/jxkg/service/impl/ExamTemplateServiceImpl.java
+++ b/src/main/java/com/ycl/jxkg/service/impl/ExamTemplateServiceImpl.java
@@ -23,11 +23,13 @@
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;
@@ -59,7 +61,7 @@
entity.setCreateUser(currentUser.getId());
entity.setCreateTime(new Date());
if(!StringUtils.isEmpty(entity.getVisibility())) {
- entity.setVisibility(VisibilityEnum.fromCode(Integer.parseInt(entity.getVisibility())).getName());
+ entity.setVisibility(VisibilityEnum.fromCode(entity.getVisibility()).getName());
}
List<TemplateQuestionDTO> questionList = form.getQuestionList();
BigDecimal score = BigDecimal.ZERO;
@@ -111,13 +113,54 @@
* @return
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public Result update(ExamTemplateForm form) {
- ExamTemplate entity = baseMapper.selectById(form.getId());
-
- // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
- Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
- BeanUtils.copyProperties(form, entity);
- baseMapper.updateById(entity);
+ 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("淇敼鎴愬姛");
}
@@ -150,9 +193,35 @@
*/
@Override
public Result page(ExamTemplateQuery query) {
- IPage<ExamTemplateVO> page = PageUtil.getPage(query, ExamTemplateVO.class);
+ IPage<ExamTemplate> page = PageUtil.getPage(query, ExamTemplate.class);
baseMapper.getPage(page, query);
- return Result.ok().data(page.getRecords()).total(page.getTotal());
+ 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);
}
/**
diff --git a/src/main/resources/mapper/ExamPaperMapper.xml b/src/main/resources/mapper/ExamPaperMapper.xml
index a8e01d7..52d8067 100644
--- a/src/main/resources/mapper/ExamPaperMapper.xml
+++ b/src/main/resources/mapper/ExamPaperMapper.xml
@@ -2,23 +2,24 @@
<!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.entity.ExamPaper">
- <id column="id" jdbcType="INTEGER" property="id"/>
- <result column="name" jdbcType="VARCHAR" property="name"/>
- <result column="subject_id" jdbcType="INTEGER" property="subjectId"/>
- <result column="paper_type" jdbcType="INTEGER" property="paperType"/>
- <result column="score" jdbcType="INTEGER" property="score"/>
- <result column="question_count" jdbcType="INTEGER" property="questionCount"/>
- <result column="suggest_time" jdbcType="INTEGER" property="suggestTime"/>
- <result column="visibility" jdbcType="INTEGER" property="visibility"/>
- <result column="deduct_type" jdbcType="INTEGER" property="deductType"/>
- <result column="create_user" jdbcType="INTEGER" property="createUser"/>
- <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
- <result column="deleted" jdbcType="BIT" property="deleted"/>
+ <id column="id" property="id"/>
+ <result column="name" property="name"/>
+ <result column="subject_id" property="subjectId"/>
+ <result column="paper_type" property="paperType"/>
+ <result column="score" property="score"/>
+ <result column="question_count" property="questionCount"/>
+ <result column="suggest_time" property="suggestTime"/>
+ <result column="visibility" property="visibility"/>
+ <result column="deduct_type" property="deductType"/>
+ <result column="deduct_type_score" property="deductTypeScore"/>
+ <result column="create_user" property="createUser"/>
+ <result column="create_time" property="createTime"/>
+ <result column="deleted" property="deleted"/>
</resultMap>
<sql id="Base_Column_List">
id, name, subject_id, paper_type, score, question_count, suggest_time,visibility
- ,deduct_type,create_user, create_time,deleted
+ ,deduct_type,deduct_type_score,create_user, create_time,deleted
</sql>
<resultMap id="PaperInfoResultMap" type="com.ycl.jxkg.domain.vo.student.dashboard.PaperInfo">
diff --git a/src/main/resources/mapper/ExamTemplateMapper.xml b/src/main/resources/mapper/ExamTemplateMapper.xml
index 31a41a8..2175930 100644
--- a/src/main/resources/mapper/ExamTemplateMapper.xml
+++ b/src/main/resources/mapper/ExamTemplateMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="com.ycl.jxkg.mapper.ExamTemplateMapper">
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
- <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.vo.ExamTemplateVO">
+ <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" />
@@ -26,10 +26,6 @@
<result column="create_user" property="createUser" />
<result column="create_time" property="createTime" />
</resultMap>
-
-
-
-
@@ -101,4 +97,7 @@
</where>
</select>
+ <delete id="removeById">
+ delete from t_exam_template where id = #{id}
+ </delete>
</mapper>
--
Gitblit v1.8.0