|
@@ -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();
|
|
|
}
|