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 index 5103201..78d63c7 100644 --- 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 @@ -10,7 +10,8 @@ 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 com.electromagnetic.industry.software.manage.service.EdFileInfoService; +import com.electromagnetic.industry.software.manage.service.EdFileRelationService; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -20,8 +21,10 @@ import org.springframework.web.multipart.MultipartFile; public class RepoEdFileRelationController { @Resource - EdFileRelationServiceImpl edFileRelationService; + EdFileRelationService edFileRelationService; + @Resource + EdFileInfoService edFileInfoService; /** * 创建文件关系 * @@ -91,6 +94,6 @@ public class RepoEdFileRelationController { @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)); + return ElectromagneticResultUtil.success(edFileInfoService.uploadFileAndRelation(parentId, id, file, description, DataOwnEnum.REPO_FILE.code)); } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysEdFileRelationController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysEdFileRelationController.java index a29a172..a0b15b9 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysEdFileRelationController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/SysEdFileRelationController.java @@ -10,7 +10,8 @@ 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 com.electromagnetic.industry.software.manage.service.EdFileInfoService; +import com.electromagnetic.industry.software.manage.service.EdFileRelationService; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -20,7 +21,9 @@ import org.springframework.web.multipart.MultipartFile; public class SysEdFileRelationController { @Resource - EdFileRelationServiceImpl edFileRelationService; + EdFileRelationService edFileRelationService; + @Resource + EdFileInfoService edFileInfoService; /** * 创建文件关系 @@ -91,6 +94,6 @@ public class SysEdFileRelationController { @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)); + return ElectromagneticResultUtil.success(edFileInfoService.uploadFileAndRelation(parentId, id, file, description, DataOwnEnum.SYS_FILE.code)); } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileRelationController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileRelationController.java index cacd0de..9155f83 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileRelationController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileRelationController.java @@ -10,6 +10,8 @@ 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.EdFileInfoService; +import com.electromagnetic.industry.software.manage.service.EdFileRelationService; import com.electromagnetic.industry.software.manage.service.serviceimpl.EdFileRelationServiceImpl; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.*; @@ -20,7 +22,9 @@ import org.springframework.web.multipart.MultipartFile; public class UserEdFileRelationController { @Resource - EdFileRelationServiceImpl edFileRelationService; + EdFileRelationService edFileRelationService; + @Resource + EdFileInfoService edFileInfoService; /** * 创建文件关系 @@ -91,6 +95,6 @@ public class UserEdFileRelationController { @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)); + return ElectromagneticResultUtil.success(edFileInfoService.uploadFileAndRelation(parentId, id, file, description, DataOwnEnum.USER_FILE.code)); } } 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 beaa5fe..c439773 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 @@ -197,14 +197,6 @@ public interface EdFileInfoService { */ void resetFileInfoName(EdFileInfo fileInfo); - /** - * 判断是否是文件夹 - * - * @param id - * @return - */ - public boolean isFolder(String id); - /** * 添加收藏 * @@ -240,4 +232,15 @@ public interface EdFileInfoService { * @return */ IPage findFavorite(String userId, FileInfoQueryDTO fileInfoQueryDTO); + + /** + * 文件上传并建立关系 + * + * @param parentId + * @param id 主文件Id + * @param file + * @param desc 关系描述 + * @return + */ + ElectromagneticResult uploadFileAndRelation(String parentId, String id, MultipartFile file, String desc, int dataOwnCode); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileRelationService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileRelationService.java index 4c1c6bd..3b258c8 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileRelationService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileRelationService.java @@ -40,14 +40,4 @@ public interface EdFileRelationService extends IService { */ Boolean checkNameExist(CheckNameUniqueRequest checkNameUniqueRequest); - /** - * 文件上传并建立关系 - * - * @param parentId - * @param id 主文件Id - * @param file - * @param desc 关系描述 - * @return - */ - ElectromagneticResult uploadFileAndRelation(String parentId, String id, MultipartFile file, String desc, int dataOwnCode); } 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 c403b08..8409dd5 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 @@ -1453,19 +1453,6 @@ public class EdFileInfoServiceImpl extends ServiceImpl uploadFileAndRelation(String parentId, String id, MultipartFile file, String desc, int dataOwnCode) { + + // 上传文件 + ElectromagneticResult uploadResult = upload(parentId, file, FileRepeatEnum.NEW.code, dataOwnCode); + Assert.notNull(uploadResult.getData(), "上传失败"); + String relatedFileId = (String) uploadResult.getData(); + // 创建文件关系 + EdFileRelation relation = new EdFileRelation(); + relation.newInit(); + relation.setId1(id); + relation.setId2(relatedFileId); + relation.setRelationship(desc); + edFileRelationService.createRelation(relation); + UserThreadLocal.setSuccessInfo("", id, StrFormatter.format("建立了文件 {} 与文件 {} 的关系", id, relatedFileId)); + return ElectromagneticResultUtil.success(true); + } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java index ae0975a..74f9d83 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java @@ -1,7 +1,10 @@ package com.electromagnetic.industry.software.manage.service.serviceimpl; +import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.text.StrFormatter; +import cn.hutool.core.util.StrUtil; +import cn.hutool.crypto.SecureUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -17,12 +20,12 @@ import com.electromagnetic.industry.software.manage.pojo.models.Edge; import com.electromagnetic.industry.software.manage.pojo.req.CheckNameUniqueRequest; import com.electromagnetic.industry.software.manage.pojo.resp.FileRelationViewVO; import com.electromagnetic.industry.software.manage.pojo.resp.FileSimpleInfoVO; +import com.electromagnetic.industry.software.manage.service.EdFileInfoService; import com.electromagnetic.industry.software.manage.service.EdFileRelationService; import jakarta.annotation.Resource; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.multipart.MultipartFile; import java.util.*; @@ -33,10 +36,6 @@ public class EdFileRelationServiceImpl extends ServiceImpl uploadFileAndRelation(String parentId, String id, MultipartFile file, String desc, int dataOwnCode) { - - // 上传文件 - ElectromagneticResult uploadResult = edFileInfoService.upload(parentId, file, FileRepeatEnum.NEW.code, dataOwnCode); - Assert.notNull(uploadResult.getData(), "上传失败"); - String relatedFileId = (String) uploadResult.getData(); - // 创建文件关系 - EdFileRelation relation = new EdFileRelation(); - relation.newInit(); - relation.setId1(id); - relation.setId2(relatedFileId); - relation.setRelationship(desc); - createRelation(relation); - UserThreadLocal.setSuccessInfo("", id, StrFormatter.format("建立了文件 {} 与文件 {} 的关系", id, relatedFileId)); - return ElectromagneticResultUtil.success(true); + private boolean isFolder(String id) { + EdFileInfo fileInfo = edFileInfoMapper.selectById(id); + Assert.notNull(fileInfo, StrFormatter.format("文件不存在,ID为{}", id)); + return fileInfo.getDataType().equals(EleDataTypeEnum.FOLDER.code); } }