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