智慧保安后台管理-外网
钟日健
2022-02-23 b6e312027544b3720cc55720f7f42ed59ed3a011
模拟考试记录,模拟考试答题记录基础接口新增
14 files added
556 ■■■■■ changed files
src/main/java/org/springblade/modules/simulateexam/controller/SimulateExamAnswerRecordController.java 89 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/controller/SimulateExamRecordController.java 88 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/entity/SimulateExamAnswerRecord.java 80 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/entity/SimulateExamRecord.java 62 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamAnswerRecordMapper.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamAnswerRecordMapper.xml 14 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamRecordMapper.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamRecordMapper.xml 14 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/service/SimulateExamAnswerRecordService.java 27 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/service/SimulateExamRecordService.java 26 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamAnswerRecordServiceImpl.java 33 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java 37 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/vo/SimulateExamAnswerRecordVO.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/vo/SimulateExamRecordVO.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/simulateexam/controller/SimulateExamAnswerRecordController.java
New file
@@ -0,0 +1,89 @@
package org.springblade.modules.simulateexam.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.simulateexam.entity.SimulateExamAnswerRecord;
import org.springblade.modules.simulateexam.service.SimulateExamAnswerRecordService;
import org.springblade.modules.simulateexam.vo.SimulateExamAnswerRecordVO;
import org.springframework.web.bind.annotation.*;
/**
 * 模拟考试答题记录控制器
 * @author zhongrj
 * @since 2022-02-23
 */
@RestController
@AllArgsConstructor
@RequestMapping("/simulateExamAnswerRecord")
public class SimulateExamAnswerRecordController extends BladeController {
    private final SimulateExamAnswerRecordService simulateExamAnswerRecordService;
    /**
     * 详情
     */
    @GetMapping("/detail")
    public R<SimulateExamAnswerRecord> detail(SimulateExamAnswerRecord simulateExamAnswerRecord) {
        SimulateExamAnswerRecord detail = simulateExamAnswerRecordService.getOne(Condition.getQueryWrapper(simulateExamAnswerRecord));
        return R.data(detail);
    }
    /**
     * 分页
     */
    @GetMapping("/list")
    public R<IPage<SimulateExamAnswerRecord>> list(SimulateExamAnswerRecord simulateExamAnswerRecord, Query query) {
        IPage<SimulateExamAnswerRecord> pages = simulateExamAnswerRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(simulateExamAnswerRecord));
        return R.data(pages);
    }
    /**
     * 自定义分页
     */
    @GetMapping("/page")
    public R<IPage<SimulateExamAnswerRecordVO>> page(SimulateExamAnswerRecordVO simulateExamAnswerRecord, Query query) {
        IPage<SimulateExamAnswerRecordVO> pages = simulateExamAnswerRecordService.selectSimulateExamAnswerRecordPage(Condition.getPage(query), simulateExamAnswerRecord);
        return R.data(pages);
    }
    /**
     * 新增
     */
    @PostMapping("/save")
    public R save(@RequestBody SimulateExamAnswerRecord simulateExamAnswerRecord) {
        return R.data(simulateExamAnswerRecordService.save(simulateExamAnswerRecord));
    }
    /**
     * 修改
     */
    @PostMapping("/update")
    public R update(@RequestBody SimulateExamAnswerRecord simulateExamAnswerRecord) {
        return R.data(simulateExamAnswerRecordService.updateById(simulateExamAnswerRecord));
    }
    /**
     * 新增或修改
     */
    @PostMapping("/submit")
    public R submit(@RequestBody SimulateExamAnswerRecord simulateExamAnswerRecord) {
        return R.status(simulateExamAnswerRecordService.saveOrUpdate(simulateExamAnswerRecord));
    }
    /**
     * 删除
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(simulateExamAnswerRecordService.removeByIds(Func.toLongList(ids)));
    }
}
src/main/java/org/springblade/modules/simulateexam/controller/SimulateExamRecordController.java
New file
@@ -0,0 +1,88 @@
package org.springblade.modules.simulateexam.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.simulateexam.entity.SimulateExamRecord;
import org.springblade.modules.simulateexam.service.SimulateExamRecordService;
import org.springblade.modules.simulateexam.vo.SimulateExamRecordVO;
import org.springframework.web.bind.annotation.*;
/**
 * 模拟考试记录控制器
 * @author zhongrj
 * @since 2022-02-23
 */
@RestController
@AllArgsConstructor
@RequestMapping("/simulateExamRecord")
public class SimulateExamRecordController extends BladeController {
    private final SimulateExamRecordService simulateExamRecordService;
    /**
     * 详情
     */
    @GetMapping("/detail")
    public R<SimulateExamRecord> detail(SimulateExamRecord simulateExamRecord) {
        SimulateExamRecord detail = simulateExamRecordService.getOne(Condition.getQueryWrapper(simulateExamRecord));
        return R.data(detail);
    }
    /**
     * 分页
     */
    @GetMapping("/list")
    public R<IPage<SimulateExamRecord>> list(SimulateExamRecord simulateExamRecord, Query query) {
        IPage<SimulateExamRecord> pages = simulateExamRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(simulateExamRecord));
        return R.data(pages);
    }
    /**
     * 自定义分页
     */
    @GetMapping("/page")
    public R<IPage<SimulateExamRecordVO>> page(SimulateExamRecordVO simulateExamRecord, Query query) {
        IPage<SimulateExamRecordVO> pages = simulateExamRecordService.selectSimulateExamRecordPage(Condition.getPage(query), simulateExamRecord);
        return R.data(pages);
    }
    /**
     * 新增
     */
    @PostMapping("/save")
    public R save(@RequestBody SimulateExamRecord simulateExamRecord) {
        return R.data(simulateExamRecordService.save(simulateExamRecord));
    }
    /**
     * 修改
     */
    @PostMapping("/update")
    public R update(@RequestBody SimulateExamRecord simulateExamRecord) {
        return R.data(simulateExamRecordService.updateById(simulateExamRecord));
    }
    /**
     * 新增或修改
     */
    @PostMapping("/submit")
    public R submit(@RequestBody SimulateExamRecord simulateExamRecord) {
        return R.status(simulateExamRecordService.saveOrUpdate(simulateExamRecord));
    }
    /**
     * 删除
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(simulateExamRecordService.removeByIds(Func.toLongList(ids)));
    }
}
src/main/java/org/springblade/modules/simulateexam/entity/SimulateExamAnswerRecord.java
New file
@@ -0,0 +1,80 @@
package org.springblade.modules.simulateexam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * 模拟考试答题记录实体类
 *
 * @author zhongrj
 * @since 2020-02-23
 */
@Data
@TableName("simulate_exam_answer_record")
public class SimulateExamAnswerRecord implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 题目id
     */
    private Long subjectChoicesId;
    /**
     * 题目类型 0:单选题  1:多选题  2:判断题  3:实操题(排序填空)
     */
    private Integer subjectChoicesType;
    /**
     * 提交的选项 A,B,C....
     */
    private String answerOption;
    /**
     * 答案
     */
    private String answer;
    /**
     * 答题时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date answerTime;
    /**
     * 本题得分
     */
    private Integer answerScore;
    /**
     * 答题结果 1:答对  2:答错
     */
    private Integer answerResult;
    /**
     * 身份证号码
     */
    private String idCardNo;
    /**
     * 模拟考试记录 id
     */
    private Long simulateExamId;
}
src/main/java/org/springblade/modules/simulateexam/entity/SimulateExamRecord.java
New file
@@ -0,0 +1,62 @@
package org.springblade.modules.simulateexam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * 模拟考试记录实体类
 *
 * @author zhongrj
 * @since 2020-02-23
 */
@Data
@TableName("simulate_exam_record")
public class SimulateExamRecord implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 答题开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    /**
     * 答题结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
    /**
     * 考试得分
     */
    private Integer score;
    /**
     * 状态 1:考试中 2: 考试完成 3:已废弃
     */
    private Integer status;
    /**
     * 身份证号码
     */
    private String idCardNo;
}
src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamAnswerRecordMapper.java
New file
@@ -0,0 +1,28 @@
package org.springblade.modules.simulateexam.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.simulateexam.entity.SimulateExamAnswerRecord;
import org.springblade.modules.simulateexam.vo.SimulateExamAnswerRecordVO;
import java.util.List;
/**
 *  Mapper 接口
 *
 * @author zhongrj
 * @since 2022-02-23
 */
public interface SimulateExamAnswerRecordMapper extends BaseMapper<SimulateExamAnswerRecord> {
    /**
     * 自定义分页
     *
     * @param page
     * @param simulateExamAnswerRecord
     * @return
     */
    List<SimulateExamAnswerRecordVO> selectSimulateExamAnswerRecordPage(IPage<SimulateExamAnswerRecordVO> page, @Param("simulateExamAnswerRecord") SimulateExamAnswerRecordVO simulateExamAnswerRecord);
}
src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamAnswerRecordMapper.xml
New file
@@ -0,0 +1,14 @@
<?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="org.springblade.modules.simulateexam.mapper.SimulateExamAnswerRecordMapper">
    <!--自定义查询模拟考试答题记录分页数据-->
    <select id="selectSimulateExamAnswerRecordPage" resultType="org.springblade.modules.simulateexam.vo.SimulateExamAnswerRecordVO">
        select * from simulate_exam_answer_record
        where 1=1
        <if test="simulateExamAnswerRecord.idCardNo!=null and simulateExamAnswerRecord.idCardNo!=''">
            and id_card_no =#{simulateExamAnswerRecord.idCardNo}
        </if>
    </select>
</mapper>
src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamRecordMapper.java
New file
@@ -0,0 +1,28 @@
package org.springblade.modules.simulateexam.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.simulateexam.entity.SimulateExamRecord;
import org.springblade.modules.simulateexam.vo.SimulateExamRecordVO;
import java.util.List;
/**
 *  Mapper 接口
 *
 * @author zhongrj
 * @since 2022-02-23
 */
public interface SimulateExamRecordMapper extends BaseMapper<SimulateExamRecord> {
    /**
     * 自定义分页
     *
     * @param page
     * @param simulateExamRecord
     * @return
     */
    List<SimulateExamRecordVO> selectSimulateExamRecordPage(IPage<SimulateExamRecordVO> page, @Param("simulateExamRecord") SimulateExamRecordVO simulateExamRecord);
}
src/main/java/org/springblade/modules/simulateexam/mapper/SimulateExamRecordMapper.xml
New file
@@ -0,0 +1,14 @@
<?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="org.springblade.modules.simulateexam.mapper.SimulateExamRecordMapper">
    <!--自定义查询模拟考试记录分页数据-->
    <select id="selectSimulateExamRecordPage" resultType="org.springblade.modules.simulateexam.vo.SimulateExamRecordVO">
        select * from simulate_exam_record
        where 1=1
        <if test="simulateExamRecord.idCardNo!=null and simulateExamRecord.idCardNo!=''">
            and id_card_no=#{simulateExamRecord.idCardNo}
        </if>
    </select>
</mapper>
src/main/java/org/springblade/modules/simulateexam/service/SimulateExamAnswerRecordService.java
New file
@@ -0,0 +1,27 @@
package org.springblade.modules.simulateexam.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.simulateexam.entity.SimulateExamAnswerRecord;
import org.springblade.modules.simulateexam.vo.SimulateExamAnswerRecordVO;
/**
 *  模拟考试答题记录服务类
 *
 * @author zhongrj
 * @since 2022-02-23
 */
public interface SimulateExamAnswerRecordService extends IService<SimulateExamAnswerRecord> {
    /**
     * 自定义分页
     *
     * @param page
     * @param simulateExamAnswerRecordVO
     * @return
     */
    IPage<SimulateExamAnswerRecordVO> selectSimulateExamAnswerRecordPage(IPage<SimulateExamAnswerRecordVO> page, @Param("simulateExamAnswerRecordVO") SimulateExamAnswerRecordVO simulateExamAnswerRecordVO);
}
src/main/java/org/springblade/modules/simulateexam/service/SimulateExamRecordService.java
New file
@@ -0,0 +1,26 @@
package org.springblade.modules.simulateexam.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.simulateexam.entity.SimulateExamRecord;
import org.springblade.modules.simulateexam.vo.SimulateExamRecordVO;
/**
 *  模拟考试记录服务类
 *
 * @author zhongrj
 * @since 2022-02-23
 */
public interface SimulateExamRecordService extends IService<SimulateExamRecord> {
    /**
     * 自定义分页
     *
     * @param page
     * @param simulateExamRecordVO
     * @return
     */
    IPage<SimulateExamRecordVO> selectSimulateExamRecordPage(IPage<SimulateExamRecordVO> page, SimulateExamRecordVO simulateExamRecordVO);
}
src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamAnswerRecordServiceImpl.java
New file
@@ -0,0 +1,33 @@
package org.springblade.modules.simulateexam.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.simulateexam.entity.SimulateExamAnswerRecord;
import org.springblade.modules.simulateexam.mapper.SimulateExamAnswerRecordMapper;
import org.springblade.modules.simulateexam.service.SimulateExamAnswerRecordService;
import org.springblade.modules.simulateexam.vo.SimulateExamAnswerRecordVO;
import org.springframework.stereotype.Service;
/**
 *  模拟考试答题记录服务实现类
 *
 * @author zhongrj
 * @since 2022-02-23
 */
@Service
public class SimulateExamAnswerRecordServiceImpl extends ServiceImpl<SimulateExamAnswerRecordMapper, SimulateExamAnswerRecord> implements SimulateExamAnswerRecordService {
    /**
     * 自定义分页查询用户会员数据
     * @param page
     * @param simulateExamAnswerRecord
     * @return
     */
    @Override
    public IPage<SimulateExamAnswerRecordVO> selectSimulateExamAnswerRecordPage(IPage<SimulateExamAnswerRecordVO> page, SimulateExamAnswerRecordVO simulateExamAnswerRecord) {
        return page.setRecords(baseMapper.selectSimulateExamAnswerRecordPage(page, simulateExamAnswerRecord));
    }
}
src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
New file
@@ -0,0 +1,37 @@
package org.springblade.modules.simulateexam.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.modules.simulateexam.entity.SimulateExamRecord;
import org.springblade.modules.simulateexam.mapper.SimulateExamRecordMapper;
import org.springblade.modules.simulateexam.service.SimulateExamRecordService;
import org.springblade.modules.simulateexam.vo.SimulateExamRecordVO;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
 *  模拟考试记录服务实现类
 *
 * @author zhongrj
 * @since 2022-02-23
 */
@Service
public class SimulateExamRecordServiceImpl extends ServiceImpl<SimulateExamRecordMapper, SimulateExamRecord> implements SimulateExamRecordService {
    /**
     * 自定义分页查询模拟考试记录数据
     * @param page
     * @param simulateExamRecord
     * @return
     */
    @Override
    public IPage<SimulateExamRecordVO> selectSimulateExamRecordPage(IPage<SimulateExamRecordVO> page, SimulateExamRecordVO simulateExamRecord) {
        return page.setRecords(baseMapper.selectSimulateExamRecordPage(page, simulateExamRecord));
    }
}
src/main/java/org/springblade/modules/simulateexam/vo/SimulateExamAnswerRecordVO.java
New file
@@ -0,0 +1,15 @@
package org.springblade.modules.simulateexam.vo;
import lombok.Data;
import org.springblade.modules.simulateexam.entity.SimulateExamAnswerRecord;
/**
 * 模拟考试答题记录视图实体类
 * @author zhongrj
 * @since 2022-02-23
 */
@Data
public class SimulateExamAnswerRecordVO extends SimulateExamAnswerRecord {
    private static final long serialVersionUID = 1L;
}
src/main/java/org/springblade/modules/simulateexam/vo/SimulateExamRecordVO.java
New file
@@ -0,0 +1,15 @@
package org.springblade.modules.simulateexam.vo;
import lombok.Data;
import org.springblade.modules.simulateexam.entity.SimulateExamRecord;
/**
 * 模拟考试记录视图实体类
 * @author zhongrj
 * @since 2022-02-23
 */
@Data
public class SimulateExamRecordVO extends SimulateExamRecord {
    private static final long serialVersionUID = 1L;
}