From 8458e64aab474c0fc2f49ae4ff22fb11ce5cf6e2 Mon Sep 17 00:00:00 2001 From: “djh” <“3298565835@qq.com”> Date: 星期一, 11 十一月 2024 16:55:28 +0800 Subject: [PATCH] 批次新增学员查询条件,新增题目导入接口 --- exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExQuestionBankServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 41 insertions(+), 6 deletions(-) diff --git a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExQuestionBankServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExQuestionBankServiceImpl.java index 0a496b8..85f7f18 100644 --- a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExQuestionBankServiceImpl.java +++ b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExQuestionBankServiceImpl.java @@ -33,6 +33,10 @@ @Override public CommonPage selectQuestionBankList(ExQuestionBank questionBank) { + SysUser user= SecurityUtils.getLoginUser().getUser(); + if(!user.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())){ + questionBank.setCompanyId(user.getCompanyId()); + } PageUtils.startPage(); List<ExQuestionBank> bankList=baseMapper.selectQuestionBankList(questionBank); return CommonPage.restPage(bankList); @@ -40,11 +44,23 @@ @Override public ExQuestionBank selectQuestionBankById(Long bankId) { - return baseMapper.selectById(bankId); + ExQuestionBank questionBank= baseMapper.selectById(bankId); + if(questionBank.getPrivatize().equals(PrivatizeEnum.PUBLIC.getCode())){ + return questionBank; + } + SysUser currentUser=SecurityUtils.getLoginUser().getUser(); + if(currentUser.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())){ + return questionBank; + } + if(!questionBank.getCompanyId().equals(currentUser.getCompanyId())){ + throw new ApiException("无权限查看其它企业题库"); + } + return questionBank; } @Override public int insertQuestionBank(ExQuestionBank questionBank) { + checkUserAllowed(questionBank); if(!checkNameUnique(questionBank)){ throw new ApiException("题库名称已存在"); } @@ -52,11 +68,8 @@ if(user.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())){ questionBank.setPrivatize(PrivatizeEnum.PUBLIC.getCode()); }else{ - if(user.getCompanyId()==null){ - throw new ApiException("获取用户公司id为空"); - } - questionBank.setPrivatize(PrivatizeEnum.PRIVATE.getCode()); questionBank.setCompanyId(user.getCompanyId()); + questionBank.setPrivatize(PrivatizeEnum.PRIVATE.getCode()); } int row =baseMapper.insert(questionBank); if(row<1){ @@ -67,6 +80,7 @@ @Override public int updateQuestionBank(ExQuestionBank questionBank) { + checkUserAllowed(questionBank); if(!checkNameUnique(questionBank)){ throw new ApiException("题库名称已存在"); } @@ -77,8 +91,22 @@ return row; } + public void checkUserAllowed(ExQuestionBank questionBank) { + SysUser currentUser= SecurityUtils.getLoginUser().getUser(); + if(currentUser.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())){ + return; + } + if(currentUser.getUserType().equals(UserTypeEnum.STUDENT.getCode())){ + throw new ApiException("没有权限操作"); + } + if(questionBank.getCompanyId()!=null&&!currentUser.getCompanyId().equals(questionBank.getCompanyId())){ + throw new ApiException("没有权限操作其他企业课程"); + } + } + @Override public int deleteQuestionBankById(Long bankId) { + checkUserAllowed(baseMapper.selectById(bankId)); return baseMapper.deleteByBankId(bankId); } @@ -101,6 +129,9 @@ @Override public CommonPage selectQuestionBankListForStudent(ExQuestionBank questionBank) { SysUser user= SecurityUtils.getLoginUser().getUser(); + if(!user.getUserType().equals(UserTypeEnum.STUDENT.getCode())){ + throw new ApiException("非学员用户,无法查看"); + } questionBank.setCompanyId(user.getCompanyId()); questionBank.setStudentId(user.getId()); PageUtils.startPage(); @@ -110,7 +141,11 @@ @Override public ExQuestionBank selectQuestionBankByIdForStudent(Long bankId) { - return baseMapper.selectQuestionBankByIdForStudent(bankId,SecurityUtils.getUserId()); + SysUser user= SecurityUtils.getLoginUser().getUser(); + if(!user.getUserType().equals(UserTypeEnum.STUDENT.getCode())){ + throw new ApiException("非学员用户,无法查看"); + } + return baseMapper.selectQuestionBankByIdForStudent(bankId,user.getId()); } @Override -- Gitblit v1.9.2