Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master' into master

yangyj 2 gadi atpakaļ
vecāks
revīzija
13782789df

+ 7 - 3
blade-common/src/main/java/org/springblade/common/utils/CommonUtil.java

@@ -94,9 +94,13 @@ public class CommonUtil {
     public static InputStream getOSSInputStream(String urlStr) throws Exception {
         //获取OSS文件流
         URL imageUrl = new URL(urlStr);
-        HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
-        conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
-        return conn.getInputStream();
+        try {
+            HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
+            conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
+            return conn.getInputStream();
+        }catch (Exception e){
+            return null;
+        }
     }
 
     /**

+ 8 - 4
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchiveOfflineVersionInfoServiceImpl.java

@@ -88,15 +88,19 @@ public class ArchiveOfflineVersionInfoServiceImpl extends BaseServiceImpl<Archiv
                     String fileUrl = file.getFileUrl();
                     String fileName = fileUrl.substring(fileUrl.lastIndexOf('/') + 1);
                     InputStream file_out = CommonUtil.getOSSInputStream(fileUrl);
-                    CommonUtil.inputStreamToFile(file_out, new File(localUrl + fileName));
-                    file.setFileUrl(fileName);
+                    if (file_out != null) {
+                        CommonUtil.inputStreamToFile(file_out, new File(localUrl + fileName));
+                        file.setFileUrl(fileName);
+                    }
                 }
                 if (StringUtil.isNotBlank(file.getPdfFileUrl())) {
                     String pdfFileUrl = file.getPdfFileUrl();
                     String fileName = pdfFileUrl.substring(pdfFileUrl.lastIndexOf('/') + 1);
                     InputStream file_out = CommonUtil.getOSSInputStream(pdfFileUrl);
-                    CommonUtil.inputStreamToFile(file_out, new File(localUrl + fileName));
-                    file.setPdfFileUrl(fileName);
+                    if (file_out != null) {
+                        CommonUtil.inputStreamToFile(file_out, new File(localUrl + fileName));
+                        file.setPdfFileUrl(fileName);
+                    }
                 }
             }
             try {

+ 3 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/utils/ArchiveTreeUtil.java

@@ -45,6 +45,9 @@ public class ArchiveTreeUtil {
                 subTreeList.add(subTree);
 
             }else {
+                if (subTree.getChildren() == null || subTree.getChildren().size() == 0) {
+                    continue;
+                }
                 if (subTree.getChildren().get(0).getExtType() == 2) {
                     for (ArchiveTreeContractVO2 contractNode : subTree.getChildren()){
                         subTreeList.add(contractNode);

+ 7 - 7
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ArchiveTreeController.java

@@ -106,16 +106,16 @@ public class ArchiveTreeController extends BladeController {
     @ApiOperationSupport(order = 5)
     @ApiOperation(value = "逻辑删除", notes = "传入id")
     public R remove(@ApiParam(value = "id", required = true) @RequestParam String id) {
-        List<ArchiveTree> archiveTrees = archiveTreeService.selectByParentIdOrId(id);
-        archiveTrees.forEach(archiveTree -> {
-            if (archiveTree.getParentId() == Long.parseLong(id)) {
-                throw new ServiceException("当前节点下存在子节点,删除失败");
-            }
+//        List<ArchiveTree> archiveTrees = archiveTreeService.selectByParentIdOrId(id);
+//        archiveTrees.forEach(archiveTree -> {
+//            if (archiveTree.getParentId() == Long.parseLong(id)) {
+//                throw new ServiceException("当前节点下存在子节点,删除失败");
+//            }
 //            if (archiveTree.getIsUploadFileDisplayConfigurationTree() == 1) {
 //                throw new ServiceException("当前节点被引用中,删除失败");
 //            }
-        });
-        return R.status(archiveTreeService.deleteLogic(Func.toLongList(id)));
+//        });
+        return R.status(archiveTreeService.deleteTree(Long.parseLong(id)));
     }
 
     /**

+ 3 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IArchiveTreeService.java

@@ -64,4 +64,7 @@ public interface IArchiveTreeService extends BaseService<ArchiveTree> {
 	 * @return
 	 */
 	Map<String,String> removeArchiveAutoRule(Long nodeId,boolean iswbsNode,Long projectId);
+
+	//删除子树
+	boolean deleteTree(Long id);
 }

+ 25 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeServiceImpl.java

@@ -1199,4 +1199,29 @@ public class ArchiveTreeServiceImpl extends BaseServiceImpl<ArchiveTreeMapper, A
         }
         return true;
     }
+
+    /**
+     * 删除子树
+     * @param id
+     * @return
+     */
+    public  boolean deleteTree(Long id) {
+        ArchiveTree dstNode = this.getById(id);
+        if (dstNode == null ) {
+            return false;
+        }
+
+        List<ArchiveTreeVO2> dstTrees = this.tree2(AuthUtil.getTenantId(), dstNode.getProjectId(),null, null,null,false);
+        if (dstTrees == null || dstTrees.size() == 0) {
+            return false;
+        }
+
+        ArchiveTreeVO2 subTree = ForestNodeMergerEx.getSubTree(dstTrees.get(0),id);
+
+        List<Long> ids = ForestNodeMergerEx.getChildrenIds(subTree);
+
+        ids.add(id);
+
+        return this.deleteLogic(ids);
+    }
 }