diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/common/InquiryCommonUtil.java b/src/main/java/com/chinaunicom/mall/ebtp/project/common/InquiryCommonUtil.java index 3fb02e2..79f81a1 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/common/InquiryCommonUtil.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/InquiryCommonUtil.java @@ -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\\\\/:\\*\\?\\\"<>\\|]"; } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectExceptionEnum.java b/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectExceptionEnum.java index 6721732..d9ef8f1 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectExceptionEnum.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/common/ProjectExceptionEnum.java @@ -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,"询价应答格式列表数据中类别名称包含特殊字符"), ; /** diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/service/impl/ProjectEntrustInquiryServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/service/impl/ProjectEntrustInquiryServiceImpl.java index 472ae99..8abcb13 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/service/impl/ProjectEntrustInquiryServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectentrust/service/impl/ProjectEntrustInquiryServiceImpl.java @@ -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 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(); + } } } }