fuliqi
2024-06-06 528b1892d8e929b199dddc96f3a43f9b8039c8c8
模板接口打通
11个文件已修改
2个文件已添加
455 ■■■■■ 已修改文件
src/main/java/com/ycl/jxkg/controller/admin/ExamTemplateController.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/entity/ExamTemplate.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/enums/DeductTypeEnum.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/enums/VisibilityEnum.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/form/ExamTemplateForm.java 100 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/query/ExamTemplateQuery.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/question/TemplateQuestionDTO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/domain/vo/ExamTemplateVO.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/mapper/ExamTemplateMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/ExamTemplateService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/service/impl/ExamTemplateServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/ExamTemplateMapper.xml 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ycl/jxkg/controller/admin/ExamTemplateController.java
@@ -1,80 +1,74 @@
package com.ycl.jxkg.controller.admin;
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.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 com.ycl.jxkg.group.Add;
import com.ycl.jxkg.group.Update;
import com.ycl.jxkg.service.ExamTemplateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import java.util.List;
/**
 * 随机试卷模板 前端控制器
 *
 * @author 开发人员名字
 * @since 2024-06-03
 * @author flq
 * @since 2024-06-05
 */
@Validated
@RequiredArgsConstructor
@Api(value = "随机试卷模板", tags = "随机试卷模板管理")
@RestController
@RequestMapping("/exam-template")
@RequestMapping("/api/admin/exam-template")
public class ExamTemplateController {
    private final ExamTemplateService examTemplateService;
    @PostMapping
    @ApiOperation(value = "添加", notes = "添加")
    @PreAuthorize("hasAuthority('examTemplate:add')")
    public Result add(@RequestBody @Validated(Add.class) ExamTemplateForm form) {
        return examTemplateService.add(form);
    }
    @PutMapping
    @ApiOperation(value = "修改", notes = "修改")
    @PreAuthorize("hasAuthority('examTemplate:edit')")
    public Result update(@RequestBody @Validated(Update.class) ExamTemplateForm form) {
        return examTemplateService.update(form);
    }
    @DeleteMapping("/{id}")
    @ApiOperation(value = "ID删除", notes = "ID删除")
    @PreAuthorize("hasAuthority('examTemplate:del')")
    public Result removeById(@PathVariable("id") String id) {
        return examTemplateService.removeById(id);
    }
    @DeleteMapping("/batch")
    @ApiOperation(value = "批量删除", notes = "批量删除")
    @PreAuthorize("hasAuthority('examTemplate:del:batch')")
    public Result remove(@RequestBody @NotEmpty(message = "请选择数据") List<String> ids) {
        return examTemplateService.remove(ids);
    }
    @GetMapping("/page")
    @ApiOperation(value = "分页", notes = "分页")
    @PreAuthorize("hasAuthority('examTemplate:page')")
    public Result page(ExamTemplateQuery query) {
        return examTemplateService.page(query);
    }
    @GetMapping("/{id}")
    @ApiOperation(value = "详情", notes = "详情")
    @PreAuthorize("hasAuthority('examTemplate:detail')")
    public Result detail(@PathVariable("id") Integer id) {
        return examTemplateService.detail(id);
    }
    @GetMapping("/list")
    @PreAuthorize("hasAuthority('examTemplate:list')")
    @ApiOperation(value = "列表", notes = "列表")
    public Result list() {
        return examTemplateService.all();
src/main/java/com/ycl/jxkg/domain/entity/ExamTemplate.java
@@ -3,80 +3,97 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ycl.jxkg.domain.base.AbsEntity;
import io.swagger.models.auth.In;
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 {
    /**
     *  试卷id
     * */
    @TableField("exam_paper_id")
    private Integer examPaperId;
    /**
     * 单选题数量
     * */
    private static final long serialVersionUID = 1L;
    @TableField("name")
    /** 模板名 */
    private String name;
    @TableField("subject_id")
    /** 学科id */
    private Integer subjectId;
    @TableField("score")
    /** 总分 */
    private Integer score;
    @TableField("visibility")
    /** 是否私有 */
    private String visibility;
    @TableField("suggest_time")
    /** 建议时间 */
    private Integer suggestTime;
    @TableField("deduct_type")
    /** 多选扣分类型 */
    private Integer deductType;
    @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")
    /** 判断每题分数 */
    @TableField("trueFalse_score")
    private BigDecimal trueFalseScore;
    @TableField("short_answer_score")
    /** 简答每题分数 */
    @TableField("shortAnswer_score")
    private BigDecimal shortAnswerScore;
    @TableField("calculation__score")
    /** 计算每题分数 */
    @TableField("calculation_score")
    private BigDecimal calculationScore;
    @TableField("create_user")
    /**  */
    private Integer createUser;
}
src/main/java/com/ycl/jxkg/domain/enums/DeductTypeEnum.java
@@ -6,8 +6,8 @@
public enum DeductTypeEnum {
    AllCorrect(1, "答错不得分"),
    PartCorrect(2, "漏选得固定分值,包含错误选项不得分"),
    EachCorrect(3, "每对一题得相应分值,包含错误选项不得分");
    PartCorrect(2, "漏选得固定分值,包含错误选项不得分"),
    EachCorrect(3, "每对一题得相应分值,包含错误选项不得分");
    int code;
    String name;
src/main/java/com/ycl/jxkg/domain/enums/VisibilityEnum.java
@@ -4,13 +4,14 @@
import java.util.Map;
public enum VisibilityEnum {
    Private("私有", "只有老师自己能看"),
    Public("公开", "所有人能看");
    Private(1,"PRIVATE", "只有老师自己能看"),
    Public(2,"PUBLIC", "所有人能看");
    Integer code;
    String name;
    String description;
    VisibilityEnum(String name, String description) {
    VisibilityEnum(Integer code,String name, String description) {
        this.code = code;
        this.name = name;
        this.description = description;
    }
@@ -31,17 +32,23 @@
        this.name = name;
    }
    public Integer getCode() {
        return code;
    }
    private static final Map<String, VisibilityEnum> keyMap = new HashMap<>();
    public void setCode(Integer code) {
        this.code = code;
    }
    private static final Map<Integer, VisibilityEnum> keyMap = new HashMap<>();
    static {
        for (VisibilityEnum item : VisibilityEnum.values()) {
            keyMap.put(item.getName(), item);
            keyMap.put(item.getCode(), item);
        }
    }
    public static VisibilityEnum fromCode(String name) {
        return keyMap.get(name);
    public static VisibilityEnum fromCode(Integer code) {
        return keyMap.get(code);
    }
}
src/main/java/com/ycl/jxkg/domain/form/ExamTemplateForm.java
@@ -1,105 +1,55 @@
package com.ycl.jxkg.domain.form;
import com.ycl.jxkg.domain.question.TemplateQuestionDTO;
import com.ycl.jxkg.group.Update;
import com.ycl.jxkg.group.Add;
import com.ycl.jxkg.domain.base.AbsForm;
import com.ycl.jxkg.domain.entity.ExamTemplate;
import com.ycl.jxkg.group.Add;
import com.ycl.jxkg.group.Update;
import org.springframework.beans.BeanUtils;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import org.springframework.lang.NonNull;
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.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
 * 随机试卷模板表单
 *
 * @author 开发人员名字
 * @since 2024-06-03
 * @author flq
 * @since 2024-06-05
 */
@Data
@ApiModel(value = "ExamTemplate表单", description = "随机试卷模板表单")
public class ExamTemplateForm extends AbsForm {
    @NotBlank(message = "模板名称不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("模板名称")
    @NotBlank(message = "模板名不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("模板名")
    private String name;
    @NotNull(message = "试卷科目不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("试卷科目")
    @NotNull(message = "学科id不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("学科id")
    private Integer subjectId;
    @NotNull(message = "考试时长(分钟)不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("考试时长(分钟)")
    private Integer suggestTime;
    @NotNull(message = "单选题数量不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("单选题数量")
    private Integer singleChoice;
    @NotNull(message = "多选题数量不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("多选题数量")
    private Integer multipleChoice;
    @NotNull(message = "填空题数量不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("填空题数量")
    private Integer gapFilling;
    @NotNull(message = "判断数量不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("判断数量")
    private Integer trueFalse;
    @NotNull(message = "简答题数量不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("简答题数量")
    private Integer shortAnswer;
    @NotNull(message = "计算题数量不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("计算题数量")
    private Integer calculation;
    @NotNull(message = "试卷总分不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("试卷总分")
    @ApiModelProperty("总分")
    private Integer score;
    @NotBlank(message = "多选题扣分方式不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("多选题扣分方式")
    private String deductType;
    @ApiModelProperty("是否私有")
    private String visibility;
    @NotNull(message = "创建人不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("创建人")
    private Integer createUser;
    @NotNull(message = "建议时间不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("建议时间")
    private Integer suggestTime;
    @NotNull(message = "创建时间不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;
    @ApiModelProperty("多选扣分类型")
    private Integer deductType;
    @NotNull(message = "不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("")
    private BigDecimal singleScore;
    @NotNull(message = "不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("")
    private BigDecimal multipleScore;
    @NotNull(message = "不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("")
    private BigDecimal gapScore;
    @NotNull(message = "不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("")
    private BigDecimal trueFalseScore;
    @NotNull(message = "不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("")
    private BigDecimal shortAnswerScore;
    @NotNull(message = "不能为空", groups = {Add.class, Update.class})
    @ApiModelProperty("")
    private BigDecimal calculationScore;
    @ApiModelProperty("题目模板")
    private List<TemplateQuestionDTO> questionList;
    public static ExamTemplate getEntityByForm(@NonNull ExamTemplateForm form, ExamTemplate entity) {
        if(entity == null) {
src/main/java/com/ycl/jxkg/domain/query/ExamTemplateQuery.java
@@ -1,17 +1,24 @@
package com.ycl.jxkg.domain.query;
import com.ycl.jxkg.domain.base.AbsQuery;
import java.util.List;
import org.springframework.lang.NonNull;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * 随机试卷模板查询
 *
 * @author 开发人员名字
 * @since 2024-06-03
 * @author flq
 * @since 2024-06-05
 */
@Data
@ApiModel(value = "ExamTemplate查询", description = "随机试卷模板查询")
public class ExamTemplateQuery extends AbsQuery {
    private String name;
    private Integer subjectId;
}
src/main/java/com/ycl/jxkg/domain/question/TemplateQuestionDTO.java
New file
@@ -0,0 +1,11 @@
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;
}
src/main/java/com/ycl/jxkg/domain/vo/ExamTemplateVO.java
New file
@@ -0,0 +1,92 @@
package com.ycl.jxkg.domain.vo;
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 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 Integer score;
    /** 是否私有 */
    private String visibility;
    /** 建议时间 */
    private Integer suggestTime;
    /** 多选扣分类型 */
    private Integer deductType;
    /** 单选题数量 */
    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 Integer createUser;
    /**  */
    private Date createTime;
    public static ExamTemplateVO getVoByEntity(@NonNull ExamTemplate entity, ExamTemplateVO vo) {
        if(vo == null) {
            vo = new ExamTemplateVO();
        }
        BeanUtils.copyProperties(entity, vo);
        return vo;
    }
}
src/main/java/com/ycl/jxkg/mapper/ExamTemplateMapper.java
@@ -1,18 +1,20 @@
package com.ycl.jxkg.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.admin.exam.ExamTemplateVO;
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 开发人员名字
 * @since 2024-06-03
 * @author flq
 * @since 2024-06-05
 */
@Mapper
public interface ExamTemplateMapper extends BaseMapper<ExamTemplate> {
src/main/java/com/ycl/jxkg/service/ExamTemplateService.java
@@ -1,18 +1,17 @@
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.entity.ExamTemplate;
import com.ycl.jxkg.domain.form.ExamTemplateForm;
import com.ycl.jxkg.domain.query.ExamTemplateQuery;
import java.util.List;
/**
 * 随机试卷模板 服务类
 *
 * @author 开发人员名字
 * @since 2024-06-03
 * @author flq
 * @since 2024-06-05
 */
public interface ExamTemplateService extends IService<ExamTemplate> {
src/main/java/com/ycl/jxkg/service/impl/ExamTemplateServiceImpl.java
@@ -1,20 +1,19 @@
package com.ycl.jxkg.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageInfo;
import com.ycl.jxkg.base.Result;
import com.ycl.jxkg.domain.entity.ExamTemplate;
import com.ycl.jxkg.domain.form.ExamTemplateForm;
import com.ycl.jxkg.domain.query.ExamTemplateQuery;
import com.ycl.jxkg.domain.vo.admin.exam.ExamTemplateVO;
import com.ycl.jxkg.mapper.ExamTemplateMapper;
import com.ycl.jxkg.service.ExamTemplateService;
import com.ycl.jxkg.utils.PageUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
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 org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import com.ycl.jxkg.utils.PageUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.util.Assert;
import java.util.List;
import java.util.stream.Collectors;
@@ -22,8 +21,8 @@
/**
 * 随机试卷模板 服务实现类
 *
 * @author 开发人员名字
 * @since 2024-06-03
 * @author flq
 * @since 2024-06-05
 */
@Service
@RequiredArgsConstructor
@@ -90,10 +89,7 @@
    public Result page(ExamTemplateQuery query) {
        IPage<ExamTemplateVO> page = PageUtil.getPage(query, ExamTemplateVO.class);
        baseMapper.getPage(page, query);
        PageInfo<ExamTemplateVO> pageInfo = new PageInfo<>();
        pageInfo.setList(page.getRecords());
        pageInfo.setTotal(page.getTotal());
        return Result.ok(pageInfo);
        return Result.ok().data(page.getRecords()).total(page.getTotal());
    }
    /**
@@ -105,7 +101,7 @@
    public Result detail(Integer id) {
        ExamTemplateVO vo = baseMapper.getById(id);
        Assert.notNull(vo, "记录不存在");
        return Result.ok(vo);
        return Result.ok().data(vo);
    }
    /**
@@ -118,6 +114,6 @@
        List<ExamTemplateVO> vos = entities.stream()
                .map(entity -> ExamTemplateVO.getVoByEntity(entity, null))
                .collect(Collectors.toList());
        return Result.ok(vos);
        return Result.ok().data(vos);
    }
}
src/main/resources/logback-spring.xml
@@ -32,7 +32,7 @@
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="FILE"/>
        </root>
        <logger name="repository" level="DEBUG" additivity="false">
        <logger name="mapper" level="DEBUG" additivity="false">
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="FILE"/>
        </logger>
src/main/resources/mapper/ExamTemplateMapper.xml
@@ -1,10 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.monkeylessey.mapper.ExamTemplateMapper">
<mapper namespace="com.ycl.jxkg.mapper.ExamTemplateMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.vo.admin.exam.ExamTemplateVO">
        <result column="exam_paper_id" property="examPaperId" />
    <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.vo.ExamTemplateVO">
        <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="single_choice" property="singleChoice" />
        <result column="multiple_choice" property="multipleChoice" />
        <result column="gap_filling" property="gapFilling" />
@@ -16,7 +21,9 @@
        <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="calculation__score" property="calculationScore" />
        <result column="create_user" property="createUser" />
        <result column="create_time" property="createTime" />
    </resultMap>
@@ -27,7 +34,12 @@
    <select id="getById" resultMap="BaseResultMap">
        SELECT
            TET.exam_paper_id,
            TET.name,
            TET.subject_id,
            TET.score,
            TET.visibility,
            TET.suggest_time,
            TET.deduct_type,
            TET.single_choice,
            TET.multiple_choice,
            TET.gap_filling,
@@ -40,6 +52,8 @@
            TET.true_false_score,
            TET.short_answer_score,
            TET.calculation__score,
            TET.create_user,
            TET.create_time,
            TET.id
        FROM
            t_exam_template TET
@@ -50,7 +64,12 @@
    <select id="getPage" resultMap="BaseResultMap">
        SELECT
            TET.exam_paper_id,
            TET.name,
            TET.subject_id,
            TET.score,
            TET.visibility,
            TET.suggest_time,
            TET.deduct_type,
            TET.single_choice,
            TET.multiple_choice,
            TET.gap_filling,
@@ -63,11 +82,20 @@
            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
        <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>
</mapper>