forked from luyan/epmet-cloud-lingshan
6 changed files with 258 additions and 2 deletions
@ -0,0 +1,35 @@ |
|||
package com.epmet.commons.tools.scan.param; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.Valid; |
|||
import javax.validation.constraints.NotEmpty; |
|||
import javax.validation.constraints.NotNull; |
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* (异步检测)请求参数 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2021/1/10 21:05 |
|||
*/ |
|||
@Data |
|||
public class VideoScanParamDTO implements Serializable { |
|||
private static final long serialVersionUID = -7261993744367287072L; |
|||
/** |
|||
* 是否开启回调 |
|||
*/ |
|||
@NotNull(message = "openCallBack必填,true开启;false不开启") |
|||
private Boolean openCallBack; |
|||
|
|||
/** |
|||
* 异步检测结果回调地址,执行异步审查内容时 必填 |
|||
* openCallBack=true时,callback必填 |
|||
*/ |
|||
private String callback; |
|||
|
|||
@Valid |
|||
@NotEmpty(message = "任务列表不能为空") |
|||
private List<VideoTaskDTO> tasks; |
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.epmet.commons.tools.scan.param; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
/** |
|||
* (异步检测)请求参数 |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2021/1/10 21:06 |
|||
*/ |
|||
@Data |
|||
public class VideoTaskDTO implements Serializable { |
|||
private static final long serialVersionUID = -5268462578193403270L; |
|||
/** |
|||
* 不必填 |
|||
* 要检测的数据id 非必填 |
|||
* 检测对象对应的数据ID。 |
|||
* 由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过128个字符,可以用于唯一标识您的业务数据。 |
|||
* */ |
|||
@NotBlank(message = "dataId不能为空") |
|||
private String dataId; |
|||
|
|||
/** |
|||
* 必填 |
|||
* 待检测视频的URL。该字段不能和frames同时为空,也不能和frames同时有值。 |
|||
*/ |
|||
@NotBlank(message = "音频URL不能为空") |
|||
private String url; |
|||
} |
@ -0,0 +1,47 @@ |
|||
package com.epmet.commons.tools.scan.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 视频异步检测结果查询接口返参 |
|||
* 正在检测中的不返回,调用方继续轮询查询结果 |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2020/12/29 15:37 |
|||
*/ |
|||
@Data |
|||
public class VideoAsyncScanResultDTO implements Serializable { |
|||
private static final long serialVersionUID = -7302168989456734818L; |
|||
/** |
|||
* 执行成功的任务Id集合 |
|||
* code=200,且所有语音+视频所有场景返回结果都为pass时则为成功 |
|||
*/ |
|||
private List<String> passDataIds = new ArrayList<>(); |
|||
/** |
|||
* 执行失败的任务Id集合 |
|||
*/ |
|||
private List<String> noPassDataIds = new ArrayList<>(); |
|||
|
|||
private List<String> passTaskIds = new ArrayList<>(); |
|||
private List<String> noPassTaskIds = new ArrayList<>(); |
|||
|
|||
/** |
|||
* desc:阿里内容审核API返回结果详情 |
|||
*/ |
|||
private List<VideoScanDetailDTO> details = new ArrayList<>(); |
|||
|
|||
/** |
|||
* 本地是否全部通过 |
|||
*/ |
|||
private Boolean isAllPass; |
|||
|
|||
public boolean isAllPass() { |
|||
if (noPassTaskIds.isEmpty() && !passTaskIds.isEmpty()) { |
|||
return true; |
|||
} |
|||
return isAllPass; |
|||
} |
|||
} |
@ -0,0 +1,56 @@ |
|||
package com.epmet.commons.tools.scan.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* |
|||
* @author yinzuomei@elink-cn.com |
|||
* @date 2021/1/10 21:24 |
|||
*/ |
|||
@Data |
|||
public class VideoScanDetailDTO implements Serializable { |
|||
/** |
|||
* 错误码,和HTTP状态码一致。 |
|||
* 更多信息,请参见公共错误码。 |
|||
*/ |
|||
private Integer code; |
|||
|
|||
private String codeDesc; |
|||
|
|||
/** |
|||
* 错误描述信息。 |
|||
*/ |
|||
private String msg; |
|||
/** |
|||
* 检测对象对应的数据ID。 |
|||
*/ |
|||
private String dataId; |
|||
|
|||
/** |
|||
* 检测任务的ID |
|||
*/ |
|||
private String taskId; |
|||
|
|||
/** |
|||
* 返回结果,调用成功时(code=200),返回结果中包含一个或多个元素。每个元素是个结构体,具体结构描述,请参见result。 |
|||
* 说明 视频流检测场景中,code返回280表示在检测中,返回200表示检测完成。在检测中状态时,检测结果中包含从开始检测到当前时间的检测到结果。 |
|||
*/ |
|||
private List<ResultDetail> results; |
|||
|
|||
/** |
|||
* 视频语音检测结果。具体结构描述,请参见audioScanResult。 |
|||
*/ |
|||
private ResultDetail audioScanResults; |
|||
|
|||
|
|||
@Data |
|||
public static class ResultDetail { |
|||
private String scene; |
|||
private String label; |
|||
private String suggestion; |
|||
private Float rate; |
|||
} |
|||
} |
Loading…
Reference in new issue