Ver código fonte

解决复制多次文件名过长问题。

wukai 1 ano atrás
pai
commit
eab335f0ee

+ 7 - 2
doc-biz/src/main/java/com/doc/biz/controller/DocDirController.java

@@ -12,7 +12,6 @@ import com.doc.common.core.domain.AjaxResult;
 import com.doc.common.core.page.TableDataInfo;
 import com.doc.common.enums.BusinessType;
 import com.doc.common.enums.EventLevel;
-import com.doc.common.utils.DateUtils;
 import com.doc.common.utils.SecurityUtils;
 import com.doc.common.utils.poi.ExcelUtil;
 import io.swagger.annotations.*;
@@ -306,9 +305,15 @@ public class DocDirController extends BaseController {
         query.setSearchValue(docDir.getDirName());
         List<DocDir> list = docDirService.selectDocDirList(query);
         if (list.size() > 0 && !list.get(0).getDirId().equals(docDir.getDirId())) {
+            String prefix = "(重命名)-";
             String dirName = docDir.getDirName();
-            dirName = dirName + "-" + DateUtils.dateTimeNow();
+            if (dirName.contains(prefix)) {
+                dirName = dirName.replace(prefix, prefix + "1");
+            } else {
+                dirName = "(重命名)-" + dirName;
+            }
             docDir.setDirName(dirName);
+            checkDuplicateNames(docDir);
         }
 
     }

+ 1 - 2
doc-biz/src/main/java/com/doc/biz/controller/DocInfoController.java

@@ -12,7 +12,6 @@ import com.doc.common.core.domain.AjaxResult;
 import com.doc.common.core.page.TableDataInfo;
 import com.doc.common.enums.BusinessType;
 import com.doc.common.enums.EventLevel;
-import com.doc.common.utils.DateUtils;
 import com.doc.common.utils.SecurityUtils;
 import com.doc.common.utils.StringUtils;
 import com.doc.common.utils.file.FileUtils;
@@ -190,7 +189,7 @@ public class DocInfoController extends BaseController {
         info.setDocId(null);
         info.setSpaceId(spaceId);
         info.setDirId(dirId);
-        info.setFileName(info.getFileName() + "-副本-" + DateUtils.dateTimeNow());
+        info.setFileName(info.getFileName());
         docInfoService.insertDocInfo(info);
 
         return success();

+ 7 - 1
doc-biz/src/main/java/com/doc/biz/service/impl/DocInfoServiceImpl.java

@@ -174,9 +174,15 @@ public class DocInfoServiceImpl implements IDocInfoService {
         query.setFileName(docInfo.getFileName());
         List<DocInfo> list = selectDocInfoList(query);
         if (list.size() > 0 && !list.get(0).getDocId().equals(docInfo.getDocId())) {
+            String prefix = "(重命名)-";
             String fileName = docInfo.getFileName();
-            fileName = fileName + "-" + DateUtils.dateTimeNow();
+            if (fileName.contains(prefix)) {
+                fileName = fileName.replace(prefix, prefix + "1");
+            } else {
+                fileName = "(重命名)-" + fileName;
+            }
             docInfo.setFileName(fileName);
+            checkDuplicateNames(docInfo);
         }
 
     }