From 3f95846ca34bf97b00346417c99b1549293b72d2 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期三, 22 十二月 2021 09:45:35 +0800
Subject: [PATCH] 萤石云摄像头

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java         |   15 ++-
 dao/src/main/java/com/sandu/ximon/dao/domain/YSY_MonitorDto.java                          |  132 +++++++++++---------------------
 ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java                   |    9 ++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java               |   24 ++++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java |   14 +++
 5 files changed, 102 insertions(+), 92 deletions(-)

diff --git a/dao/src/main/java/com/sandu/ximon/dao/domain/YSY_MonitorDto.java b/dao/src/main/java/com/sandu/ximon/dao/domain/YSY_MonitorDto.java
index c57e7d7..2d3b70f 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/domain/YSY_MonitorDto.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/domain/YSY_MonitorDto.java
@@ -1,6 +1,5 @@
 package com.sandu.ximon.dao.domain;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
@@ -14,43 +13,21 @@
 public class YSY_MonitorDto {
     private String code;
     private String msg;
-    private data data;
+    private MonitorDto data;
 
 
-    public class data {
-//        {
-//            "deviceSerial": "F34465099",
-//                "deviceName": "DS-2DE4223IW-DE(F34465099)",
-//                "localName": "DS-2DE4223IW-DE(F34465099)",
-//                "model": "DS-2DE4223IW-DE",
-//                "status": 1,
-//                "defence": 0,
-//                "isEncrypt": 1,
-//                "alarmSoundMode": 0,
-//                "offlineNotify": 0,
-//                "category": "UNKNOWN",
-//                "parentCategory": "COMMON",
-//                "updateTime": 1612337396000,
-//                "netType": null,
-//                "signal": null,
-//                "riskLevel": 0,
-//                "netAddress": "119.132.57.169"
-//        }
+    @NoArgsConstructor
+    @Data
+    public class MonitorDto {
+        /**
+         * 钀ょ煶浜戞憚鍍忓ご鐩稿叧鍙傛暟寮�濮�
+         */
         private String deviceSerial;
         private String deviceName;
-        private String localName;
         private String model;
         private Integer status;
-        private Integer defence;
         private Integer isEncrypt;
-        private Integer alarmSoundMode;
-        private Integer offlineNotify;
-        private String category;
-        private String parentCategory;
         private LocalDateTime updateTime;
-//        private Object netType;
-//        private Object signal;
-        private Integer riskLevel;
         private String netAddress;
 
         public String getDeviceSerial() {
@@ -69,14 +46,6 @@
             this.deviceName = deviceName;
         }
 
-        public String getLocalName() {
-            return localName;
-        }
-
-        public void setLocalName(String localName) {
-            this.localName = localName;
-        }
-
         public String getModel() {
             return model;
         }
@@ -93,52 +62,12 @@
             this.status = status;
         }
 
-        public Integer getDefence() {
-            return defence;
-        }
-
-        public void setDefence(Integer defence) {
-            this.defence = defence;
-        }
-
         public Integer getIsEncrypt() {
             return isEncrypt;
         }
 
         public void setIsEncrypt(Integer isEncrypt) {
             this.isEncrypt = isEncrypt;
-        }
-
-        public Integer getAlarmSoundMode() {
-            return alarmSoundMode;
-        }
-
-        public void setAlarmSoundMode(Integer alarmSoundMode) {
-            this.alarmSoundMode = alarmSoundMode;
-        }
-
-        public Integer getOfflineNotify() {
-            return offlineNotify;
-        }
-
-        public void setOfflineNotify(Integer offlineNotify) {
-            this.offlineNotify = offlineNotify;
-        }
-
-        public String getCategory() {
-            return category;
-        }
-
-        public void setCategory(String category) {
-            this.category = category;
-        }
-
-        public String getParentCategory() {
-            return parentCategory;
-        }
-
-        public void setParentCategory(String parentCategory) {
-            this.parentCategory = parentCategory;
         }
 
         public LocalDateTime getUpdateTime() {
@@ -149,14 +78,6 @@
             this.updateTime = updateTime;
         }
 
-        public Integer getRiskLevel() {
-            return riskLevel;
-        }
-
-        public void setRiskLevel(Integer riskLevel) {
-            this.riskLevel = riskLevel;
-        }
-
         public String getNetAddress() {
             return netAddress;
         }
@@ -164,6 +85,45 @@
         public void setNetAddress(String netAddress) {
             this.netAddress = netAddress;
         }
+        /**
+         * 钀ょ煶浜戞憚鍍忓ご鐩稿叧鍙傛暟缁撴潫
+         */
+
+        /**
+         * 钀ょ煶浜戞憚鍍忓ご鎾斁鍦板潃鐩稿叧鍙傛暟寮�濮�
+         */
+        private String id;
+        private String url;
+        private String expireTime;
+
+        public String getId() {
+            return id;
+        }
+
+        public void setId(String id) {
+            this.id = id;
+        }
+
+        public String getUrl() {
+            return url;
+        }
+
+        public void setUrl(String url) {
+            this.url = url;
+        }
+
+        public String getExpireTime() {
+            return expireTime;
+        }
+
+        public void setExpireTime(String expireTime) {
+            this.expireTime = expireTime;
+        }
+
+/**
+         * 钀ょ煶浜戞憚鍍忓ご鎾斁鍦板潃鐩稿叧鍙傛暟缁撴潫
+         */
+
     }
 
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
index 1f5908d..f23cb0b 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
@@ -153,10 +153,7 @@
 
 
     /**
-     * 	缂栬緫鎽勫儚澶磋澶囦俊鎭�
-     */
-    /**
-     * 鑾峰彇鍗曚釜璁惧淇℃伅   getYSYMonitorInfo
+     * 缂栬緫鎽勫儚澶磋澶囦俊鎭�
      */
     @PostMapping("/UpDateMonitorInfo")
     public ResponseVO<Object> UpDateMonitorInfo(@RequestBody MonitorParam monitorParam) {
@@ -176,4 +173,14 @@
         }
     }
 
+    /**
+     * 缂栬緫鎽勫儚澶磋澶囦俊鎭�
+     */
+    @GetMapping("/getMonitorVideoUrl")
+    public ResponseVO<Object> getMonitorVideoUrl(@RequestBody MonitorParam monitorParam) {
+        String URL = monitorService.getMonitorVideoUrl(monitorParam.getAccessToken(), monitorParam.getDeviceSerial(), monitorParam.getProtocol());
+
+        return ResponseUtil.success(URL);
+    }
+
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java
index b08dff5..04d8bb1 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/amqp/AmqpMessageListener.java
@@ -109,18 +109,28 @@
         String functionCode = frame.getPayload().substring(2, 4);
         if (A5C3ReportEnum.NETWORK_REQUEST.getCode().equals(functionCode)) {
             A5C3CommonReportInnerFrame netRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
+            log.info("C3鍏呯數妗╀笂鎶ュ鐞哶netRequestFrame");
+            log.info(netRequestFrame.toString());
         } else if (A5C3ReportEnum.QR_CODE_REQUEST.getCode().equals(functionCode)) {
             A5C3CommonReportInnerFrame codeRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
+            log.info("C3鍏呯數妗╀笂鎶ュ鐞哶codeRequestFrame");
+            log.info(codeRequestFrame.toString());
         } else if (A5C3ReportEnum.HEART_BEAT.getCode().equals(functionCode)) {
             A5C3HeartbeatReportInnerFrame heartbeatReportInnerFrame = new A5C3HeartbeatReportInnerFrame().transformFrame(frame.getPayload());
+            log.info("C3鍏呯數妗╀笂鎶ュ鐞哶heartbeatReportInnerFrame");
+            log.info(heartbeatReportInnerFrame.toString());
         } else if (A5C3ReportEnum.CHARGE_COMPLETE.getCode().equals(functionCode)) {
             A5C3CommonReportInnerFrame completeRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
-
+            log.info("C3鍏呯數妗╀笂鎶ュ鐞哶completeRequestFrame");
+            log.info(completeRequestFrame.toString());
         } else if (A5C3ReportEnum.CHARGE_STOP.getCode().equals(functionCode)) {
             A5C3CommonReportInnerFrame stopRequestFrame = new A5C3CommonReportInnerFrame().transformFrame(frame.getPayload());
-
+            log.info("C3鍏呯數妗╀笂鎶ュ鐞哶stopRequestFrame");
+            log.info(stopRequestFrame.toString());
         } else if (A5C3ReportEnum.ERROR_CODE.getCode().equals(functionCode)) {
             A5C3ErrorCodeReportInnerFrame errorCodeRequestFrame = new A5C3ErrorCodeReportInnerFrame().transformFrame(frame.getPayload());
+            log.info("C3鍏呯數妗╀笂鎶ュ鐞哶errorCodeRequestFrame");
+            log.info(errorCodeRequestFrame.toString());
 
         }
     }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java
index 1f0c4f3..2be2c89 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/param/MonitorParam.java
@@ -28,4 +28,13 @@
     /**
      * 缁撴潫钀ょ煶浜戞憚鍍忓ご鐩稿叧鍙傛暟
      */
+
+    /**
+     * 寮�濮嬭悿鐭充簯鎽勫儚澶存挱鏀惧湴鍧�鐩稿叧鍙傛暟
+     */
+    //娴佹挱鏀惧崗璁紝1-ezopen銆�2-hls銆�3-rtmp銆�4-flv锛岄粯璁や负1
+    private int protocol;
+    /**
+     * 缁撴潫钀ょ煶浜戞憚鍍忓ご鎾斁鍦板潃鐩稿叧鍙傛暟
+     */
 }
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
index c01ff5e..ebb6a7b 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -38,6 +38,8 @@
     private static final String DELETE_DEVICE_URL = "/device/delete";
     //鑾峰彇钀ょ煶浜戝崟涓澶囦俊鎭�
     private static final String GET_DEVICE_URL = "/device/info";
+    //鑾峰彇钀ょ煶浜戞憚鍍忓ご鎾斁鍦板潃URL
+    private static final String GET_VEDIO_URL = "/v2/live/address/get";
 
     /**
      * 鏌ヨ鍏ㄩ儴鎽勫儚澶�
@@ -200,5 +202,27 @@
         return updateById(monitor);
     }
 
+    /**
+     * 杩斿洖鎽勫儚澶村疄鏃剁敾闈㈡挱鏀惧湴鍧�
+     *
+     * @param accessToken
+     * @param deviceSerial
+     * @return
+     */
+    public String getMonitorVideoUrl(String accessToken, String deviceSerial, int protocol) {
+        Map<String, Object> paramMap = new HashMap<>();
+        paramMap.put("accessToken", accessToken);
+        paramMap.put("deviceSerial", deviceSerial);
+        paramMap.put("protocol", protocol);
+        String s = HttpUtil.post(YSY_URL + GET_VEDIO_URL, paramMap);
+        System.out.println(s);
+        YSY_MonitorDto monitor = JSON.parseObject(s, YSY_MonitorDto.class);
+        if ("200".equals(monitor.getCode())) {
+            return monitor.getData().getUrl();
+        } else {
+            throw new BusinessException(monitor.getMsg());
+        }
+    }
+
 
 }

--
Gitblit v1.9.3