From c323e12cf8d7eb46027f49b557935c2514737556 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Thu, 27 Mar 2025 16:35:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=98=E5=9C=A8=E7=9A=84bu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RepoEdFileInfoController.java | 3 + .../RepoEdFileRelationController.java | 97 +++++++++++++++++++ ....java => SysEdFileRelationController.java} | 2 +- .../serviceimpl/FileBackLogServiceImpl.java | 4 +- 4 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileRelationController.java rename electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/{EdFileRelationController.java => SysEdFileRelationController.java} (99%) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileInfoController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileInfoController.java index e1fb9b8..602b5a5 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileInfoController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileInfoController.java @@ -14,6 +14,7 @@ import com.electromagnetic.industry.software.manage.pojo.req.FileChunkDTO; import com.electromagnetic.industry.software.manage.pojo.req.FileInfoQueryDTO; import com.electromagnetic.industry.software.manage.pojo.req.UpdateFileInfoDTO; import com.electromagnetic.industry.software.manage.service.EdFileInfoService; +import com.electromagnetic.industry.software.manage.service.serviceimpl.EdFileRelationServiceImpl; import org.springframework.core.io.InputStreamResource; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -29,6 +30,8 @@ public class RepoEdFileInfoController { @Resource private EdFileInfoService edFileInfoService; + @Resource + private EdFileRelationServiceImpl edFileRelationService; @UserOperation(value = "查看工程树", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @RequestMapping("tree") diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileRelationController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileRelationController.java new file mode 100644 index 0000000..2ae0814 --- /dev/null +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileRelationController.java @@ -0,0 +1,97 @@ +package com.electromagnetic.industry.software.manage.controller; + +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.electromagnetic.industry.software.common.annotations.UserOperation; +import com.electromagnetic.industry.software.common.enums.DataOwnEnum; +import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum; +import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; +import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil; +import com.electromagnetic.industry.software.common.util.UserThreadLocal; +import com.electromagnetic.industry.software.manage.pojo.models.EdFileRelation; +import com.electromagnetic.industry.software.manage.pojo.req.CheckNameUniqueRequest; +import com.electromagnetic.industry.software.manage.pojo.req.UpdateRelationDTO; +import com.electromagnetic.industry.software.manage.service.serviceimpl.EdFileRelationServiceImpl; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; + +@RestController +@RequestMapping("/data/ed/repo/relation") +public class RepoEdFileRelationController { + + @Resource + EdFileRelationServiceImpl edFileRelationService; + + /** + * 创建文件关系 + * + * @param relation + * @return + */ + @RequestMapping(value = "/create", method = RequestMethod.POST) + @UserOperation(value = "创建文件关系", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) + public ElectromagneticResult createRelation(@RequestBody EdFileRelation relation) { + return ElectromagneticResultUtil.success(edFileRelationService.createRelation(relation)); + } + + /** + * 更新文件关系 + * + * @param updateRelation + * @return + */ + @RequestMapping(value = "/update", method = RequestMethod.POST) + @UserOperation(value = "更新文件关系", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) + public ElectromagneticResult updateRelation(@RequestBody UpdateRelationDTO updateRelation) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(EdFileRelation::getId, updateRelation.getRelationId()).set(EdFileRelation::getRelationship, updateRelation.getRelationship()); + boolean isUpdated = edFileRelationService.update(wrapper); + if (isUpdated) { + UserThreadLocal.setSuccessInfo("", updateRelation.getRelationId(), "更新了文件关系"); + } + return ElectromagneticResultUtil.success(isUpdated); + } + + /** + * 取消文件关系 + * + * @param relationId 关系主键id + * @return + */ + @RequestMapping(value = "/cancel/{relationId}", method = RequestMethod.GET) + @UserOperation(value = "取消文件关系", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) + public ElectromagneticResult cancelRelation(@PathVariable("relationId") String relationId) { + return ElectromagneticResultUtil.success(edFileRelationService.cancelRelation(relationId)); + } + + /** + * 展示文件关系 + */ + @RequestMapping(value = "listRelations/{id}", method = RequestMethod.GET) + @UserOperation(value = "查看文件关系", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) + public ElectromagneticResult listRelations(@PathVariable("id") String id) { + return ElectromagneticResultUtil.success(edFileRelationService.listRelations(id)); + } + + /** + * 检验文件名是否唯一 + */ + @RequestMapping(value = "/checkFileNameExist", method = RequestMethod.POST) + @UserOperation(value = "校验文件名唯一性", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) + public ElectromagneticResult checkFileNameExist(@RequestBody CheckNameUniqueRequest checkNameUniqueRequest) { + return ElectromagneticResultUtil.success(edFileRelationService.checkNameExist(checkNameUniqueRequest)); + } + + /** + * 本地上传并建立关系 + */ + @RequestMapping(value = "/upload", method = RequestMethod.POST) + @UserOperation(value = "上传了文件并创建文件关系", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) + public ElectromagneticResult uploadRelation(@RequestParam("parentId") String parentId, + @RequestParam("file") MultipartFile file, + @RequestParam("description") String description, + @RequestParam("id") String id) { + return ElectromagneticResultUtil.success(edFileRelationService.uploadFileAndRelation(parentId, id, file, description, DataOwnEnum.SYS_FILE.code)); + } +} diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileRelationController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysEdFileRelationController.java similarity index 99% rename from electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileRelationController.java rename to electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysEdFileRelationController.java index a7b9aa0..aa47368 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileRelationController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysEdFileRelationController.java @@ -18,7 +18,7 @@ import javax.annotation.Resource; @RestController @RequestMapping("/data/ed/relation") -public class EdFileRelationController { +public class SysEdFileRelationController { @Resource EdFileRelationServiceImpl edFileRelationService; diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileBackLogServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileBackLogServiceImpl.java index 04455dc..01ebfa4 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileBackLogServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileBackLogServiceImpl.java @@ -44,7 +44,9 @@ public class FileBackLogServiceImpl extends ServiceImpl query(Integer pageNumber, Integer pageSize) { - Page fileBackupLogPage = this.baseMapper.selectPage(new Page<>(pageNumber, pageSize), Wrappers.lambdaQuery().eq(FileBackupLog::getSource, FileBackupSource.SYS_BACKUP.code)); + Page fileBackupLogPage = this.baseMapper.selectPage(new Page<>(pageNumber, pageSize), Wrappers.lambdaQuery() + .orderByDesc(FileBackupLog::getFileId) + .eq(FileBackupLog::getSource, FileBackupSource.SYS_BACKUP.code)); List records = fileBackupLogPage.getRecords(); if (CollUtil.isEmpty(records)) {