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/ExCourseServiceImpl.java |   29 ++++++++++++++++++++++++-----
 1 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExCourseServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExCourseServiceImpl.java
index 1fba51e..682e92b 100644
--- a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExCourseServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExCourseServiceImpl.java
@@ -10,6 +10,7 @@
 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.common.utils.StringUtils;
 import com.gkhy.exam.system.domain.ExCourse;
 import com.gkhy.exam.system.mapper.ExCourseChapterMapper;
 import com.gkhy.exam.system.mapper.ExCourseMapper;
@@ -78,7 +79,7 @@
             course.setState(ApproveStatusEnum.APPROVED.getCode());
             course.setPrivatize(PrivatizeEnum.PUBLIC.getCode());
         }else{
-            course.setState(ApproveStatusEnum.APPROVING.getCode());
+            course.setState(ApproveStatusEnum.TEMPORARY.getCode());
         }
         int row =baseMapper.insert(course);
         if(row<1){
@@ -112,8 +113,11 @@
             throw new ApiException("没有权限操作其他企业课程");
         }
         if(course.getId()!=null){
+            if(course.getState().equals(ApproveStatusEnum.APPROVING.getCode())){
+                throw new ApiException("课程待审批状态不能再操作");
+            }
             if(course.getState().equals(ApproveStatusEnum.APPROVED.getCode())){
-                throw new ApiException("已审批的课程不能再修改");
+                throw new ApiException("已审批的课程不能再操作");
             }
         }
     }
@@ -139,8 +143,9 @@
 
     @Override
     public boolean checkNameUnique(ExCourse course) {
+        SysUser user=SecurityUtils.getLoginUser().getUser();
         Long courseId=course.getId()==null?-1L:course.getId();
-        ExCourse cou= baseMapper.checkNameUnique(course.getName());
+        ExCourse cou= baseMapper.checkNameUnique(course.getName(),user.getCompanyId());
         if(cou!=null&&cou.getId().longValue()!=courseId.longValue()){
             return UserConstant.NOT_UNIQUE;
         }
@@ -149,8 +154,22 @@
 
     @Override
     public int doApprove(ExCourse course) {
-        ExCourse existCourse=baseMapper.selectById(course.getId());
-        checkUserAllowed(existCourse);
+        SysUser currentUser= SecurityUtils.getLoginUser().getUser();
+        ExCourse dbCourse=getById(course.getId());
+        if(!currentUser.getUserType().equals(UserTypeEnum.SYSTEM_USER.getCode())){
+            if(currentUser.getUserType().equals(UserTypeEnum.STUDENT.getCode())){
+                throw new ApiException("没有权限操作");
+            }
+            if(!currentUser.getCompanyId().equals(dbCourse.getCompanyId())){
+                throw new ApiException("没有权限操作其他企业课程");
+            }
+            if(dbCourse.getState().equals(ApproveStatusEnum.APPROVED.getCode())){
+                throw new ApiException("已审批的课程不能再操作");
+            }
+        }
+        if(StringUtils.isBlank(course.getMessage())){
+            course.setMessage("");
+        }
         int row=baseMapper.updateById(course);
         if(row<1){
             throw new ApiException("审批失败");

--
Gitblit v1.9.2