|
@@ -0,0 +1,136 @@
|
|
|
+package com.sxtvs.open.api.review.dto;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.annotation.JSONField;
|
|
|
+import com.sxtvs.open.api.review.entity.TypeDict;
|
|
|
+import lombok.Data;
|
|
|
+import lombok.NoArgsConstructor;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@NoArgsConstructor
|
|
|
+@Data
|
|
|
+public class VideoReviewResp {
|
|
|
+
|
|
|
+ @JSONField(name = "userName")
|
|
|
+ private String userName;
|
|
|
+ @JSONField(name = "taskId")
|
|
|
+ private String taskId;
|
|
|
+ @JSONField(name = "source")
|
|
|
+ private String source;
|
|
|
+ @JSONField(name = "url")
|
|
|
+ private String url;
|
|
|
+ @JSONField(name = "description")
|
|
|
+ private String description;
|
|
|
+ @JSONField(name = "preset")
|
|
|
+ private String preset;
|
|
|
+ @JSONField(name = "status")
|
|
|
+ private String status;
|
|
|
+ @JSONField(name = "statusDesc")
|
|
|
+ private String statusDesc;
|
|
|
+ @JSONField(name = "label")
|
|
|
+ private String label;
|
|
|
+ @JSONField(name = "labelDesc")
|
|
|
+ private String labelDesc;
|
|
|
+ @JSONField(name = "duration")
|
|
|
+ private Integer duration;
|
|
|
+ @JSONField(name = "notification")
|
|
|
+ private String notification;
|
|
|
+ @JSONField(name = "results")
|
|
|
+ private List<ResultsDTO> results;
|
|
|
+ @JSONField(name = "createTime")
|
|
|
+ private String createTime;
|
|
|
+ @JSONField(name = "startTime")
|
|
|
+ private String startTime;
|
|
|
+ @JSONField(name = "finishTime")
|
|
|
+ private String finishTime;
|
|
|
+ @JSONField(name = "streamId")
|
|
|
+ private String streamId;
|
|
|
+ @JSONField(name = "callbackType")
|
|
|
+ private String callbackType;
|
|
|
+ @JSONField(name = "ocrResults")
|
|
|
+ private List<OcrResultsDTO> ocrResults;
|
|
|
+
|
|
|
+ @NoArgsConstructor
|
|
|
+ @Data
|
|
|
+ public static class ResultsDTO {
|
|
|
+ @JSONField(name = "type")
|
|
|
+ private String type;
|
|
|
+ @JSONField(name = "typeDesc")
|
|
|
+ private String typeDesc;
|
|
|
+ @JSONField(name = "items")
|
|
|
+ private List<ItemsDTO> items;
|
|
|
+
|
|
|
+ @NoArgsConstructor
|
|
|
+ @Data
|
|
|
+ public static class ItemsDTO {
|
|
|
+ @JSONField(name = "subType")
|
|
|
+ private String subType;
|
|
|
+ @JSONField(name = "subTypeDesc")
|
|
|
+ private String subTypeDesc;
|
|
|
+ @JSONField(name = "target")
|
|
|
+ private String target;
|
|
|
+ @JSONField(name = "startTimeInSeconds")
|
|
|
+ private Integer startTimeInSeconds;
|
|
|
+ @JSONField(name = "endTimeInSeconds")
|
|
|
+ private Integer endTimeInSeconds;
|
|
|
+ @JSONField(name = "confidence")
|
|
|
+ private Double confidence;
|
|
|
+ @JSONField(name = "label")
|
|
|
+ private String label;
|
|
|
+ @JSONField(name = "labelDesc")
|
|
|
+ private String labelDesc;
|
|
|
+ @JSONField(name = "extra")
|
|
|
+ private String extra;
|
|
|
+ @JSONField(name = "evidence")
|
|
|
+ private EvidenceDTO evidence;
|
|
|
+ @JSONField(name = "timeInSeconds")
|
|
|
+ private Integer timeInSeconds;
|
|
|
+
|
|
|
+ @NoArgsConstructor
|
|
|
+ @Data
|
|
|
+ public static class EvidenceDTO {
|
|
|
+ @JSONField(name = "text")
|
|
|
+ private String text;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @NoArgsConstructor
|
|
|
+ @Data
|
|
|
+ public static class OcrResultsDTO {
|
|
|
+ @JSONField(name = "text")
|
|
|
+ private String text;
|
|
|
+ @JSONField(name = "complex")
|
|
|
+ private Boolean complex;
|
|
|
+ @JSONField(name = "timeInSeconds")
|
|
|
+ private Integer timeInSeconds;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public void fill(){
|
|
|
+ if (TypeDict.STATUS.containsKey(this.status)){
|
|
|
+ this.statusDesc = TypeDict.STATUS.get(this.status);
|
|
|
+ }
|
|
|
+ if (TypeDict.LABEL.containsKey(this.label)){
|
|
|
+ this.labelDesc = TypeDict.LABEL.get(this.label);
|
|
|
+ }
|
|
|
+ if (this.results == null){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for(ResultsDTO resultsDTO : this.results){
|
|
|
+ if (TypeDict.TYPE.containsKey(resultsDTO.type)){
|
|
|
+ resultsDTO.typeDesc = TypeDict.TYPE.get(resultsDTO.type);
|
|
|
+ }
|
|
|
+
|
|
|
+ for(ResultsDTO.ItemsDTO itemsDTO : resultsDTO.items){
|
|
|
+ if (TypeDict.LABEL.containsKey(itemsDTO.label)){
|
|
|
+ itemsDTO.labelDesc = TypeDict.LABEL.get(itemsDTO.label);
|
|
|
+ }
|
|
|
+ if (TypeDict.TYPE.containsKey(itemsDTO.subType)){
|
|
|
+ itemsDTO.subTypeDesc = TypeDict.TYPE.get(itemsDTO.subType);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+}
|