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/ExResourceServiceImpl.java |   26 ++++++++++++++++++++++++--
 1 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExResourceServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExResourceServiceImpl.java
index 452ec96..200e266 100644
--- a/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExResourceServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/system/service/impl/ExResourceServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.config.MinioConfig;
 import com.gkhy.exam.common.constant.UserConstant;
 import com.gkhy.exam.common.domain.entity.SysUser;
 import com.gkhy.exam.common.enums.PrivatizeEnum;
@@ -32,6 +33,12 @@
 public class ExResourceServiceImpl extends ServiceImpl<ExResourceMapper, ExResource> implements ExResourceService {
     @Autowired
     private SysCommonService commonService;
+
+    @Autowired
+    private MinioConfig minioConfig;
+
+
+
     @Override
     public CommonPage selectResourseList(ExResource resource) {
         SysUser currentUser = SecurityUtils.getLoginUser().getUser();
@@ -40,6 +47,9 @@
         }
         PageUtils.startPage();
         List<ExResource> resourceList=baseMapper.selectResourceList(resource);
+        resourceList.forEach(item -> {
+            item.setResourcePath(minioConfig.getEndpoint()+minioConfig.getBucketName()+"/"+item.getResourcePath());
+        });
         return CommonPage.restPage(resourceList);
     }
 
@@ -49,6 +59,7 @@
         if(resource==null){
             return resource;
         }
+        resource.setResourcePath(minioConfig.getEndpoint()+minioConfig.getBucketName()+"/"+resource.getResourcePath());
         if(resource.getPrivatize().equals(PrivatizeEnum.PUBLIC.getCode())){
             return resource;
         }
@@ -59,6 +70,7 @@
         if(!resource.getCompanyId().equals(currentUser.getCompanyId())){
             throw new ApiException("无权限查看其它企业资源");
         }
+
         return resource;
     }
 
@@ -68,6 +80,7 @@
         if(resource==null){
             return resource;
         }
+        resource.setResourcePath(minioConfig.getEndpoint()+minioConfig.getBucketName()+"/"+resource.getResourcePath());
         if(resource.getPrivatize().equals(PrivatizeEnum.PUBLIC.getCode())){
             return resource;
         }
@@ -126,6 +139,11 @@
         if(!checkNameUnique(resource)){
             throw new ApiException("资源名称已存在");
         }
+        String resourcePath=resource.getResourcePath();
+        if(resourcePath.startsWith(minioConfig.getEndpoint()+minioConfig.getBucketName()+"/")) {
+            resourcePath = resourcePath.replace(minioConfig.getEndpoint()+minioConfig.getBucketName() + "/", "");
+            resource.setResourcePath(resourcePath);
+        }
         int row=baseMapper.updateById(resource);
         if(row<1){
             throw new ApiException("更新资源失败");
@@ -141,7 +159,7 @@
         if(currentUser.getUserType().equals(UserTypeEnum.STUDENT.getCode())){
             throw new ApiException("没有权限操作");
         }
-        if(!currentUser.getCompanyId().equals(resource.getCompanyId())){
+        if(resource.getCompanyId()!=null&&!currentUser.getCompanyId().equals(resource.getCompanyId())){
             throw new ApiException("没有权限操作其他企业资源");
         }
     }
@@ -149,8 +167,12 @@
     @Override
     @Transactional(rollbackFor = RuntimeException.class)
     public int deleteResourceById(Long resourceId) {
-        //校验资源是否绑定
         checkUserAllowed(baseMapper.selectById(resourceId));
+        //校验资源是否绑定
+        int count= baseMapper.checkResourceAssign(resourceId);
+        if(count>0){
+            throw new ApiException("资源已跟课时关联,不能删除");
+        }
         ExResource resource=getById(resourceId);
         int row=baseMapper.deleteById(resourceId);
         if(row<1){

--
Gitblit v1.9.2