Browse Source

feat: 发送视频去抖动接口完善

WANGKANG 10 months ago
parent
commit
84ea86e346

+ 8 - 1
taais-modules/taais-biz/src/main/java/com/taais/biz/controller/VideoStableController.java

@@ -3,6 +3,8 @@ package com.taais.biz.controller;
 import java.util.List;
 
 import com.taais.biz.domain.bo.VideoStableStartBo;
+import com.taais.biz.domain.bo.VideoStableStartResultBo;
+import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import jakarta.servlet.http.HttpServletResponse;
 import cn.dev33.satoken.annotation.SaCheckPermission;
@@ -35,8 +37,13 @@ public class VideoStableController extends BaseController {
     @Resource
     private IVideoStableService videoStableService;
 
+    @PostMapping("/get_result")
+    public CommonResult getResult(@Valid @RequestBody VideoStableStartResultBo videoStableStartResultBo) {
+        return videoStableService.getResult(videoStableStartResultBo);
+    }
+
     @PostMapping("/start")
-    public CommonResult start(@RequestBody VideoStableStartBo videoStableStartBo) {
+    public CommonResult start(@Valid @RequestBody VideoStableStartBo videoStableStartBo) {
         return videoStableService.start(videoStableStartBo);
     }
 

+ 59 - 19
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/VideoStable.java

@@ -1,14 +1,16 @@
 package com.taais.biz.domain;
 
 import java.util.Date;
+
 import com.mybatisflex.annotation.Column;
 import com.mybatisflex.annotation.Id;
 import com.mybatisflex.annotation.Table;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
+import lombok.*;
 
 import java.io.Serial;
+
 import com.taais.common.orm.core.domain.BaseEntity;
+import lombok.Data;
 
 /**
  * 视频去抖动对象 video_stable
@@ -16,48 +18,86 @@ import com.taais.common.orm.core.domain.BaseEntity;
  * @author 0
  * 2024-08-30
  */
+@Builder
 @Data
 @EqualsAndHashCode(callSuper = true)
 @Table(value = "video_stable")
-public class VideoStable extends BaseEntity
-    {
-@Serial
-private static final long serialVersionUID = 1L;
-
-    /** 主键ID */
+@AllArgsConstructor
+@NoArgsConstructor
+public class VideoStable extends BaseEntity {
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
     @Id
     private Long id;
 
-    /** 视频名称 */
+    /**
+     * 视频名称
+     */
     private String name;
 
-    /** 任务状态 0未开始 1进行中 2已结束 */
+    /**
+     * 任务状态 0未开始 1进行中 2已结束
+     */
     private String status;
 
-    /** 输入图片集路径 */
-    private String inputPath;
+    /**
+     * 输入图片集路径
+     */
+    private String inPath;
 
-    /** 去抖动的图片集路径 */
+    /**
+     * 去抖动的图片集路径
+     */
     private String outPath;
 
-    /** 开始时间 */
+    /**
+     * 开始时间
+     */
     private Date startTime;
 
-    /** 结束时间 */
+    /**
+     * 结束时间
+     */
     private Date endTime;
 
-    /** 耗时 */
+    /**
+     * 耗时
+     */
     private Long costSecond;
 
-    /** 日志 */
+    /**
+     * 日志
+     */
     private String log;
 
-    /** 备注 */
+    /**
+     * 备注
+     */
     private String remarks;
 
-    /** 逻辑删除标志(0代表存在 1代表删除) */
+    /**
+     * 逻辑删除标志(0代表存在 1代表删除)
+     */
     @Column(isLogicDelete = true)
     private Integer delFlag;
 
 
+    @Builder.Default
+    int block_size = 50;
+    @Builder.Default
+    int radius = 500;
+    @Builder.Default
+    int buffer_size = 200;
+    @Builder.Default
+    double cornerquality = 0.2;
+    @Builder.Default
+    int cornerminDistance = 5;
+    @Builder.Default
+    int lklevel = 3;
+    @Builder.Default
+    int lkwinSiz = 15;
 }

+ 17 - 2
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/VideoStableBo.java

@@ -2,6 +2,7 @@ package com.taais.biz.domain.bo;
 
 import com.taais.biz.domain.VideoStable;
 import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Builder;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import jakarta.validation.constraints.*;
@@ -15,6 +16,7 @@ import com.taais.common.orm.core.domain.BaseEntity;
  * @author 0
  * @date 2024-08-30
  */
+@Builder
 @Data
 @EqualsAndHashCode(callSuper = true)
 @AutoMapper(target = VideoStable.class, reverseConvertGenerate = false)
@@ -41,7 +43,7 @@ public class VideoStableBo extends BaseEntity{
      * 输入图片集路径
      */
     @NotBlank(message = "输入图片集路径不能为空")
-    private String inputPath;
+    private String inPath;
 
     /**
      * 去抖动的图片集路径
@@ -81,5 +83,18 @@ public class VideoStableBo extends BaseEntity{
     @NotBlank(message = "备注不能为空")
     private String remarks;
 
-
+    @Builder.Default
+    int block_size = 50;
+    @Builder.Default
+    int radius = 500;
+    @Builder.Default
+    int buffer_size = 200;
+    @Builder.Default
+    double cornerquality = 0.2;
+    @Builder.Default
+    int cornerminDistance = 5;
+    @Builder.Default
+    int lklevel = 3;
+    @Builder.Default
+    int lkwinSiz = 15;
 }

+ 33 - 14
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/VideoStableStartBo.java

@@ -1,23 +1,42 @@
 package com.taais.biz.domain.bo;
 
+import com.taais.biz.domain.Video2image;
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+
 /**
  * @Datetime : 2023/12/5 12:13
- * @Author : WANGKANG
- * @Email : 1686617586@qq.com
- * @File : VideoStableStart.java
- * @Brief :
- * Copyright 2023 WANGKANG, All Rights Reserved.
+ * @Author   : WANGKANG
+ * @Emai     : 1686617586@qq.com
+ * @File     : VideoStableStart.java
+ * @Brief    : 视频稳定启动参数
  */
+
+@Builder
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode()
 public class VideoStableStartBo {
-    String bizType;
-    int bizId;
+    @NotNull(message = "in_path不能为空")
     String in_path;
+
+    @NotNull(message = "out_path不能为空")
     String out_path;
-    int block_size;
-    int radius;
-    int buffer_size;
-    double cornerquality;
-    int cornerminDistance;
-    int lklevel;
-    int lkwinSiz;
+
+    @Builder.Default
+    int block_size = 50;
+    @Builder.Default
+    int radius = 500;
+    @Builder.Default
+    int buffer_size = 200;
+    @Builder.Default
+    double cornerquality = 0.2;
+    @Builder.Default
+    int cornerminDistance = 5;
+    @Builder.Default
+    int lklevel = 3;
+    @Builder.Default
+    int lkwinSiz = 15;
 }

+ 26 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/domain/bo/VideoStableStartResultBo.java

@@ -0,0 +1,26 @@
+package com.taais.biz.domain.bo;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+
+/**
+ * @Datetime : 2023/12/5 12:13
+ * @Author : WANGKANG
+ * @Email : 1686617586@qq.com
+ * @File : VideoStableStartResult.java
+ * @Brief :
+ * Copyright 2023 WANGKANG, All Rights Reserved.
+ */
+
+@Builder
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@EqualsAndHashCode()
+public class VideoStableStartResultBo {
+    @NotNull(message = "status不能为空")
+    private int status;
+    private String msg;
+    private String bizType;
+    private String bizId;
+}

+ 3 - 0
taais-modules/taais-biz/src/main/java/com/taais/biz/service/IVideoStableService.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.taais.biz.domain.VideoStable;
 import com.taais.biz.domain.bo.VideoStableStartBo;
+import com.taais.biz.domain.bo.VideoStableStartResultBo;
 import com.taais.biz.domain.vo.VideoStableVo;
 import com.taais.biz.domain.bo.VideoStableBo;
 import com.taais.common.core.core.domain.CommonResult;
@@ -66,4 +67,6 @@ public interface IVideoStableService extends IBaseService<VideoStable> {
     boolean deleteByIds(Long[] ids);
 
     CommonResult start(VideoStableStartBo videoStableStartBo);
+
+    CommonResult getResult(VideoStableStartResultBo videoStableStartResultBo);
 }

+ 31 - 2
taais-modules/taais-biz/src/main/java/com/taais/biz/service/impl/VideoStableServiceImpl.java

@@ -7,15 +7,20 @@ import cn.hutool.core.util.ObjectUtil;
 import com.mybatisflex.core.paginate.Page;
 import com.mybatisflex.core.query.QueryWrapper;
 import com.taais.biz.domain.bo.VideoStableStartBo;
+import com.taais.biz.domain.bo.VideoStableStartResultBo;
 import com.taais.common.core.core.domain.CommonResult;
 import com.taais.common.core.utils.MapstructUtils;
+import com.taais.common.json.utils.JsonUtils;
 import com.taais.common.orm.core.page.PageQuery;
 import com.taais.common.core.core.page.PageResult;
 import com.taais.common.orm.core.service.impl.BaseServiceImpl;
 import io.swagger.v3.oas.annotations.Parameter;
 import jakarta.annotation.Resource;
+import lombok.Builder;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.opencv.video.Video;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -58,8 +63,8 @@ public class VideoStableServiceImpl extends BaseServiceImpl<VideoStableMapper, V
             (videoStableBo.getName()));
         queryWrapper.and(VIDEO_STABLE.STATUS.eq
             (videoStableBo.getStatus()));
-        queryWrapper.and(VIDEO_STABLE.INPUT_PATH.eq
-            (videoStableBo.getInputPath()));
+        queryWrapper.and(VIDEO_STABLE.IN_PATH.eq
+            (videoStableBo.getInPath()));
         queryWrapper.and(VIDEO_STABLE.OUT_PATH.eq
             (videoStableBo.getOutPath()));
         queryWrapper.and(VIDEO_STABLE.START_TIME.eq
@@ -156,9 +161,28 @@ public class VideoStableServiceImpl extends BaseServiceImpl<VideoStableMapper, V
 
     @Override
     public CommonResult start(VideoStableStartBo videoStableStartBo) {
+        VideoStable videoStable = new VideoStable();
+        videoStable.setInPath(videoStableStartBo.getIn_path());
+        videoStable.setOutPath(videoStableStartBo.getOut_path());
+        videoStable.setBlock_size(videoStableStartBo.getBlock_size());
+        videoStable.setRadius(videoStable.getRadius());
+        videoStable.setBuffer_size(videoStableStartBo.getBuffer_size());
+        videoStable.setCornerquality(videoStable.getCornerquality());
+        videoStable.setCornerminDistance(videoStable.getCornerminDistance());
+        videoStable.setLklevel(videoStable.getLklevel());
+        videoStable.setLkwinSiz(videoStable.getLkwinSiz());
+
+        save(videoStable);
+        System.out.println(videoStable.getId());
+
         log.info("start video_stable_url: {}", video_stable_url);
         try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
             HttpPost request = new HttpPost(video_stable_url);
+            // 设置请求体
+            System.out.println(JsonUtils.toJsonString(videoStable));
+            StringEntity entity = new StringEntity(JsonUtils.toJsonString(videoStable), "UTF-8");
+            entity.setContentType("application/json");
+            request.setEntity(entity);
             try (CloseableHttpResponse response = httpClient.execute(request)) {
                 String responseBody = EntityUtils.toString(response.getEntity());
                 System.out.println(responseBody);
@@ -169,4 +193,9 @@ public class VideoStableServiceImpl extends BaseServiceImpl<VideoStableMapper, V
             return CommonResult.fail("start video_stable error -> " + e.getMessage());
         }
     }
+
+    @Override
+    public CommonResult getResult(VideoStableStartResultBo videoStableStartResultBo) {
+        return null;
+    }
 }