From daf7acb4f107a427e4a83ba1eb26e5e6012cbdaf Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期三, 26 六月 2024 17:04:52 +0800 Subject: [PATCH] update --- exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExExamPaperServiceImpl.java | 26 +++++++++++++++----------- 1 files changed, 15 insertions(+), 11 deletions(-) diff --git a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExExamPaperServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExExamPaperServiceImpl.java index a24760b..5bd7e0d 100644 --- a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExExamPaperServiceImpl.java +++ b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExExamPaperServiceImpl.java @@ -88,6 +88,8 @@ examPaper.setCreateBy(SecurityUtils.getUsername()); if(examPaper.getLimitTime()>0){ examPaper.setLimit(1); + }else{ + examPaper.setLimit(0); } int row=baseMapper.insert(examPaper); if(row<1){ @@ -135,19 +137,19 @@ } private List<ExPaperQuestion> getPaperQuestions(Long paperId,Long bankId,Integer questionMethod,Integer questionCount,Integer questionScore, QuestionTypeEnum questionTypeEnum) { - SysUser user=SecurityUtils.getLoginUser().getUser(); - Integer totalQuestionCount=questionMapper.selectCountByBankId(user.getCompanyId(), bankId, questionTypeEnum.getCode()); + SysUser currentUser=SecurityUtils.getLoginUser().getUser(); + Integer totalQuestionCount=questionMapper.selectCountByBankId(currentUser.getCompanyId(), bankId, questionTypeEnum.getCode()); if(totalQuestionCount< questionCount){ throw new ApiException(String.format("所选题库<%s>数量不足,无法分配",questionTypeEnum.getInfo())); } List<ExQuestion> questions=new ArrayList<>(); if(Objects.equals(questionMethod, QuestionAssignEnum.RANDOM.getCode())){//随机分配 - questions=questionMapper.selectRandomQuestion(user.getCompanyId(), bankId,questionTypeEnum.getCode(), questionCount); + questions=questionMapper.selectRandomQuestion(currentUser.getCompanyId(), bankId,questionTypeEnum.getCode(), questionCount); }else{//顺序分配 - int totalPage=questionCount/ questionMethod;//不能整除,忽略最后一页 + int totalPage=questionCount/questionMethod;//不能整除,忽略最后一页 Random random=new Random(); int startIndex=random.nextInt(totalPage)+1; - questions=questionMapper.selectQuestionWithLimit(user.getCompanyId(), bankId,questionTypeEnum.getCode(),startIndex, questionCount); + questions=questionMapper.selectQuestionWithLimit(currentUser.getCompanyId(), bankId,questionTypeEnum.getCode(),startIndex, questionCount); } List<ExPaperQuestion> paperQuestionList=questions.stream().map(item -> { ExPaperQuestion exPaperQuestion=new ExPaperQuestion(); @@ -162,6 +164,7 @@ @Override public int updateExamPaper(ExExamPaper examPaper) { + checkUserAllowed(examPaper); if(!checkNameUnique(examPaper)){ throw new ApiException("试卷名称已存在"); } @@ -170,7 +173,9 @@ throw new ApiException("该试卷下已分配学员,不能编辑"); } examPaper.setCode(null);//编号不能修改 - if(examPaper.getLimitTime()==0){ + if(examPaper.getLimitTime()>0){ + examPaper.setLimit(1); + }else{ examPaper.setLimit(0); } int row=baseMapper.updateById(examPaper); @@ -199,16 +204,17 @@ @Override public int deleteExamPaperById(Long paperId) { + checkUserAllowed(baseMapper.selectById(paperId)); //查询该试卷分配的学员人数 if(checkPaperHasStudent(paperId)){ throw new ApiException("该试卷下已分配学员,不能删除"); } - int row=baseMapper.deleteById(paperId); + int row=baseMapper.deletePaperById(paperId); if(row<1){ throw new ApiException("删除试卷失败"); } //删除考卷试题 - paperQuestionMapper.deletebyPapaerId(paperId); + // paperQuestionMapper.deletebyPapaerId(paperId); return row; } @@ -233,9 +239,7 @@ @Override public int changeExamPaperStatus(Long paperId, Integer status) { + checkUserAllowed(baseMapper.selectById(paperId)); return baseMapper.updateById(new ExExamPaper().setId(paperId).setStatus(status).setUpdateBy(SecurityUtils.getUsername())); } - - - } -- Gitblit v1.9.2