commit
9f8867b0c8
@ -22,6 +22,6 @@ public interface IUserFileService extends IService<UserFile> {
|
||||
List<UserFile> selectFileListLikeRightFilePath(String filePath, long userId);
|
||||
List<UserFile> selectFilePathTreeByUserId(Long userId);
|
||||
void deleteUserFile(Long userFileId, Long sessionUserId);
|
||||
UserFile repeatUserFileDeal(UserFile userFile);
|
||||
String getRepeatFileName(UserFile userFile, String savefilePath);
|
||||
|
||||
}
|
||||
|
@ -116,6 +116,9 @@ public class ShareController {
|
||||
List<UserFile> saveUserFileList = new ArrayList<>();
|
||||
for (ShareFile shareFile : fileList) {
|
||||
UserFile userFile = userFileService.getById(shareFile.getUserFileId());
|
||||
String fileName = userFile.getFileName();
|
||||
String savefileName = userFileService.getRepeatFileName(userFile, savefilePath);
|
||||
|
||||
if (userFile.getIsDir() == 1) {
|
||||
List<UserFile> userfileList = userFileService.selectFileListLikeRightFilePath(userFile.getFilePath() + userFile.getFileName(), userFile.getUserId());
|
||||
log.info("查询文件列表:" + JSON.toJSONString(userfileList));
|
||||
@ -123,8 +126,7 @@ public class ShareController {
|
||||
userfileList.forEach(p->{
|
||||
p.setUserFileId(null);
|
||||
p.setUserId(userId);
|
||||
p.setFilePath(p.getFilePath().replaceFirst(filePath, savefilePath));
|
||||
p = userFileService.repeatUserFileDeal(p);
|
||||
p.setFilePath(p.getFilePath().replaceFirst(filePath + fileName, savefilePath + savefileName));
|
||||
saveUserFileList.add(p);
|
||||
log.info("当前文件:" + JSON.toJSONString(p));
|
||||
if (p.getIsDir() == 0) {
|
||||
@ -134,12 +136,12 @@ public class ShareController {
|
||||
} else {
|
||||
fileService.increaseFilePointCount(userFile.getFileId());
|
||||
}
|
||||
|
||||
userFile.setUserFileId(null);
|
||||
userFile.setUserId(userId);
|
||||
userFile.setFilePath(savefilePath);
|
||||
userFile = userFileService.repeatUserFileDeal(userFile);
|
||||
userFile.setFileName(savefileName);
|
||||
saveUserFileList.add(userFile);
|
||||
|
||||
}
|
||||
log.info("----------" + JSON.toJSONString(saveUserFileList));
|
||||
userFileService.saveBatch(saveUserFileList);
|
||||
|
@ -217,38 +217,42 @@ public class UserFileService extends ServiceImpl<UserFileMapper, UserFile> impl
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserFile repeatUserFileDeal(UserFile userFile) {
|
||||
public String getRepeatFileName(UserFile userFile, String savefilePath) {
|
||||
String fileName = userFile.getFileName();
|
||||
String filePath = userFile.getFilePath();
|
||||
String extendName = userFile.getExtendName();
|
||||
Integer deleteFlag = userFile.getDeleteFlag();
|
||||
Long userId = userFile.getUserId();
|
||||
LambdaQueryWrapper<UserFile> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(UserFile::getFilePath, filePath)
|
||||
.eq(UserFile::getExtendName, extendName)
|
||||
lambdaQueryWrapper.eq(UserFile::getFilePath, savefilePath)
|
||||
.eq(UserFile::getDeleteFlag, deleteFlag)
|
||||
.eq(UserFile::getUserId, userId)
|
||||
.eq(UserFile::getFileName, fileName);
|
||||
if (userFile.getIsDir() == 0) {
|
||||
lambdaQueryWrapper.eq(UserFile::getExtendName, extendName);
|
||||
}
|
||||
List<UserFile> list = userFileMapper.selectList(lambdaQueryWrapper);
|
||||
if (list == null) {
|
||||
return userFile;
|
||||
return fileName;
|
||||
}
|
||||
if (list.isEmpty()) {
|
||||
return userFile;
|
||||
return fileName;
|
||||
}
|
||||
int i = 0;
|
||||
|
||||
while (list != null && !list.isEmpty()) {
|
||||
i++;
|
||||
lambdaQueryWrapper.eq(UserFile::getFilePath, filePath)
|
||||
.eq(UserFile::getExtendName, extendName)
|
||||
LambdaQueryWrapper<UserFile> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper1.eq(UserFile::getFilePath, savefilePath)
|
||||
.eq(UserFile::getDeleteFlag, deleteFlag)
|
||||
.eq(UserFile::getUserId, userId)
|
||||
.eq(UserFile::getFileName, fileName + "(" + i + ")");
|
||||
list = userFileMapper.selectList(lambdaQueryWrapper);
|
||||
if (userFile.getIsDir() == 0) {
|
||||
lambdaQueryWrapper1.eq(UserFile::getExtendName, extendName);
|
||||
}
|
||||
list = userFileMapper.selectList(lambdaQueryWrapper1);
|
||||
}
|
||||
userFile.setFileName(fileName + "(" + i + ")");
|
||||
return userFile;
|
||||
|
||||
return fileName + "(" + i + ")";
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user