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; }