18 changed files with 1001 additions and 6 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 List<ResultDetail> audioScanResults; |
||||
|
|
||||
|
|
||||
|
@Data |
||||
|
public static class ResultDetail { |
||||
|
private String scene; |
||||
|
private String label; |
||||
|
private String suggestion; |
||||
|
private Float rate; |
||||
|
} |
||||
|
} |
@ -0,0 +1,68 @@ |
|||||
|
package com.epmet.openapi.scan.common.enu; |
||||
|
|
||||
|
import com.epmet.commons.tools.constant.StrConstant; |
||||
|
|
||||
|
/** |
||||
|
* 公共错误码 |
||||
|
* |
||||
|
* @author yinzuomei@elink-cn.com |
||||
|
* @date 2021/1/10 19:43 |
||||
|
*/ |
||||
|
public enum CommonErrorCodeEnum { |
||||
|
OK(200, "请求成功。"), |
||||
|
PROCESSING(280, "任务正在执行中,建议您等待一段时间(例如5s)后再查询结果。"), |
||||
|
BAD_REQUEST(400, "请求有误,通常由于请求参数不正确导致,请仔细检查请求参数。"), |
||||
|
NOT_ALLOWED(401, "请求失败,通常是由于使用了不安全的图片、视频、语音链接地址。"), |
||||
|
FORBIDDEN(403, "请求访问失败,通常由于您的图片、视频、语音链接无法访问导致,请确认公网是否可访问,并且无防盗链策略。"), |
||||
|
NOT_FOUND(404, "待检测内容未找到,通常是由于您的图片、视频、语音内容无法下载导致,请确认内容可通过公网访问到。"), |
||||
|
DOWNLOAD_FAILED(480, "下载失败,请确认待检测内容的大小、分辨率(如果有)在API的限制范围内。"), |
||||
|
GENERAL_ERROR(500, "一般是服务端临时出错。建议重试,若持续返回该错误码,请通过工单联系我们。"), |
||||
|
DB_FAILED(580, "数据库操作失败。建议重试,若持续返回该错误码,请通过工单联系我们。"), |
||||
|
TIMEOUT(581, "超时。建议重试,若持续返回该错误码,请通过工单联系我们。"), |
||||
|
CACHE_FAILED(585, "缓存出错。建议重试,若持续返回该错误码,请通过工单联系我们。"), |
||||
|
ALGO_FAILED(586, "算法出错。请通过工单联系我们。"), |
||||
|
MQ_FAILED(587, "中间件出错。请通过工单联系我们。"), |
||||
|
EXCEED_QUOTA(588, "请求频率超出配额。默认配额:图片检测50张/秒,视频检测20路/秒,语音检测20路/秒,文本检测100条/秒。如果需要调整配额,请通过工单联系我们。"), |
||||
|
TOO_LARGE(589, "待检测内容过大,请确保检测的内容在API的限制范围内。建议重试,若持续返回该错误码,请通过工单联系我们。"), |
||||
|
BAD_FORMAT(590, "待检测内容格式错误,请确保检测的内容在API的限制范围内。"), |
||||
|
CONNECTION_POOL_FULL(591, "连接池满。请通过工单联系我们。"), |
||||
|
DOWNLOAD_TIMEOUT(592, "下载超时,下载时间限制为3s,请确保检测的内容大小在API的限制范围内。"), |
||||
|
EXPIRED(594, "任务过期,如taskId过期。"), |
||||
|
CATCH_FRAME_FAILED(595, "截帧失败,请通过工单联系我们。"), |
||||
|
PERMISSION_DENY(596, "账号未授权、账号欠费、账号未开通、账号被禁等原因,具体可以参考返回的msg。"); |
||||
|
|
||||
|
|
||||
|
private Integer code; |
||||
|
private String desc; |
||||
|
|
||||
|
CommonErrorCodeEnum(Integer code, String desc) { |
||||
|
this.code = code; |
||||
|
this.desc = desc; |
||||
|
} |
||||
|
|
||||
|
public Integer getCode() { |
||||
|
return code; |
||||
|
} |
||||
|
|
||||
|
public void setCode(Integer code) { |
||||
|
this.code = code; |
||||
|
} |
||||
|
|
||||
|
public String getDesc() { |
||||
|
return desc; |
||||
|
} |
||||
|
|
||||
|
public void setDesc(String desc) { |
||||
|
this.desc = desc; |
||||
|
} |
||||
|
|
||||
|
public static String getErrorMsg(Integer value) { |
||||
|
CommonErrorCodeEnum[] codeEnums = values(); |
||||
|
for (CommonErrorCodeEnum commonErrorCodeEnum : codeEnums) { |
||||
|
if (commonErrorCodeEnum.getCode().equals(value)) { |
||||
|
return commonErrorCodeEnum.getDesc(); |
||||
|
} |
||||
|
} |
||||
|
return StrConstant.EPMETY_STR; |
||||
|
} |
||||
|
} |
@ -0,0 +1,50 @@ |
|||||
|
package com.epmet.openapi.scan.common.enu; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* desc:视频检测场景 |
||||
|
* @author yinzuomei@elink-cn.com |
||||
|
* @date 2020/12/29 13:47 |
||||
|
**/ |
||||
|
public enum VideoSceneEnum { |
||||
|
PORN("porn", "视频智能鉴黄"), |
||||
|
TERRORISM("terrorism", "视频暴恐涉政"), |
||||
|
LIVE("live","视频不良场景"), |
||||
|
LOGO("logo","视频logo"), |
||||
|
AD("ad","视频图文违规"); |
||||
|
|
||||
|
private String code; |
||||
|
private String desc; |
||||
|
|
||||
|
VideoSceneEnum(String code, String desc) { |
||||
|
this.code = code; |
||||
|
this.desc = desc; |
||||
|
} |
||||
|
|
||||
|
public static List<String> getVideoSceneList() { |
||||
|
List<String> result = new ArrayList<>(); |
||||
|
VideoSceneEnum[] values = VideoSceneEnum.values(); |
||||
|
for (VideoSceneEnum v : values) { |
||||
|
result.add(v.getCode()); |
||||
|
} |
||||
|
return result; |
||||
|
} |
||||
|
|
||||
|
public String getCode() { |
||||
|
return code; |
||||
|
} |
||||
|
|
||||
|
public void setCode(String code) { |
||||
|
this.code = code; |
||||
|
} |
||||
|
|
||||
|
public String getDesc() { |
||||
|
return desc; |
||||
|
} |
||||
|
|
||||
|
public void setDesc(String desc) { |
||||
|
this.desc = desc; |
||||
|
} |
||||
|
} |
@ -0,0 +1,76 @@ |
|||||
|
package com.epmet.openapi.scan.support.param.video; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotEmpty; |
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* 视频审核-异步检测入参DTO |
||||
|
* |
||||
|
* @author yinzuomei@elink-cn.com |
||||
|
*/ |
||||
|
@Data |
||||
|
public class VideoAsyncScanParam implements Serializable { |
||||
|
private static final long serialVersionUID = -7635290200099445362L; |
||||
|
|
||||
|
/** |
||||
|
* 是否开启回调 |
||||
|
*/ |
||||
|
private Boolean openCallBack; |
||||
|
|
||||
|
/** |
||||
|
* 不必填 |
||||
|
* 该字段用于标识您的业务场景。您可以通过内容安全控制台创建业务场景(具体操作,请参见自定义机审标准),或者提交工单联系我们帮助您创建业务场景。 |
||||
|
*/ |
||||
|
private String bizType; |
||||
|
|
||||
|
/** |
||||
|
* 不必填 |
||||
|
* 是否为语音流(例如直播流)检测。取值: |
||||
|
* true:表示语音流检测。 |
||||
|
* false(默认):表示音频文件检测。 |
||||
|
*/ |
||||
|
private Boolean live; |
||||
|
|
||||
|
/** |
||||
|
* 不必填 |
||||
|
* 是否为近线检测模式。 取值: |
||||
|
* true:表示近线检测模式。近线检测模式下,您提交的任务不保证能够实时处理,但是可以排队并在24小时内开始检测。 |
||||
|
* false(默认):表示实时检测模式。对于超过了并发路数限制的检测请求会直接拒绝。 |
||||
|
* 说明 该参数仅适用于音频文件检测,不适用于语音流检测。 |
||||
|
*/ |
||||
|
private Boolean offline; |
||||
|
|
||||
|
/** |
||||
|
* 必填 |
||||
|
* 指定视频检测场景。取值: |
||||
|
* porn:视频智能鉴黄 |
||||
|
* terrorism:视频暴恐涉政 |
||||
|
* live:视频不良场景 |
||||
|
* logo:视频logo |
||||
|
* ad:视频图文违规 |
||||
|
*/ |
||||
|
private List<String> scenes; |
||||
|
|
||||
|
/** |
||||
|
* 不必填 |
||||
|
* 指定视频语音检测场景,唯一取值:antispam,表示语音反垃圾。不传入该参数时仅检测视频图像内容;如果传入该参数,则在检测视频中图像的同时,对视频中语音进行检测。 |
||||
|
* 说明 如果需要检测视频语音,则不支持通过上传视频截帧序列的方式(即在task中传入frames)进行检测,您必须传入视频或视频流的URL地址(即在task中传入url)进行检测。 |
||||
|
*/ |
||||
|
private List<String> audioScenes; |
||||
|
|
||||
|
/** |
||||
|
* 异步检测结果回调地址,执行异步审查内容时 必填 |
||||
|
*/ |
||||
|
private String callback; |
||||
|
|
||||
|
/** |
||||
|
* 随机字符串,该值用于回调通知请求中的签名,使用callback时 必填 |
||||
|
*/ |
||||
|
private String seed; |
||||
|
|
||||
|
@NotEmpty(message = "检测对象不能为空") |
||||
|
private List<VideoAsyncScanTask> tasks; |
||||
|
} |
@ -0,0 +1,30 @@ |
|||||
|
package com.epmet.openapi.scan.support.param.video; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
/** |
||||
|
* 视频审核-异步检测入参-检测对象 |
||||
|
* |
||||
|
* @author yinzuomei@elink-cn.com |
||||
|
*/ |
||||
|
@Data |
||||
|
public class VideoAsyncScanTask implements Serializable { |
||||
|
/** |
||||
|
* 建议必填 |
||||
|
* 要检测的数据id 非必填 |
||||
|
* 检测对象对应的数据ID。 |
||||
|
* 由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过128个字符,可以用于唯一标识您的业务数据。 |
||||
|
* */ |
||||
|
@NotBlank(message = "dataId不能为空") |
||||
|
private String dataId; |
||||
|
|
||||
|
/** |
||||
|
* 必填 |
||||
|
* 待检测视频的URL。该字段不能和frames同时为空,也不能和frames同时有值。 |
||||
|
*/ |
||||
|
@NotBlank(message = "音频URL不能为空") |
||||
|
private String url; |
||||
|
} |
@ -0,0 +1,41 @@ |
|||||
|
package com.epmet.openapi.scan.support.result.video; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonIgnore; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
/** |
||||
|
* 视频审核-异步检测任务提交返参详情 |
||||
|
* |
||||
|
* @author yinzuomei@elink-cn.com |
||||
|
* @date 2020/12/29 13:42 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class VideoAsyncScanTaskDataDTO implements Serializable { |
||||
|
private static final long serialVersionUID = 8430710131685814181L; |
||||
|
/** |
||||
|
* 错误码,和HTTP状态码一致。 |
||||
|
* 更多信息,请参见公共错误码。 |
||||
|
*/ |
||||
|
private Integer code; |
||||
|
/** |
||||
|
* 错误描述信息。 |
||||
|
*/ |
||||
|
private String msg; |
||||
|
/** |
||||
|
* 检测对象对应的数据ID。 |
||||
|
*/ |
||||
|
private String dataId; |
||||
|
|
||||
|
/** |
||||
|
* 检测任务的ID |
||||
|
*/ |
||||
|
private String taskId; |
||||
|
|
||||
|
/** |
||||
|
* 暂时没用,所以返回忽略 |
||||
|
*/ |
||||
|
@JsonIgnore |
||||
|
private String url; |
||||
|
} |
@ -0,0 +1,45 @@ |
|||||
|
package com.epmet.openapi.scan.support.result.video; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* 视频审核-异步检测任务提交返参 |
||||
|
* |
||||
|
* @author yinzuomei@elink-cn.com |
||||
|
* @date 2020/12/29 13:38 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class VideoAsyncScanTaskResultDTO implements Serializable { |
||||
|
private static final long serialVersionUID = -467990806428860191L; |
||||
|
|
||||
|
/** |
||||
|
* 随机字符串,该值用于回调通知请求中的签名。 |
||||
|
*/ |
||||
|
private String seed; |
||||
|
|
||||
|
/** |
||||
|
* 提交成功的失败对象 |
||||
|
*/ |
||||
|
private List<VideoAsyncScanTaskDataDTO> successTasks=new ArrayList<>(); |
||||
|
|
||||
|
/** |
||||
|
* 提交失败的检测对象 |
||||
|
*/ |
||||
|
private List<VideoAsyncScanTaskDataDTO> failTasks=new ArrayList<>(); |
||||
|
|
||||
|
/** |
||||
|
* 是否全部提交成功 |
||||
|
*/ |
||||
|
private Boolean isAllSuccess; |
||||
|
|
||||
|
public boolean isAllSuccess() { |
||||
|
if (failTasks.isEmpty() && !successTasks.isEmpty()) { |
||||
|
return true; |
||||
|
} |
||||
|
return isAllSuccess; |
||||
|
} |
||||
|
} |
@ -0,0 +1,48 @@ |
|||||
|
package com.epmet.openapi.scan.support.result.video; |
||||
|
|
||||
|
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 VideoResultDTO implements Serializable { |
||||
|
private static final long serialVersionUID = -3451342817149956488L; |
||||
|
|
||||
|
/** |
||||
|
* 执行成功的任务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<VideoScanOriginalResultDTO> details = new ArrayList<>(); |
||||
|
|
||||
|
/** |
||||
|
* 本地是否全部通过 |
||||
|
*/ |
||||
|
private Boolean isAllPass; |
||||
|
|
||||
|
public boolean isAllPass() { |
||||
|
if (noPassTaskIds.isEmpty() && !passTaskIds.isEmpty()) { |
||||
|
return true; |
||||
|
} |
||||
|
return isAllPass; |
||||
|
} |
||||
|
} |
@ -0,0 +1,53 @@ |
|||||
|
package com.epmet.openapi.scan.support.result.video; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
/** |
||||
|
* 视频异步检测结果查询接口原生返参-视频检测结果 |
||||
|
* |
||||
|
* @author yinzuomei@elink-cn.com |
||||
|
* @date 2020/12/29 16:39 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class VideoScanOriginDetail implements Serializable { |
||||
|
private static final long serialVersionUID = 5547706236158849091L; |
||||
|
/** |
||||
|
* 视频检测场景,和调用请求中的场景对应。取值: |
||||
|
* porn:视频智能鉴黄 |
||||
|
* terrorism:视频暴恐涉政 |
||||
|
* live:视频不良场景 |
||||
|
* logo:视频logo |
||||
|
* ad:视频图文违规 |
||||
|
*/ |
||||
|
private String scene; |
||||
|
|
||||
|
/** |
||||
|
* 视频检测结果的分类。不同检测场景的结果分类不同,具体如下: |
||||
|
* 视频智能鉴黄(porn)结果分类: |
||||
|
* normal:正常 |
||||
|
* porn:色情 |
||||
|
* 视频暴恐涉政(terrorism)结果分类: |
||||
|
* normal:正常 |
||||
|
* terrorism:暴恐涉政 |
||||
|
* 视频不良场景(live)结果分类: |
||||
|
* normal:正常 |
||||
|
* live:包含不良场景 |
||||
|
* 视频logo(logo)结果分类: |
||||
|
* normal:正常 |
||||
|
* logo:包含logo |
||||
|
* 视频图文违规(ad)结果分类: |
||||
|
* normal:正常 |
||||
|
* ad:包含广告或文字违规信息 |
||||
|
*/ |
||||
|
private String label; |
||||
|
|
||||
|
/** |
||||
|
* 建议您执行的后续操作。取值: |
||||
|
* pass:结果正常,无需进行其余操作。 |
||||
|
* review:结果不确定,需要进行人工审核。 |
||||
|
* block:结果违规,建议直接删除或者限制公开。 |
||||
|
*/ |
||||
|
private String suggestion; |
||||
|
} |
@ -0,0 +1,51 @@ |
|||||
|
package com.epmet.openapi.scan.support.result.video; |
||||
|
|
||||
|
import com.epmet.openapi.scan.support.result.VoiceAsyncScanResultDTO; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* 视频异步检测结果查询接口原生返参 |
||||
|
* |
||||
|
* @author yinzuomei@elink-cn.com |
||||
|
* @date 2020/12/29 15:48 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class VideoScanOriginalResultDTO implements Serializable { |
||||
|
private static final long serialVersionUID = -1565008507757551616L; |
||||
|
|
||||
|
/** |
||||
|
* 错误码,和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<VideoScanOriginDetail> results; |
||||
|
|
||||
|
/** |
||||
|
* 视频语音检测结果。具体结构描述,请参见audioScanResult。 |
||||
|
*/ |
||||
|
private List<VoiceAsyncScanResultDTO> audioScanResults; |
||||
|
} |
Loading…
Reference in new issue