diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java index 9dcab0e..e04c2d1 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java @@ -51,8 +51,8 @@ public class ProjectController { } @RequestMapping("deleteFolder") - public ElectromagneticResult deleteFolder(@RequestParam String fileId) { - return edFileInfoService.deleteFolder(fileId); + public ElectromagneticResult deleteFolder(@RequestParam String id, @RequestParam String parentId) { + return edFileInfoService.deleteFolder(id, parentId); } @RequestMapping("folderResort") diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java index af550e3..428d220 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java @@ -67,9 +67,10 @@ public interface EdFileInfoService { * 删除子集 * * @param fileId + * @param parentId * @return */ - ElectromagneticResult deleteFolder(String fileId); + ElectromagneticResult deleteFolder(String fileId, String parentId); /** * 层级沿用 diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index 7fc21f0..658bcd5 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -361,10 +361,12 @@ public class EdFileInfoServiceImpl extends ServiceImpl deleteFolder(String fileId) { + @Transactional(rollbackFor = Exception.class) + public ElectromagneticResult deleteFolder(String fileId, String parentId) { try { // TODO是否需要判断文件夹是否为空 @@ -380,25 +382,20 @@ public class EdFileInfoServiceImpl extends ServiceImpl edFileInfos1 = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class) .select(EdFileInfo::getId, EdFileInfo::getSort) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getParentId, parentId) .orderByAsc(EdFileInfo::getSort)); - for (int i = 1; i <= edFileInfos1.size(); i++) { + Date now = new Date(); + String currentUserId = UserThreadLocal.getUserId(); + for (int i = 0; i < edFileInfos1.size(); i++) { String id = edFileInfos1.get(i).getId(); this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class) - .set(EdFileInfo::getSort, i) + .set(EdFileInfo::getSort, i + 1) + .set(EdFileInfo::getUpdatedBy, currentUserId) + .set(EdFileInfo::getUpdateTime, now) .eq(EdFileInfo::getId, id)); } return ElectromagneticResultUtil.success(true); @@ -465,7 +462,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl modifyFolder(String id, String newFolderName) { try { + String currentUserId = UserThreadLocal.getUserId(); + Date now = new Date(); EdFileInfo fileInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getId, id)); - String sysFilePath = getSysFilePathByDbPath(fileInfo.getFilePath()); + String sysFilePath = getFileSysPath(fileInfo.getFilePath()); this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class) + .set(EdFileInfo::getUpdateTime, now) + .set(EdFileInfo::getUpdatedBy, currentUserId) + .eq(EdFileInfo::getId, id) .set(EdFileInfo::getFileName, newFolderName)); fileSystemService.renameFile(sysFilePath, newFolderName); return ElectromagneticResultUtil.success(true); } catch (Exception e) { String info = StrFormatter.format("修改子集名称为{}失败", newFolderName); log.error(info, e); - return ElectromagneticResultUtil.fail("-1", info); + throw new BizException(-1, info); } } - private String getSysFilePathByDbPath(String dbPath) { + private String getFileSysPath(String dbPath) { ArrayList paths = CollUtil.newArrayList(dbPath.split(MYSQL_FILE_PATH_SPLIT)); - return getPath(paths); + String path = getPath(paths); + return eleDataPath + File.separator + path; } private String getPath(List ids) {