diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/checkSpecialCharacters/CheckUtil.java b/src/main/java/com/chinaunicom/mall/ebtp/project/checkSpecialCharacters/CheckUtil.java index 9f337f0..7301975 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/checkSpecialCharacters/CheckUtil.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/checkSpecialCharacters/CheckUtil.java @@ -1,16 +1,87 @@ package com.chinaunicom.mall.ebtp.project.checkSpecialCharacters; +import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum; +import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustVO; +import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord; +import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSection; import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class CheckUtil { - public static void check(String s) { - if (s!=null&&s instanceof String) { - CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA__ERROR.customValidName("不能包含\\t\\n\\r等特殊字符",s.toString().indexOf("\t")>0 - ||s.toString().indexOf("\n")>0 - ||s.toString().indexOf("\r")>0) ; + private static String checkValue[] = {"\t","\n","\r","<",">","|","\\","/","?",":","*","\""}; + + private static int checkBdNameLengh = 200; + //zhqbin 20220428 update 增加对委托项目名称\t\r\n字符校验 + public static void checkInquiryVO(Map map) { + + if(map.get("projectRecord")!=null){ + ProjectRecord record = (ProjectRecord)map.get("projectRecord"); + check(record.getProjectName()); +// Map resultMap = new HashMap<>() + }; + if(map.get("sectionList")!=null){ + List sectionList = (List)map.get("sectionList"); + sectionList.forEach(s->{ + CheckUtil.check(s.getBidSectName()); + CheckUtil.check(s.getBidSectBizNum()); + CheckUtil.checkBdNameLengh("标段名称+标段编号",s.getBidSectName()+s.getBidSectBizNum()); + }); } } + + public static void check(String s) { + //< > | \ / ? : * " + if (s!=null&&s instanceof String) { + for(String s1:checkValue){ + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA__ERROR.customValidName("存在特殊字符", + s.toString().indexOf(s1)>0) ; + } + } + } + + public static void checkBdNameLengh(String name,String value) { + CommonExceptionEnum.FRAME_EXCEPTION_COMMON_DATA__ERROR.customValidName(name+"长度过长", + getLength(value)>checkBdNameLengh) ; + } + + /** + * 获取字符串的长度,如果有中文,则每个中文字符计为2位 + * @param value 指定的字符串 + * @return 字符串的长度 + */ + public static int getLength(String value) { + + int valueLength = 0; + + String chinese = "[\u0391-\uFFE5]"; + /* 获取字段值的长度,如果含中文字符,则每个中文字符长度为2,否则为1 */ + for (int i = 0; i < value.length(); i++) { + /* 获取一个字符 */ + String temp = value.substring(i,i + 1); + /* 判断是否为中文字符 */ + if (temp.matches(chinese)) { + /* 中文字符长度为2 */ + valueLength += 2; + } else { + /* 其他字符长度为1 */ + valueLength += 1; + } + } + return valueLength; + } + + public static void main(String args[]){ + String[] ss = {"\t","\n","\r","<",">","|","\\","/","?",":","*","\""}; + String s ="aaaaa\\aa"; + for(String s1:ss){ + System.out.println(s.toString().indexOf(s1)>0) ; + } + } + } 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 dc17040..62ede09 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 @@ -88,9 +88,7 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl{ - CheckUtil.check(s.getProjBaseInfoVO().getPurpName()); - CheckUtil.check(s.getProjBaseInfoVO().getProjNo()); - }); - if(null == purpImplementSendVO || null == purpImplementSendVO.getPurpSuperVo()){ ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_PURP_SUPER_VO_EMPTY.throwException(); } diff --git a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java index abecbe4..f1176d1 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/project/projectrecord/service/impl/ProjectRecordServiceImpl.java @@ -17,6 +17,7 @@ import com.chinaunicom.mall.ebtp.common.constant.EbtpRoleEnum; import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum; import com.chinaunicom.mall.ebtp.common.util.JsonUtils; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; +import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckUtil; import com.chinaunicom.mall.ebtp.project.common.EbpProjectCommonUtil; import com.chinaunicom.mall.ebtp.project.common.InquiryCommonUtil; import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil; @@ -1018,6 +1019,8 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl