lyhzzz 2 месяцев назад
Родитель
Сommit
d67649c006

+ 1 - 0
src/main/java/com/fdkankan/fusion/down/CaseDownService.java

@@ -140,6 +140,7 @@ public class CaseDownService {
     private void delFile(String path){
     private void delFile(String path){
         if(StringUtils.isNotBlank(path)){
         if(StringUtils.isNotBlank(path)){
             try {
             try {
+                Thread.sleep(2000L);
                 FileUtil.del(path);
                 FileUtil.del(path);
             }catch (Exception e){
             }catch (Exception e){
                 log.info("删除文件失败:{}",path);
                 log.info("删除文件失败:{}",path);

+ 2 - 0
src/main/java/com/fdkankan/fusion/service/ISceneDeptShareService.java

@@ -24,4 +24,6 @@ public interface ISceneDeptShareService extends IService<SceneDeptShare> {
     List<SceneDeptShare>  shareAuthList(SceneDeptShare param);
     List<SceneDeptShare>  shareAuthList(SceneDeptShare param);
 
 
     List<Integer> getCaseIdsListByDeptId(String deptId);
     List<Integer> getCaseIdsListByDeptId(String deptId);
+
+    List<SceneDeptShare> getByCaseIdAndDeptId(Integer caseId, String deptId);
 }
 }

+ 20 - 1
src/main/java/com/fdkankan/fusion/service/impl/CaseServiceImpl.java

@@ -306,6 +306,26 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
         if(!StpUtil.isLogin()){
         if(!StpUtil.isLogin()){
             throw new BusinessException(ResultCode.USER_NOT_LOGIN);
             throw new BusinessException(ResultCode.USER_NOT_LOGIN);
         }
         }
+        String page = SaHolder.getRequest().getHeader("page");
+        if(StringUtils.isBlank(page) ) {
+            throw new BusinessException(ResultCode.USER_NOT_LOGIN);
+        }
+
+        String deptId =(String) StpUtil.getExtra("deptId");
+
+        //获取共享数据
+        List<SceneDeptShare> sceneDeptShares = sceneDeptShareService.getByCaseIdAndDeptId(caseVo.getCaseId(),deptId);
+
+        //0不共享,1查看,2编辑
+        if(!sceneDeptShares.isEmpty()){
+            for (SceneDeptShare sceneDeptShare : sceneDeptShares) {
+                if(sceneDeptShare.getIsAuth() == 2){
+                    return;
+                }else if("edit".equals(page)){
+                    throw new BusinessException(ResultCode.NOT_PERMISSION);
+                }
+            }
+        }
 
 
         List<String> deptIds = tmDepartmentService.getDeptIds();
         List<String> deptIds = tmDepartmentService.getDeptIds();
         if(deptIds.size() <=0){
         if(deptIds.size() <=0){
@@ -315,7 +335,6 @@ public class CaseServiceImpl extends ServiceImpl<ICaseMapper, CaseEntity> implem
         if(caseVo.getTmProject() != null){
         if(caseVo.getTmProject() != null){
             caseDeptId = caseVo.getTmProject().getDeptId();
             caseDeptId = caseVo.getTmProject().getDeptId();
         }
         }
-        String deptId =(String) StpUtil.getExtra("deptId");
 
 
         List<String> deptIds2 = tmDepartmentService.getSonByDeptIdAndDeptIds(deptIds, deptId);
         List<String> deptIds2 = tmDepartmentService.getSonByDeptIdAndDeptIds(deptIds, deptId);
         if(!deptIds2.contains(caseDeptId)){
         if(!deptIds2.contains(caseDeptId)){

+ 14 - 2
src/main/java/com/fdkankan/fusion/service/impl/ModelServiceImpl.java

@@ -402,14 +402,26 @@ public class ModelServiceImpl extends ServiceImpl<IModelMapper, Model> implement
                     ossGlbPaths.add(queryPath +ossGlbPath);
                     ossGlbPaths.add(queryPath +ossGlbPath);
                 }
                 }
                 model.setModelSize(FileWriterUtil.setFileSize(modelSize));
                 model.setModelSize(FileWriterUtil.setFileSize(modelSize));
-                FileUtil.del(objPath);
+
+                delFile(objPath);
                 return JSONArray.toJSONString(ossGlbPaths);
                 return JSONArray.toJSONString(ossGlbPaths);
             }
             }
-            FileUtil.del(objPath);
+            delFile(objPath);
         }
         }
         return null;
         return null;
     }
     }
 
 
+    private void delFile(String path){
+        if(StringUtils.isNotBlank(path)){
+            try {
+                Thread.sleep(2000L);
+                FileUtil.del(path);
+            }catch (Exception e){
+                log.info("删除文件失败:{}",path);
+            }
+        }
+    }
+
     private void toGlB(File localFile, List<String> localGlbPath) {
     private void toGlB(File localFile, List<String> localGlbPath) {
         File[] files = localFile.listFiles();
         File[] files = localFile.listFiles();
         for (File file : files) {
         for (File file : files) {

+ 10 - 0
src/main/java/com/fdkankan/fusion/service/impl/SceneDeptShareServiceImpl.java

@@ -103,6 +103,16 @@ public class SceneDeptShareServiceImpl extends ServiceImpl<ISceneDeptShareMapper
     }
     }
 
 
     @Override
     @Override
+    public List<SceneDeptShare> getByCaseIdAndDeptId(Integer caseId, String deptId) {
+        LambdaQueryWrapper<SceneDeptShare> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SceneDeptShare::getDeptId,deptId);
+        wrapper.ne(SceneDeptShare::getIsAuth,0);
+        wrapper.eq(SceneDeptShare::getCaseId,caseId);
+        List<SceneDeptShare> list = this.list(wrapper);
+        return list;
+    }
+
+    @Override
     public  List<SceneDeptShare>  shareAuthList(SceneDeptShare param) {
     public  List<SceneDeptShare>  shareAuthList(SceneDeptShare param) {
         LambdaQueryWrapper<SceneDeptShare> wrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<SceneDeptShare> wrapper = new LambdaQueryWrapper<>();
         if(StringUtils.isNotBlank(param.getNum()) && param.getIsObj() !=null){
         if(StringUtils.isNotBlank(param.getNum()) && param.getIsObj() !=null){