From aaa07634fa899b7346dfd61c6f70962adbc1dca5 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期五, 20 十月 2023 08:55:02 +0800
Subject: [PATCH] 1. 增加聚焦值和获取接口。 2. 增加视频编码获取接口。 3. 流媒体通过编码自动切换是否转码。

---
 ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 55 insertions(+), 2 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java b/ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java
index 456fad4..aac11e5 100644
--- a/ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/media/service/impl/VtduServiceImpl.java
@@ -1,11 +1,21 @@
 package com.ruoyi.media.service.impl;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.device.camera.domain.CameraCmd;
+import com.ruoyi.device.camera.service.ICameraSdkService;
+import com.ruoyi.media.service.IMediaService;
+import com.ruoyi.utils.forest.MediaClient;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import com.ruoyi.media.mapper.VtduMapper;
 import com.ruoyi.media.domain.Vtdu;
@@ -20,9 +30,12 @@
  * @date 2023-08-29
  */
 @Service
+@Slf4j
 public class VtduServiceImpl implements IVtduService {
     @Resource
     private VtduMapper vtduMapper;
+    @Resource
+    private IMediaService mediaService;
 
     /**
      * 鏌ヨ娴佸獟浣撶鐞�
@@ -32,6 +45,7 @@
      */
     @Override
     public Vtdu selectVtduByName(String name) {
+
         return vtduMapper.selectVtduByName(name);
     }
 
@@ -54,7 +68,16 @@
      */
     @Override
     public int insertVtdu(Vtdu vtdu) {
-        vtdu.setCreateBy(SecurityUtils.getUserId());
+        log.info("娴佸獟浣撱��" + vtdu.getName() + "銆戦�氶亾娣诲姞");
+        Map<String, String> map = mediaService.addPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
+        vtdu.setRtspUrl(map.get("rtspUrl"));
+        vtdu.setRtmpUrl(map.get("rtmpUrl"));
+        vtdu.setWebrtcUrl(map.get("webrtcUrl"));
+
+        vtdu.setName(vtdu.getName());
+        vtdu.setRtspSource(vtdu.getRtspSource());
+        vtdu.setIsCode(vtdu.getIsCode());
+        vtdu.setMode(vtdu.getMode());
         vtdu.setCreateTime(DateUtils.getNowDate());
         return vtduMapper.insertVtdu(vtdu);
     }
@@ -67,7 +90,16 @@
      */
     @Override
     public int updateVtdu(Vtdu vtdu) {
-        vtdu.setUpdateBy(SecurityUtils.getUserId());
+
+        log.info("娴佸獟浣撱��" + vtdu.getName() + "銆戦�氶亾鏇存柊");
+        Map<String, String> map = mediaService.editPath(vtdu.getName(), vtdu.getRtspSource(), vtdu.getMode(), vtdu.getIsCode());
+        vtdu.setName(vtdu.getName());
+        vtdu.setRtspSource(vtdu.getRtspSource());
+        vtdu.setIsCode(vtdu.getIsCode());
+        vtdu.setMode(vtdu.getMode());
+        vtdu.setRtspUrl(map.get("rtspUrl"));
+        vtdu.setRtmpUrl(map.get("rtmpUrl"));
+        vtdu.setWebrtcUrl(map.get("webrtcUrl"));
         vtdu.setUpdateTime(DateUtils.getNowDate());
         return vtduMapper.updateVtdu(vtdu);
     }
@@ -80,6 +112,7 @@
      */
     @Override
     public int deleteVtduByNames(String[] names) {
+        mediaService.removePath(names);
         return vtduMapper.deleteVtduByNames(names);
     }
 
@@ -91,6 +124,26 @@
      */
     @Override
     public int deleteVtduByName(String name) {
+        mediaService.removePath(name);
         return vtduMapper.deleteVtduByName(name);
     }
+
+    /**
+     * 鍒犻櫎娴佸獟浣撶鐞嗕俊鎭�
+     *
+     * @param cameraId 鐩告満ID
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteVtduByCameraId(String cameraId) {
+        Vtdu vtdu = new Vtdu();
+        vtdu.setCameraId(cameraId);
+        List<Vtdu> vtdus = vtduMapper.selectVtduList(vtdu);
+        if (vtdus.size() > 0) {
+            for (Vtdu v : vtdus) {
+                mediaService.removePath(v.getName());
+            }
+        }
+        return vtduMapper.deleteVtduByCameraId(cameraId);
+    }
 }

--
Gitblit v1.9.3