10 changed files with 230 additions and 170 deletions
			
			
		| @ -1,94 +0,0 @@ | |||
| package com.epmet.utils; | |||
| 
 | |||
| import com.alibaba.nacos.client.utils.StringUtils; | |||
| import com.epmet.commons.tools.constant.NumConstant; | |||
| import com.epmet.commons.tools.exception.EpmetErrorCode; | |||
| import com.epmet.commons.tools.exception.RenException; | |||
| import com.epmet.commons.tools.scan.param.ImgScanParamDTO; | |||
| import com.epmet.commons.tools.scan.param.ImgTaskDTO; | |||
| import com.epmet.commons.tools.scan.param.TextScanParamDTO; | |||
| import com.epmet.commons.tools.scan.param.TextTaskDTO; | |||
| import com.epmet.commons.tools.scan.result.SyncScanResult; | |||
| import com.epmet.commons.tools.utils.Result; | |||
| import com.epmet.commons.tools.utils.ScanContentUtils; | |||
| import org.springframework.beans.factory.annotation.Value; | |||
| import lombok.extern.slf4j.Slf4j; | |||
| 
 | |||
| import java.util.List; | |||
| import java.util.UUID; | |||
| 
 | |||
| /** | |||
|  * 文字、图片合法性校验 | |||
|  * | |||
|  * @author zhangyong | |||
|  * @date 2020-07-15 14:26 | |||
|  */ | |||
| @Slf4j | |||
| public class ValidityVerification { | |||
| 
 | |||
|     @Value("${openapi.scan.server.url}") | |||
|     private String scanApiUrl; | |||
|     @Value("${openapi.scan.method.textSyncScan}") | |||
|     private String textSyncScanMethod; | |||
|     @Value("${openapi.scan.method.imgSyncScan}") | |||
|     private String imgSyncScanMethod; | |||
| 
 | |||
|     /** | |||
|      * 文本校验 | |||
|      * @param context  被校验的文本,,不能超过10000 | |||
|      * @param businessEnum 业务枚举,定义校验失败后,输出的日志信息 | |||
|      * @return void | |||
|      * @auther zhangyong | |||
|      * @Date 14:42 2020-07-15 | |||
|      **/ | |||
|     public void textScanVerification(String context, String businessEnum){ | |||
|         if (StringUtils.isNotBlank(context)) { | |||
|             TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); | |||
|             TextTaskDTO taskDTO = new TextTaskDTO(); | |||
|             taskDTO.setContent(context); | |||
|             taskDTO.setDataId(UUID.randomUUID().toString().replace("-", "")); | |||
|             textScanParamDTO.getTasks().add(taskDTO); | |||
|             Result<SyncScanResult> textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); | |||
|             if (!textSyncScanResult.success()) { | |||
|                 throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); | |||
|             } else { | |||
|                 if (!textSyncScanResult.getData().isAllPass()) { | |||
|                     // 业务枚举:例如:评论话题失败,评论内容为:%s"
 | |||
|                     log.error(String.format(businessEnum, context)); | |||
|                     throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode()); | |||
|                 } | |||
|             } | |||
|         } | |||
|     } | |||
| 
 | |||
|     /** | |||
|      * 图片列表校验 | |||
|      * @param imgList  被校验的图片列表 | |||
|      * @param businessEnum 业务枚举,定义校验失败后,输出的日志信息 | |||
|      * | |||
|      * @return void | |||
|      * @auther zhangyong | |||
|      * @Date 14:42 2020-07-15 | |||
|      **/ | |||
|     public void imgScanVerification(List<String> imgList, String businessEnum){ | |||
|         if (null != imgList && NumConstant.ZERO != imgList.size()){ | |||
|             ImgScanParamDTO imgScanParamDTO = new ImgScanParamDTO(); | |||
|             imgList.forEach(url -> { | |||
|                 ImgTaskDTO task = new ImgTaskDTO(); | |||
|                 task.setDataId(UUID.randomUUID().toString().replace("-", "")); | |||
|                 task.setUrl(url); | |||
|                 imgScanParamDTO.getTasks().add(task); | |||
|             }); | |||
|             Result<SyncScanResult> imgScanResult = ScanContentUtils.imgSyncScan(scanApiUrl.concat(imgSyncScanMethod), imgScanParamDTO); | |||
|             if (!imgScanResult.success()){ | |||
|                 throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); | |||
|             } else { | |||
|                 if (!imgScanResult.getData().isAllPass()) { | |||
|                     // 业务枚举:例如:评论话题失败,评论内容为:%s"
 | |||
|                     log.error(String.format(businessEnum)); | |||
|                     throw new RenException(EpmetErrorCode.IMG_SCAN_FAILED.getCode()); | |||
|                 } | |||
|             } | |||
|         } | |||
|     } | |||
| } | |||
					Loading…
					
					
				
		Reference in new issue