parent
a7c19b1c93
commit
419d3f0a9e
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<FileInfoVO> 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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,14 +40,4 @@ public interface EdFileRelationService extends IService<EdFileRelation> {
|
|||
*/
|
||||
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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1453,19 +1453,6 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
|||
return this.baseMapper.queryFileList(page, ids, queryDTO, saveStatus, effectFlag);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否是文件夹
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean isFolder(String id) {
|
||||
EdFileInfo fileInfo = this.baseMapper.selectById(id);
|
||||
Assert.notNull(fileInfo, StrFormatter.format("文件不存在,ID为{}", id));
|
||||
return fileInfo.getDataType().equals(EleDataTypeEnum.FOLDER.code);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加收藏
|
||||
*
|
||||
|
|
@ -1579,4 +1566,31 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
|||
return fileInfoVOIPage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件上传并建立关系
|
||||
*
|
||||
* @param parentId
|
||||
* @param id 主文件Id
|
||||
* @param file
|
||||
* @param desc 关系描述
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ElectromagneticResult<?> 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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<EdFileRelationMapper,
|
|||
|
||||
@Resource
|
||||
EdFileInfoMapper edFileInfoMapper;
|
||||
@Resource
|
||||
EdFileInfoServiceImpl edFileInfoService;
|
||||
@Resource
|
||||
private CommonService commonService;
|
||||
|
||||
/**
|
||||
* 创建文件关系
|
||||
|
|
@ -51,7 +50,7 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
|
|||
String queryId1 = edFileRelation.getId1();
|
||||
String queryId2 = edFileRelation.getId2();
|
||||
|
||||
if (edFileInfoService.isFolder(queryId1) || edFileInfoService.isFolder(queryId2)) {
|
||||
if (isFolder(queryId1) || isFolder(queryId2)) {
|
||||
throw new BizException("文件夹无法建立关系");
|
||||
}
|
||||
|
||||
|
|
@ -173,7 +172,7 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
|
|||
newEdFileInfo.newInit();
|
||||
// 首先检查是否是同名文件
|
||||
Assert.isTrue(EleCommonUtil.isFileNameValid(mainName + "." + suffix), NAME_VALID_MSG);
|
||||
long count = edFileInfoService.count(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||
long count = edFileInfoMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||
.eq(EdFileInfo::getParentId, parentId)
|
||||
.eq(EdFileInfo::getFileName, mainName)
|
||||
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
|
||||
|
|
@ -201,32 +200,10 @@ public class EdFileRelationServiceImpl extends ServiceImpl<EdFileRelationMapper,
|
|||
return edges;
|
||||
}
|
||||
|
||||
/**
|
||||
* 文件上传
|
||||
*
|
||||
* @param parentId
|
||||
* @param id 主文件Id
|
||||
* @param file
|
||||
* @param desc 关系描述
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ElectromagneticResult<?> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue