20220428 新增 增加对委托项目名称、标段名称、标段编号\t\r\n字符校验

This commit is contained in:
zhangqinbin
2022-04-28 15:29:15 +08:00
parent cff0793e0a
commit b238a9cb6c
7 changed files with 66 additions and 4 deletions

View File

@ -0,0 +1,20 @@
package com.chinaunicom.mall.ebtp.project.checkSpecialCharacters;
import com.baomidou.mybatisplus.annotation.FieldFill;
import javax.validation.Constraint;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.FIELD,ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
public @interface CheckSc {
/**
* 被注解方法的描述
*
* @return
*/
boolean check() default false;
}

View File

@ -0,0 +1,16 @@
package com.chinaunicom.mall.ebtp.project.checkSpecialCharacters;
import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum;
import java.lang.reflect.Field;
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) ;
}
}
}

View File

@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckUtil;
import com.chinaunicom.mall.ebtp.project.common.InquiryCommonUtil;
import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil;
import com.chinaunicom.mall.ebtp.project.common.ProjectExceptionEnum;
@ -87,6 +88,9 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
if(isRequestClient){
//校验数据
checkInquiryVO(inquiryVO);
//zhqbin 20220428 update 增加对委托项目名称\t\r\n字符校验
CheckUtil.check(inquiryVO.getTitle());
CheckUtil.check(inquiryVO.getInquiryNo());
//初始化委托单信息
ProjectEntrustVO projectEntrustVO = assembleProjectEntrust(inquiryVO);
if(isUpdate){

View File

@ -19,6 +19,7 @@ import com.chinaunicom.mall.ebtp.common.log.service.OperationLogService;
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
import com.chinaunicom.mall.ebtp.project.baseoperlog.service.IBaseOperLogService;
import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckUtil;
import com.chinaunicom.mall.ebtp.project.common.EbpProjectCommonUtil;
import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil;
import com.chinaunicom.mall.ebtp.project.common.ProjectExceptionEnum;
@ -331,6 +332,13 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
PurpImplementSendVO purpImplementSendVO = baseResponse.getData();
//zhqbin 20220428 update 增加对委托项目名称\t\r\n字符校验
CheckUtil.check(purpImplementSendVO.getPurpImplementName());
purpImplementSendVO.getPurpBaseInfoVoList().forEach(s->{
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();
}

View File

@ -4,6 +4,8 @@ package com.chinaunicom.mall.ebtp.project.projectrecord.controller;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckSc;
import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckUtil;
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord;
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO;
import com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService;
@ -45,7 +47,7 @@ public class ProjectRecordController{
@PostMapping("")
@PreAuthorize("hasAnyAuthority('ebtp-purchase','ebtp-agency-project-manager')")
public BaseResponse<Boolean> insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid ProjectRecordVO projectRecord){
CheckUtil.check(projectRecord.getProjectName());
boolean save = projectRecordService.save(projectRecord);
return BaseResponse.success(save);
@ -63,7 +65,7 @@ public class ProjectRecordController{
@PreAuthorize("hasAnyAuthority('ebtp-purchase','ebtp-agency-project-manager')")
public BaseResponse<Boolean> update(
@ApiParam(value = "对象数据", required = true) @RequestBody ProjectRecordVO projectRecord){
CheckUtil.check(projectRecord.getProjectName());
return BaseResponse.success(projectRecordService.updateProject(projectRecord));
}

View File

@ -1,7 +1,11 @@
package com.chinaunicom.mall.ebtp.project.projectrecord.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity;
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckSc;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@ -12,6 +16,7 @@ import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@ -60,6 +65,10 @@ public class ProjectRecord extends BaseEntity implements Serializable {
/**
* 招标项目名称
*/
@TableField(
fill = FieldFill.INSERT,
typeHandler = CustomLocalDateTimeTypeHandler.class
)
@ApiModelProperty(value = "招标项目名称")
private String projectName;

View File

@ -3,6 +3,7 @@ package com.chinaunicom.mall.ebtp.project.projectsection.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.project.checkSpecialCharacters.CheckUtil;
import com.chinaunicom.mall.ebtp.project.feign.entity.SectionFlowVO;
import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSection;
import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSectionVO;
@ -43,7 +44,8 @@ public class ProjectSectionController{
@PostMapping("")
@PreAuthorize("hasAnyAuthority('ebtp-purchase','ebtp-agency-project-manager')")
public BaseResponse<Boolean> insert(@ApiParam(value = "对象数据", required = true) @RequestBody @Valid ProjectSectionVO projectSection){
CheckUtil.check(projectSection.getBidSectName());
CheckUtil.check(projectSection.getBidSectBizNum());
boolean save = projectSectionService.save(projectSection);
return BaseResponse.success(save);
@ -60,7 +62,8 @@ public class ProjectSectionController{
@PutMapping("")
@PreAuthorize("hasAnyAuthority('ebtp-purchase','ebtp-agency-project-manager')")
public BaseResponse<Boolean> update(@ApiParam(value = "对象数据", required = true) @RequestBody ProjectSectionVO projectSection){
CheckUtil.check(projectSection.getBidSectName());
CheckUtil.check(projectSection.getBidSectBizNum());
return BaseResponse.success(projectSectionService.update(projectSection));
}