增加询价类别名称和目录名称正则校验不能输入文件相关特殊字符

This commit is contained in:
dxc
2021-12-23 09:09:22 +08:00
parent e28c845c89
commit 11ef475852
3 changed files with 23 additions and 0 deletions

View File

@ -112,4 +112,9 @@ public class InquiryCommonUtil {
put(SELECT_TYPE_0,ProjectCommonUtil.EVAL_METHOD_2);
put(SELECT_TYPE_1,ProjectCommonUtil.EVAL_METHOD_1);
}};
/**
* 文件名称特殊字符校验规则
*/
public static final String FILE_NAME_PATTERN = "[\\s\\\\/:\\*\\?\\\"<>\\|]";
}

View File

@ -177,6 +177,10 @@ public enum ProjectExceptionEnum implements BusinessExceptionAssert {
FRAME_EXCEPTION_PROJECT_ENTRUST_AGENCY_COMPANY_EMPTY(110082, "项目委托信息代理机构ID为空"),
FRAME_EXCEPTION_USER_PROVINCE_EMPTY(110083, "用户信息或者用户的所属省分编码为空!"),
FRAME_EXCEPTION_INQUIRY_RESPONSE_FORMAT_LIST_NAME_ERROR(110084,"询价应答格式列表数据中目录名称包含特殊字符"),
FRAME_EXCEPTION_INQUIRY_RESPONSE_FORMAT_LIST_CATEGORY_NAME_ERROR(110085,"询价应答格式列表数据中类别名称包含特殊字符"),
;
/**

View File

@ -30,6 +30,7 @@ import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.regex.Pattern;
/**
* 项目询价serviceImpl
@ -286,6 +287,19 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
if(isEmptyCodeCount > 0){
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_RESPONSE_FORMAT_LIST_CODE_EMPTY.throwException();
}
Pattern pattern = Pattern.compile(InquiryCommonUtil.FILE_NAME_PATTERN);
//获取目录名称中包含特殊字符
long isNamePatternCount = inquiryVO.getResponseFormatList().stream().filter(n -> StringUtils.isNotBlank(n.getName()) && pattern.matcher(n.getName()).find()).count();
if(isNamePatternCount > 0){
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_RESPONSE_FORMAT_LIST_NAME_ERROR.throwException();
}
//获取目录名称中包含特殊字符
long isCategoryNamePatternCount = inquiryVO.getResponseFormatList().stream().filter(n -> StringUtils.isNotBlank(n.getCategoryName()) && pattern.matcher(n.getCategoryName()).find()).count();
if(isCategoryNamePatternCount > 0){
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_RESPONSE_FORMAT_LIST_CATEGORY_NAME_ERROR.throwException();
}
}
}
}