From f0f00e9ba8a755e4317e029d73b69a92ad9f9df1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期六, 14 九月 2024 17:02:41 +0800
Subject: [PATCH] update

---
 exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExCoursePhaseServiceImpl.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExCoursePhaseServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExCoursePhaseServiceImpl.java
index 82b319d..202ca2c 100644
--- a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExCoursePhaseServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExCoursePhaseServiceImpl.java
@@ -4,12 +4,15 @@
 import com.gkhy.exam.common.api.CommonPage;
 import com.gkhy.exam.common.constant.UserConstant;
 import com.gkhy.exam.common.domain.entity.SysUser;
+import com.gkhy.exam.common.enums.ApproveStatusEnum;
 import com.gkhy.exam.common.enums.CodeTypeEnum;
 import com.gkhy.exam.common.enums.UserTypeEnum;
 import com.gkhy.exam.common.exception.ApiException;
 import com.gkhy.exam.common.utils.PageUtils;
 import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.ExCourse;
 import com.gkhy.exam.system.domain.ExCoursePhase;
+import com.gkhy.exam.system.mapper.ExCourseMapper;
 import com.gkhy.exam.system.mapper.ExCoursePhaseMapper;
 import com.gkhy.exam.system.mapper.ExPhaseStudentMapper;
 import com.gkhy.exam.system.service.ExCoursePhaseService;
@@ -31,6 +34,8 @@
 public class ExCoursePhaseServiceImpl extends ServiceImpl<ExCoursePhaseMapper, ExCoursePhase> implements ExCoursePhaseService {
     @Autowired
     private ExPhaseStudentMapper phaseStudentMapper;
+    @Autowired
+    private ExCourseMapper courseMapper;
 
 
 
@@ -64,6 +69,7 @@
     @Override
     public int insertCoursePhase(ExCoursePhase coursePhase) {
         checkUserAllowed(coursePhase);
+        checkCourseStatus(coursePhase);
         if(!checkNameUnique(coursePhase)){
             throw new ApiException("批次名称已存在");
         }
@@ -79,6 +85,7 @@
     @Override
     public int updateCoursePhase(ExCoursePhase coursePhase) {
         checkUserAllowed(coursePhase);
+        checkCourseStatus(coursePhase);
         if(!checkNameUnique(coursePhase)){
             throw new ApiException("批次名称已存在");
         }
@@ -98,7 +105,7 @@
         if(currentUser.getUserType().equals(UserTypeEnum.STUDENT.getCode())){
             throw new ApiException("没有权限操作");
         }
-        if(!currentUser.getCompanyId().equals(coursePhase.getCompanyId())){
+        if(coursePhase.getCompanyId()!=null&&!currentUser.getCompanyId().equals(coursePhase.getCompanyId())){
             throw new ApiException("没有权限操作其他企业批次");
         }
         int level=coursePhase.getLevel();
@@ -110,6 +117,18 @@
         }
     }
 
+
+    private void checkCourseStatus(ExCoursePhase coursePhase){
+        Long courseId=coursePhase.getCourseId();
+        ExCourse course= courseMapper.selectById(courseId);
+        if(course.getStatus().equals(UserConstant.DISENABLE)){
+            throw new ApiException("课程已禁用,不能分配");
+        }
+        if(!course.getState().equals(ApproveStatusEnum.APPROVED.getCode())){
+            throw new ApiException("课程审批未通过,不能分配");
+        }
+    }
+
     @Override
     public int deleteCoursePhaseById(Long phaseId) {
         checkUserAllowed(baseMapper.selectById(phaseId));

--
Gitblit v1.9.2