Compare commits

..

2 Commits

6 changed files with 23 additions and 12 deletions

View File

@ -9,6 +9,7 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.electromagnetic.industry.software.common.cons.ElectromagneticConstants;
import com.electromagnetic.industry.software.common.enums.EffectFlagEnum;
import com.electromagnetic.industry.software.common.enums.EleDataSaveStatusEnum;
import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum;
@ -148,7 +149,7 @@ public class CommonService {
public ElectromagneticResult<?> addFolder(String parentId, String folderName, boolean maxLengthCheck, boolean isPrjDir, String folderId) {
// 验证名称是否合法
Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), "文件名不符合规范只能包含中文字符、下划线、连字符、加号、数字和英文字符且长度小于32。");
Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), NAME_VALID_MSG);
// 检查名称是否存在
Assert.isTrue(checkSameFolder(parentId, folderName), "该名称已存在");

View File

@ -116,7 +116,7 @@ public class EDDataServiceImpl implements EDDataService {
public Boolean createDataInfo(EDDataInfo edDataInfo) throws Exception {
// 获取上级目录的名称
String fileName = edDataInfo.getDataName();
Assert.isTrue(EleCommonUtil.isFileNameValid(fileName), "文件名不符合规范只能包含中文字符、下划线、连字符、加号、数字和英文字符且长度小于32。");
Assert.isTrue(EleCommonUtil.isFileNameValid(fileName), ElectromagneticConstants.NAME_VALID_MSG);
Category categoryParent = new Category();
categoryParent.setCategoryId(edDataInfo.getCategoryId());
@ -316,7 +316,7 @@ public class EDDataServiceImpl implements EDDataService {
String fileType = EleCommonUtil.getFileType(fileFullName);
// 获取文件名称
String fileName = EleCommonUtil.getFileName(fileFullName);
Assert.isTrue(EleCommonUtil.isFileNameValid(fileName), "文件名不符合规范只能包含中文字符、下划线、连字符、加号、数字和英文字符且长度小于32。");
Assert.isTrue(EleCommonUtil.isFileNameValid(fileName), ElectromagneticConstants.NAME_VALID_MSG);
// 判断文件名称是否存在
EDDataParams folderParames = new EDDataParams();
folderParames.setParentId(categoryId);

View File

@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.electromagnetic.industry.software.common.cons.ElectromagneticConstants;
import com.electromagnetic.industry.software.common.enums.*;
import com.electromagnetic.industry.software.common.exception.BizException;
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
@ -144,6 +145,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
*/
@Override
public ElectromagneticResult<?> createFolder(String parentId, String newFolderName) {
Assert.isTrue(EleCommonUtil.isFileNameValid(newFolderName), NAME_VALID_MSG);
String folderId = IdWorker.getSnowFlakeIdString();
return commonService.addFolder(parentId, newFolderName, false, false, folderId);
}
@ -220,6 +222,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
@Override
@Transactional(rollbackFor = Exception.class)
public ElectromagneticResult<?> updateFileInfo(UpdateFileInfoDTO updateFileInfoDTO) {
Assert.isTrue(EleCommonUtil.isFileNameValid(updateFileInfoDTO.getFileName()), NAME_VALID_MSG);
try {
// 首先检查新名称是否存在
EdFileInfo fileInfo = this.baseMapper.selectById(updateFileInfoDTO.getId());
@ -608,6 +611,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
@Transactional(rollbackFor = Exception.class)
public ElectromagneticResult<?> upload(String parentId, MultipartFile file, Integer strategy) {
Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG);
EdFileInfo fileInfo = this.baseMapper.selectById(parentId);
Assert.isTrue(fileInfo.getDataType().equals(EleDataTypeEnum.FOLDER.code) && !fileInfo.getPrjDir(), "层级目录不允许上传文件");
// 首先检查是否是同名文件
@ -615,7 +619,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
String fileName = file.getOriginalFilename();
String mainName = FileUtil.mainName(fileName);
String suffix = FileUtil.getSuffix(fileName);
Assert.isTrue(EleCommonUtil.isFileNameValid(fileName), "文件名不符合规范只能包含中文字符、下划线、连字符、加号、数字和英文字符且长度小于32。");
Assert.isTrue(EleCommonUtil.isFileNameValid(fileName), NAME_VALID_MSG);
Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
.eq(EdFileInfo::getParentId, parentId)
.eq(EdFileInfo::getFileName, mainName)

View File

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.electromagnetic.industry.software.common.cons.ElectromagneticConstants;
import com.electromagnetic.industry.software.common.enums.EffectFlagEnum;
import com.electromagnetic.industry.software.common.enums.EleDataSaveStatusEnum;
import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum;
@ -59,13 +60,12 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
@Transactional(rollbackFor = Exception.class)
public ElectromagneticResult<?> createNewPrj(String prjName) {
Assert.isTrue(EleCommonUtil.isFileNameValid(prjName), "文件名不符合规范只能包含中文字符、下划线、连字符、加号、数字和英文字符且长度小于32。");
if (!EleCommonUtil.isFileNameValid(prjName)) {
String info = StrFormatter.format("工程名称{}不符合要求", prjName);
log.error(info);
return ElectromagneticResultUtil.fail("-1", info);
}
Assert.isTrue(EleCommonUtil.isFileNameValid(prjName), NAME_VALID_MSG);
// if (!EleCommonUtil.isFileNameValid(prjName)) {
// String info = StrFormatter.format("工程名称{}不符合要求", prjName);
// log.error(info);
// return ElectromagneticResultUtil.fail("-1", info);
// }
// 首先检查工程是否存在
// TODO 一个项目如果被废除了然后又新建了一个同名工程这种情况怎么处理需要产品确认当前这里先按照同名如果存在则抛出异常处理
Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
@ -127,6 +127,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
@Override
@Transactional(rollbackFor = Exception.class)
public ElectromagneticResult<?> modifyPrjName(String prjId, String newPrjName) {
Assert.isTrue(EleCommonUtil.isFileNameValid(newPrjName), NAME_VALID_MSG);
try {
Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class)
.eq(EdFileInfo::getParentId, PRJ_PARENT_ID)
@ -208,6 +209,7 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
@Override
@Transactional(rollbackFor = Exception.class)
public ElectromagneticResult<?> addFolder(String parentId, String folderName) {
Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), NAME_VALID_MSG);
int id = Integer.parseInt(this.baseMapper.maxPrjId());
String folderId = String.valueOf(id + 1);
return commonService.addFolder(parentId, folderName, true, true, folderId);
@ -371,6 +373,8 @@ public class EdPrjServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileInfo>
@Override
@Transactional(rollbackFor = Exception.class)
public ElectromagneticResult<?> modifyFolder(String id, String newFolderName) {
Assert.isTrue(EleCommonUtil.isFileNameValid(newFolderName), NAME_VALID_MSG);
try {
String parentId = this.baseMapper.selectById(id).getParentId();
// 首先检查同层是否有同名目录

View File

@ -11,4 +11,6 @@ public interface ElectromagneticConstants {
String PRJ_PARENT_ID = "0";
String UPLOAD_FILE_CHUNK_SUFFIX = ".part";
String NAME_VALID_MSG = "文件名不符合规范只能包含中文字符、下划线、连字符、加号、数字和英文字符且长度小于32。";
}

View File

@ -8,7 +8,7 @@ public enum EleDataStatusEnum {
NOT_PUBLISHED(0, "未发布"),
PUBLISHED(1, "已发布"),
OCCUPY(2, "占用"),
DELETED(3, "删除");
DELETED(3, "删除");
public final int code;
public final String desc;