瀏覽代碼

我的附件

ct 2 周之前
父節點
當前提交
37e759ca63
共有 1 個文件被更改,包括 37 次插入28 次删除
  1. 37 28
      fs-service/src/main/java/com/fs/his/service/impl/FsAttachmentServiceImpl.java

+ 37 - 28
fs-service/src/main/java/com/fs/his/service/impl/FsAttachmentServiceImpl.java

@@ -70,6 +70,15 @@ public class FsAttachmentServiceImpl extends ServiceImpl<FsAttachmentMapper, FsA
             return R.error("未获取到创建人!");
         }
         Integer type = fsAttachment.getType();
+        //获取文件名
+        String fileName = fsAttachment.getFileName();
+        //查询文件名是否存在
+        FsAttachment queryParam = new FsAttachment();
+        queryParam.setUserId(fsAttachment.getUserId());
+        queryParam.setParentId(fsAttachment.getParentId());
+        queryParam.setType(fsAttachment.getType());
+        queryParam.setFileName(fsAttachment.getFileName());
+        List<FsAttachment> list = selectFsAttachmentList(queryParam);
         if (type == null){
             return R.error("请选择创建文件还是文件夹!");
         } else if (type == 1){
@@ -77,10 +86,37 @@ public class FsAttachmentServiceImpl extends ServiceImpl<FsAttachmentMapper, FsA
             if (StringUtils.isBlank(fsAttachment.getUrl())){
                 return R.error("文件不存在");
             }
+            //上传类型为文件时可获取为文件名称
+            if (StringUtils.isBlank(fileName)){
+                fileName = FileNameExtractor.getFileNameFromUrl(fsAttachment.getUrl());
+            }
+            if (list != null && !list.isEmpty()){
+                if (fileName.contains(".")){
+                    int index = fileName.lastIndexOf(".");
+                    String name = fileName.substring(0, index);
+                    fileName = name + "(" + (list.size() + 1)+ ")" + fileName.substring(index+1);
+                }
+
+            }
+            long size = Objects.requireNonNull(ImageUtils.getImage(fsAttachment.getUrl())).length / 1024; // 单位为 KB
+            fsAttachment.setSize(size);
+        } else if (type == 0){
+            //文件夹
+            if (StringUtils.isBlank(fsAttachment.getFileName())){
+                return R.error("文件夹名称不能为空不存在");
+            }
+            if (list != null && !list.isEmpty()){
+                fileName = fileName + "(" + (list.size() + 1)+ ")";
+
+            }
         }
+
+
+        fsAttachment.setFileName(fileName);
         if (fsAttachment.getParentId() == null){
             fsAttachment.setParentId(0L);
-        } else {
+        }
+        if (fsAttachment.getParentId() != 0){
             //查询父文件是否是文件夹
             FsAttachment parentItem = selectFsAttachmentByAttachmentId(fsAttachment.getParentId());
             if (parentItem == null){
@@ -91,33 +127,6 @@ public class FsAttachmentServiceImpl extends ServiceImpl<FsAttachmentMapper, FsA
                 }
             }
         }
-
-
-        //获取文件名
-        String fileName = fsAttachment.getFileName();
-        //上传类型为文件时可获取为文件名称
-        if (StringUtils.isBlank(fileName) && type == 1){
-            fileName = FileNameExtractor.getFileNameFromUrl(fsAttachment.getUrl());
-        }
-        //查询文件名是否存在
-        FsAttachment queryParam = new FsAttachment();
-        queryParam.setUserId(fsAttachment.getUserId());
-        queryParam.setParentId(fsAttachment.getParentId());
-        queryParam.setType(fsAttachment.getType());
-        queryParam.setFileName(fsAttachment.getFileName());
-        List<FsAttachment> list = selectFsAttachmentList(queryParam);
-        if (list != null && !list.isEmpty()){
-            if (fileName.contains(".")){
-                int index = fileName.lastIndexOf(".");
-                String name = fileName.substring(0, index);
-                fileName = name + "(" + (list.size() + 1)+ ")" + fileName.substring(index+1);
-            }
-
-        }
-        fsAttachment.setFileName(fileName);
-        //文件大小
-        long size = Objects.requireNonNull(ImageUtils.getImage(fsAttachment.getUrl())).length / 1024; // 单位为 KB
-        fsAttachment.setSize(size);
         fsAttachment.setCreateTime(DateUtils.getNowDate());
         return baseMapper.insertFsAttachment(fsAttachment)>0?R.ok():R.error();
     }