diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ApiInationController.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ApiInationController.java new file mode 100644 index 000000000..35f1d1fa5 --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/controller/ApiInationController.java @@ -0,0 +1,172 @@ +package com.ruoyi.exam.controller; + +import com.ruoyi.common.base.AjaxResult; +import com.ruoyi.exam.domain.*; +import com.ruoyi.exam.service.*; +import com.ruoyi.framework.web.base.BaseController; +import com.ruoyi.framework.web.util.ShiroUtils; +import com.ruoyi.system.domain.SysUser; +import com.ruoyi.system.service.ISysUserService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +/** + * Created by flower on 2019/1/9. + */ +@Api("考试") +@RestController +@RequestMapping("/api") +public class ApiInationController extends BaseController { + + @Autowired + private IExamExaminationService examExaminationService; + + @Autowired + private IExamPaperService examPaperService; + + @Autowired + private IExamUserExaminationService examUserExaminationService; + + @Autowired + private ISysUserService sysUserService; + + @Autowired + private IExamExaminationUserService examExaminationUserService; + + + /** + * 获取考试列表 + * @param examExamination + * @return + */ + @GetMapping("/v1/ination/list") + public AjaxResult list(ExamExamination examExamination) { + Map map = new HashMap<>(); + map.put("ination",examExamination); + map.put("userId", ShiroUtils.getUserId()); + List list = examExaminationService.selectListFromWeb(map); + AjaxResult success = success("查询成功"); + success.put("data", list); + return success; + } + + + /** + * 开始考试 + * @param inationId + * @return + */ + @GetMapping("/v1/ination/start/{inationId}") + public AjaxResult start(@PathVariable("inationId") String inationId) { + ExamExamination examExamination = examExaminationService.selectById(inationId); + Integer userId = 1;//Integer.parseInt(ShiroUtils.getUserId().toString()); + //考试类型 + String type = examExamination.getType(); + //试卷ID + Integer examPaperId = examExamination.getExamPaperId(); + //考试次数 + Integer examNumber = examExamination.getExamNumber(); + //考试时长 + Integer timeLength = examExamination.getTimeLength(); + + if(type.equals("2")){ + ExamUserExamination examUserExamination = new ExamUserExamination(); + examUserExamination.setVipUserId(userId); + examUserExamination.setExamPaperId(examPaperId); + examUserExamination.setExamExaminationId(Integer.parseInt(inationId)); + //考试记录集合 + List userExamination = examUserExaminationService.selectLastOne(examUserExamination); + // 最后一次考试 + ExamUserExamination last; + + //超过考试次数 + if(userExamination.size()>=examNumber){ + + last = userExamination.get(0); + //最后一次考试已交卷,直接返回 + if(last.getUpdateDate()!=null&&!last.getUpdateDate().equals("")){ + return error(500,"已超过"+examNumber+"次考试,"); + }else{ + // 最后一次考试未交卷,但超过考试时长,直接返回 + if(last.getCreateDate().getTime()+timeLength*60*1000 list = examPaperService.selectQuestionAndItemByPaperId(examPaperId); + //是否乱序 + if(examExamination.getQuestionDisorder().equals("2")){ + Collections.shuffle(list); + } + AjaxResult success = success("查询成功"); + success.put("data", list); + return success; + } + + + /** + * 报名列表 + * @param examExamination + * @return + */ + @GetMapping("/v1/ination/entername/list") + public AjaxResult enterNameList(ExamExamination examExamination) { + Map map = new HashMap<>(); + map.put("ination",examExamination); + map.put("userId",1); + List list = examExaminationService.selectEnterNameListFromWeb(map); + AjaxResult success = success("查询成功"); + success.put("data", list); + return success; + } + + + + /** + * 报名 + * @param sysUser + * @param inationId + * @return + */ + @PostMapping("/v1/ination/entername") + public AjaxResult enterName(SysUser sysUser,String inationId) { + sysUser.setUserId(ShiroUtils.getUserId()); + sysUserService.updateSelectiveById(sysUser); + + ExamExaminationUser examExaminationUser = new ExamExaminationUser(); + examExaminationUser.setVipUserId(Integer.parseInt(ShiroUtils.getUserId().toString())); + examExaminationUser.setDelFlag("0"); + examExaminationUser.setCreateDate(new Date()); + examExaminationUser.setCreateBy(ShiroUtils.getLoginName()); + examExaminationUser.setExamExaminationId(Integer.parseInt(inationId)); + examExaminationUserService.insert(examExaminationUser); + + AjaxResult success = success("报名成功"); + return success; + } + + + +} diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamExaminationUser.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamExaminationUser.java new file mode 100644 index 000000000..a2e9d4754 --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamExaminationUser.java @@ -0,0 +1,152 @@ +package com.ruoyi.exam.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.base.BaseEntity; + import javax.persistence.Id; + import java.util.Date; + +/** + * 考试对象表 exam_examination_user + * + * @author zhujj + * @date 2019-01-13 + */ +public class ExamExaminationUser +{ +private static final long serialVersionUID = 1L; + + /** 考试对象 */ + @Id + private Integer id; + /** 考试代码 */ + private Integer examExaminationId; + /** 会员代码 */ + private Integer vipUserId; + /** 创建者 */ + private String createBy; + /** 创建时间 */ + private Date createDate; + /** 更新者 */ + private String updateBy; + /** 更新时间 */ + private Date updateDate; + /** 备注信息 */ + private String remarks; + /** 删除标记 */ + private String delFlag; + + /** 设置考试对象 */ + public void setId(Integer id) + { + this.id = id; + } + + /** 获取考试对象 */ + public Integer getId() + { + return id; + } + /** 设置考试代码 */ + public void setExamExaminationId(Integer examExaminationId) + { + this.examExaminationId = examExaminationId; + } + + /** 获取考试代码 */ + public Integer getExamExaminationId() + { + return examExaminationId; + } + /** 设置会员代码 */ + public void setVipUserId(Integer vipUserId) + { + this.vipUserId = vipUserId; + } + + /** 获取会员代码 */ + public Integer getVipUserId() + { + return vipUserId; + } + /** 设置创建者 */ + public void setCreateBy(String createBy) + { + this.createBy = createBy; + } + + /** 获取创建者 */ + public String getCreateBy() + { + return createBy; + } + /** 设置创建时间 */ + public void setCreateDate(Date createDate) + { + this.createDate = createDate; + } + + /** 获取创建时间 */ + public Date getCreateDate() + { + return createDate; + } + /** 设置更新者 */ + public void setUpdateBy(String updateBy) + { + this.updateBy = updateBy; + } + + /** 获取更新者 */ + public String getUpdateBy() + { + return updateBy; + } + /** 设置更新时间 */ + public void setUpdateDate(Date updateDate) + { + this.updateDate = updateDate; + } + + /** 获取更新时间 */ + public Date getUpdateDate() + { + return updateDate; + } + /** 设置备注信息 */ + public void setRemarks(String remarks) + { + this.remarks = remarks; + } + + /** 获取备注信息 */ + public String getRemarks() + { + return remarks; + } + /** 设置删除标记 */ + public void setDelFlag(String delFlag) + { + this.delFlag = delFlag; + } + + /** 获取删除标记 */ + public String getDelFlag() + { + return delFlag; + } + +public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("examExaminationId", getExamExaminationId()) + .append("vipUserId", getVipUserId()) + .append("createBy", getCreateBy()) + .append("createDate", getCreateDate()) + .append("updateBy", getUpdateBy()) + .append("updateDate", getUpdateDate()) + .append("remarks", getRemarks()) + .append("delFlag", getDelFlag()) + .toString(); + } + } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamExaminationVO.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamExaminationVO.java new file mode 100644 index 000000000..cc9c39a30 --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamExaminationVO.java @@ -0,0 +1,21 @@ +package com.ruoyi.exam.domain; + +/** + * Created by flower on 2019/1/12. + */ +public class ExamExaminationVO extends ExamExamination { + + private String trainCourseName; + + + public String getTrainCourseName() { + return trainCourseName; + } + + public void setTrainCourseName(String trainCourseName) { + this.trainCourseName = trainCourseName; + } + + + +} diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamUserExamination.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamUserExamination.java new file mode 100644 index 000000000..62b89a2b5 --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/domain/ExamUserExamination.java @@ -0,0 +1,180 @@ +package com.ruoyi.exam.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.base.BaseEntity; + import javax.persistence.Id; + import java.util.Date; + +/** + * 我的考试记录表 exam_user_examination + * + * @author zhujj + * @date 2019-01-12 + */ +public class ExamUserExamination +{ +private static final long serialVersionUID = 1L; + + /** 考试记录编码 */ + @Id + private Integer id; + /** 会员代码 */ + private Integer vipUserId; + /** 试题编码 */ + private Integer examExaminationId; + /** 试卷编码 */ + private Integer examPaperId; + /** 考试得分 */ + private Integer score; + /** 创建者 */ + private String createBy; + /** 创建时间 */ + private Date createDate; + /** 更新者 */ + private String updateBy; + /** 更新时间 */ + private Date updateDate; + /** 备注信息 */ + private String remarks; + /** 删除标记 */ + private String delFlag; + + /** 设置考试记录编码 */ + public void setId(Integer id) + { + this.id = id; + } + + /** 获取考试记录编码 */ + public Integer getId() + { + return id; + } + /** 设置会员代码 */ + public void setVipUserId(Integer vipUserId) + { + this.vipUserId = vipUserId; + } + + /** 获取会员代码 */ + public Integer getVipUserId() + { + return vipUserId; + } + /** 设置试题编码 */ + public void setExamExaminationId(Integer examExaminationId) + { + this.examExaminationId = examExaminationId; + } + + /** 获取试题编码 */ + public Integer getExamExaminationId() + { + return examExaminationId; + } + /** 设置试卷编码 */ + public void setExamPaperId(Integer examPaperId) + { + this.examPaperId = examPaperId; + } + + /** 获取试卷编码 */ + public Integer getExamPaperId() + { + return examPaperId; + } + /** 设置考试得分 */ + public void setScore(Integer score) + { + this.score = score; + } + + /** 获取考试得分 */ + public Integer getScore() + { + return score; + } + /** 设置创建者 */ + public void setCreateBy(String createBy) + { + this.createBy = createBy; + } + + /** 获取创建者 */ + public String getCreateBy() + { + return createBy; + } + /** 设置创建时间 */ + public void setCreateDate(Date createDate) + { + this.createDate = createDate; + } + + /** 获取创建时间 */ + public Date getCreateDate() + { + return createDate; + } + /** 设置更新者 */ + public void setUpdateBy(String updateBy) + { + this.updateBy = updateBy; + } + + /** 获取更新者 */ + public String getUpdateBy() + { + return updateBy; + } + /** 设置更新时间 */ + public void setUpdateDate(Date updateDate) + { + this.updateDate = updateDate; + } + + /** 获取更新时间 */ + public Date getUpdateDate() + { + return updateDate; + } + /** 设置备注信息 */ + public void setRemarks(String remarks) + { + this.remarks = remarks; + } + + /** 获取备注信息 */ + public String getRemarks() + { + return remarks; + } + /** 设置删除标记 */ + public void setDelFlag(String delFlag) + { + this.delFlag = delFlag; + } + + /** 获取删除标记 */ + public String getDelFlag() + { + return delFlag; + } + +public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("vipUserId", getVipUserId()) + .append("examExaminationId", getExamExaminationId()) + .append("examPaperId", getExamPaperId()) + .append("score", getScore()) + .append("createBy", getCreateBy()) + .append("createDate", getCreateDate()) + .append("updateBy", getUpdateBy()) + .append("updateDate", getUpdateDate()) + .append("remarks", getRemarks()) + .append("delFlag", getDelFlag()) + .toString(); + } + } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamExaminationMapper.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamExaminationMapper.java index a9655fc24..6c4321540 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamExaminationMapper.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamExaminationMapper.java @@ -24,4 +24,6 @@ public interface ExamExaminationMapper extends MyMapper public List selectExamExaminationList(ExamExamination examExamination); List selectListFromWeb(Map map); + + List selectEnterNameListFromWeb(Map map); } \ No newline at end of file diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamExaminationUserMapper.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamExaminationUserMapper.java new file mode 100644 index 000000000..e7933f6ca --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamExaminationUserMapper.java @@ -0,0 +1,24 @@ +package com.ruoyi.exam.mapper; + +import com.ruoyi.exam.domain.ExamExaminationUser; +import java.util.List; +import com.ruoyi.framework.web.base.MyMapper; + +/** + * 考试对象 数据层 + * + * @author zhujj + * @date 2019-01-13 + */ +public interface ExamExaminationUserMapper extends MyMapper +{ + + /** + * 查询考试对象列表 + * + * @param examExaminationUser 考试对象信息 + * @return 考试对象集合 + */ + public List selectExamExaminationUserList(ExamExaminationUser examExaminationUser); + +} \ No newline at end of file diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamQuestionMapper.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamQuestionMapper.java index d9eb9e7e2..e4725f7d2 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamQuestionMapper.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamQuestionMapper.java @@ -68,4 +68,6 @@ public interface ExamQuestionMapper extends MyMapper List selectQuestionListByPracticeId(Map map); ExamQuestionVO selectQuestionDetail(String questionId); + + List selectQuestionListByPaperId(Integer examPaperId); } \ No newline at end of file diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamUserExaminationMapper.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamUserExaminationMapper.java new file mode 100644 index 000000000..2542c0f7e --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/mapper/ExamUserExaminationMapper.java @@ -0,0 +1,25 @@ +package com.ruoyi.exam.mapper; + +import com.ruoyi.exam.domain.ExamUserExamination; +import java.util.List; +import com.ruoyi.framework.web.base.MyMapper; + +/** + * 我的考试记录 数据层 + * + * @author zhujj + * @date 2019-01-12 + */ +public interface ExamUserExaminationMapper extends MyMapper +{ + + /** + * 查询我的考试记录列表 + * + * @param examUserExamination 我的考试记录信息 + * @return 我的考试记录集合 + */ + public List selectExamUserExaminationList(ExamUserExamination examUserExamination); + + List selectLastOne(ExamUserExamination examUserExamination); +} \ No newline at end of file diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamExaminationService.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamExaminationService.java index 408db9aa0..7a4d6ad2d 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamExaminationService.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamExaminationService.java @@ -34,4 +34,11 @@ public interface IExamExaminationService extends AbstractBaseService selectListFromWeb(Map map); + + /** + * 查询可以报名的列表 + * @param map + * @return + */ + List selectEnterNameListFromWeb(Map map); } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamExaminationUserService.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamExaminationUserService.java new file mode 100644 index 000000000..ccf5392d5 --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamExaminationUserService.java @@ -0,0 +1,30 @@ +package com.ruoyi.exam.service; + +import com.ruoyi.exam.domain.ExamExaminationUser; +import java.util.List; +import com.ruoyi.framework.web.base.AbstractBaseService; +/** + * 考试对象 服务层 + * + * @author zhujj + * @date 2019-01-13 + */ +public interface IExamExaminationUserService extends AbstractBaseService +{ + /** + * 查询考试对象分页列表 + * + * @param examExaminationUser 考试对象信息 + * @return 考试对象集合 + */ + public List selectExamExaminationUserPage(ExamExaminationUser examExaminationUser); + /** + * 查询考试对象列表 + * + * @param examExaminationUser 考试对象信息 + * @return 考试对象集合 + */ + public List selectExamExaminationUserList(ExamExaminationUser examExaminationUser); + + +} diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPaperService.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPaperService.java index 20c933f7b..02965e871 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPaperService.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamPaperService.java @@ -2,6 +2,8 @@ package com.ruoyi.exam.service; import com.ruoyi.exam.domain.ExamPaper; import java.util.List; + +import com.ruoyi.exam.domain.ExamQuestionVO; import com.ruoyi.framework.web.base.AbstractBaseService; /** * 试卷 服务层 @@ -28,4 +30,6 @@ public interface IExamPaperService extends AbstractBaseService List selectListByCategory(ExamPaper examPaper); + + List selectQuestionAndItemByPaperId(Integer examPaperId); } diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamUserExaminationService.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamUserExaminationService.java new file mode 100644 index 000000000..839786c4b --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/IExamUserExaminationService.java @@ -0,0 +1,35 @@ +package com.ruoyi.exam.service; + +import com.ruoyi.exam.domain.ExamUserExamination; +import java.util.List; +import com.ruoyi.framework.web.base.AbstractBaseService; +/** + * 我的考试记录 服务层 + * + * @author zhujj + * @date 2019-01-12 + */ +public interface IExamUserExaminationService extends AbstractBaseService +{ + /** + * 查询我的考试记录分页列表 + * + * @param examUserExamination 我的考试记录信息 + * @return 我的考试记录集合 + */ + public List selectExamUserExaminationPage(ExamUserExamination examUserExamination); + /** + * 查询我的考试记录列表 + * + * @param examUserExamination 我的考试记录信息 + * @return 我的考试记录集合 + */ + public List selectExamUserExaminationList(ExamUserExamination examUserExamination); + + /** + * 查询用户上一次的考试 + * @param examUserExamination + * @return + */ + List selectLastOne(ExamUserExamination examUserExamination); +} diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamExaminationServiceImpl.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamExaminationServiceImpl.java index 45118e086..bdcaff5c0 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamExaminationServiceImpl.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamExaminationServiceImpl.java @@ -41,6 +41,12 @@ public class ExamExaminationServiceImpl extends AbstractBaseServiceImpl selectEnterNameListFromWeb(Map map) { + startPage(); + return examExaminationMapper.selectEnterNameListFromWeb(map); + } + /** * 查询考试分页列表 * diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamExaminationUserServiceImpl.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamExaminationUserServiceImpl.java new file mode 100644 index 000000000..6432e333b --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamExaminationUserServiceImpl.java @@ -0,0 +1,48 @@ +package com.ruoyi.exam.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.exam.mapper.ExamExaminationUserMapper; +import com.ruoyi.exam.domain.ExamExaminationUser; +import com.ruoyi.exam.service.IExamExaminationUserService; +import com.ruoyi.common.support.Convert; +import com.ruoyi.framework.web.base.AbstractBaseServiceImpl; +/** + * 考试对象 服务层实现 + * + * @author zhujj + * @date 2019-01-13 + */ +@Service +public class ExamExaminationUserServiceImpl extends AbstractBaseServiceImpl implements IExamExaminationUserService +{ + @Autowired + private ExamExaminationUserMapper examExaminationUserMapper; + + + /** + * 查询考试对象列表 + * + * @param examExaminationUser 考试对象信息 + * @return 考试对象集合 + */ + @Override + public List selectExamExaminationUserList(ExamExaminationUser examExaminationUser) + { + return examExaminationUserMapper.selectExamExaminationUserList(examExaminationUser); + } + /** + * 查询考试对象分页列表 + * + * @param examExaminationUser 考试对象信息 + * @return 考试对象集合 + */ + @Override + public List selectExamExaminationUserPage(ExamExaminationUser examExaminationUser) + { + startPage(); + return examExaminationUserMapper.selectExamExaminationUserList(examExaminationUser); + } + +} diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPaperServiceImpl.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPaperServiceImpl.java index b673b1f65..99a2b08c6 100644 --- a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPaperServiceImpl.java +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamPaperServiceImpl.java @@ -1,6 +1,10 @@ package com.ruoyi.exam.service.impl; import java.util.List; + +import com.ruoyi.exam.domain.ExamQuestionVO; +import com.ruoyi.exam.mapper.ExamPaperQuestionMapper; +import com.ruoyi.exam.mapper.ExamQuestionMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.exam.mapper.ExamPaperMapper; @@ -20,6 +24,9 @@ public class ExamPaperServiceImpl extends AbstractBaseServiceImpl selectQuestionAndItemByPaperId(Integer examPaperId) { + List list = examQuestionMapper.selectQuestionListByPaperId(examPaperId); + return list; + } + /** * 查询试卷分页列表 * diff --git a/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamUserExaminationServiceImpl.java b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamUserExaminationServiceImpl.java new file mode 100644 index 000000000..cd8a5cf16 --- /dev/null +++ b/ruoyi-exam/src/main/java/com/ruoyi/exam/service/impl/ExamUserExaminationServiceImpl.java @@ -0,0 +1,54 @@ +package com.ruoyi.exam.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.exam.mapper.ExamUserExaminationMapper; +import com.ruoyi.exam.domain.ExamUserExamination; +import com.ruoyi.exam.service.IExamUserExaminationService; +import com.ruoyi.common.support.Convert; +import com.ruoyi.framework.web.base.AbstractBaseServiceImpl; +/** + * 我的考试记录 服务层实现 + * + * @author zhujj + * @date 2019-01-12 + */ +@Service +public class ExamUserExaminationServiceImpl extends AbstractBaseServiceImpl implements IExamUserExaminationService +{ + @Autowired + private ExamUserExaminationMapper examUserExaminationMapper; + + + /** + * 查询我的考试记录列表 + * + * @param examUserExamination 我的考试记录信息 + * @return 我的考试记录集合 + */ + @Override + public List selectExamUserExaminationList(ExamUserExamination examUserExamination) + { + return examUserExaminationMapper.selectExamUserExaminationList(examUserExamination); + } + + @Override + public List selectLastOne(ExamUserExamination examUserExamination) { + return examUserExaminationMapper.selectLastOne(examUserExamination); + } + + /** + * 查询我的考试记录分页列表 + * + * @param examUserExamination 我的考试记录信息 + * @return 我的考试记录集合 + */ + @Override + public List selectExamUserExaminationPage(ExamUserExamination examUserExamination) + { + startPage(); + return examUserExaminationMapper.selectExamUserExaminationList(examUserExamination); + } + +} diff --git a/ruoyi-exam/src/main/resources/mapper/exam/ExamExaminationMapper.xml b/ruoyi-exam/src/main/resources/mapper/exam/ExamExaminationMapper.xml index c39fffa10..185ffe758 100644 --- a/ruoyi-exam/src/main/resources/mapper/exam/ExamExaminationMapper.xml +++ b/ruoyi-exam/src/main/resources/mapper/exam/ExamExaminationMapper.xml @@ -4,11 +4,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + + @@ -30,7 +31,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - id, dept_id, exam_paper_id,train_course_id, name,type, enable_control_time, start_time, end_time, time_length, exam_number, pass_mark, question_disorder, finished_paper, exam_end, examination_user_limit, create_by, create_date, update_by, update_date, remarks, del_flag + exam_examination.id, + exam_examination.dept_id, + exam_examination.exam_paper_id, + exam_examination.train_course_id, + exam_examination.name, + exam_examination.type, + exam_examination.enable_control_time, + exam_examination.start_time, + exam_examination.end_time, + exam_examination.time_length, + exam_examination.exam_number, + exam_examination.pass_mark, + exam_examination.question_disorder, + exam_examination.finished_paper, + exam_examination.exam_end, + exam_examination.examination_user_limit, + exam_examination.create_by, + exam_examination.create_date, + exam_examination.update_by, + exam_examination.update_date, + exam_examination.remarks, + exam_examination.del_flag select - * + ,tc.name as traincourse_name from exam_examination exam_examination + INNER JOIN train_course tc ON exam_examination.train_course_id = tc.id LEFT JOIN exam_examination_user eeu ON eeu.exam_examination_id = exam_examination.id + (exam_examination.type = '1' or eeu.vip_user_id = #{userId}) + and + NOW() and start_time < NOW()) + or enable_control_time = '0') ]]> + and exam_examination.id = #{ination.id} + and exam_examination.dept_id = #{ination.deptId} + and exam_examination.exam_paper_id = #{ination.examPaperId} + and exam_examination.name = #{ination.name} + and exam_examination.type = #{ination.type} + and exam_examination.enable_control_time = #{ination.enableControlTime} + and exam_examination.start_time = #{ination.startTime} + and exam_examination.end_time = #{ination.endTime} + and exam_examination.time_length = #{ination.timeLength} + and exam_examination.exam_number = #{ination.examNumber} + and exam_examination.pass_mark = #{ination.passMark} + and exam_examination.question_disorder = #{ination.questionDisorder} + and exam_examination.finished_paper = #{ination.finishedPaper} + and exam_examination.exam_end = #{ination.examEnd} + and exam_examination.examination_user_limit = #{ination.examinationUserLimit} + and exam_examination.create_by = #{ination.createBy} + and exam_examination.create_date = #{ination.createDate} + and exam_examination.update_by = #{ination.updateBy} + and exam_examination.update_date = #{ination.updateDate} + and exam_examination.remarks = #{ination.remarks} + and exam_examination.del_flag = #{ination.delFlag} + + + + + + + select + + from exam_examination_user + + and id = #{id} + and exam_examination_id = #{examExaminationId} + and vip_user_id = #{vipUserId} + and create_by = #{createBy} + and create_date = #{createDate} + and update_by = #{updateBy} + and update_date = #{updateDate} + and remarks = #{remarks} + and del_flag = #{delFlag} + + + + + \ No newline at end of file diff --git a/ruoyi-exam/src/main/resources/mapper/exam/ExamQuestionMapper.xml b/ruoyi-exam/src/main/resources/mapper/exam/ExamQuestionMapper.xml index 63fedfe78..79a2724b1 100644 --- a/ruoyi-exam/src/main/resources/mapper/exam/ExamQuestionMapper.xml +++ b/ruoyi-exam/src/main/resources/mapper/exam/ExamQuestionMapper.xml @@ -122,6 +122,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where eq.id = #{questionId} + insert into exam_question diff --git a/ruoyi-exam/src/main/resources/mapper/exam/ExamUserExaminationMapper.xml b/ruoyi-exam/src/main/resources/mapper/exam/ExamUserExaminationMapper.xml new file mode 100644 index 000000000..5b2f3e42b --- /dev/null +++ b/ruoyi-exam/src/main/resources/mapper/exam/ExamUserExaminationMapper.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + id, vip_user_id, exam_examination_id, exam_paper_id, score, create_by, create_date, update_by, update_date, remarks, del_flag + + + + + + + \ No newline at end of file