From 0802677d0b609abc8de0f0d882c6dbf483fc1987 Mon Sep 17 00:00:00 2001
From: 64850858 <648540858@qq.com>
Date: 星期五, 25 六月 2021 16:58:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wvp-28181-2.0' into wvp-28181-2.0

---
 src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java                |    6 +
 src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java                          |   13 ++--
 src/main/java/com/genersoft/iot/vmp/onvif/impl/ONVIFServerIMpl.java                            |    1 
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java                             |    2 
 src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java                   |    7 +-
 src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java         |   96 ++++++++++++++++----------------
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java                         |    1 
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java |    1 
 src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java          |    4 
 9 files changed, 66 insertions(+), 65 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java b/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java
index e6d8d54..234920e 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java
@@ -239,58 +239,58 @@
 
     }
 
-    public static void main(String[] args) throws NoSuchAlgorithmException {
-        String realm = "3402000000";
-        String username = "44010000001180008012";
+//     public static void main(String[] args) throws NoSuchAlgorithmException {
+//         String realm = "3402000000";
+//         String username = "44010000001180008012";
 
 
-        String nonce = "07cab60999fbf643264ace27d3b7de8b";
-        String uri = "sip:34020000002000000001@3402000000";
-        // qop 淇濇姢璐ㄩ噺 鍖呭惈auth锛堥粯璁ょ殑锛夊拰auth-int锛堝鍔犱簡鎶ユ枃瀹屾暣鎬ф娴嬶級涓ょ绛栫暐
-        String qop = "auth";
+//         String nonce = "07cab60999fbf643264ace27d3b7de8b";
+//         String uri = "sip:34020000002000000001@3402000000";
+//         // qop 淇濇姢璐ㄩ噺 鍖呭惈auth锛堥粯璁ょ殑锛夊拰auth-int锛堝鍔犱簡鎶ユ枃瀹屾暣鎬ф娴嬶級涓ょ绛栫暐
+//         String qop = "auth";
 
-        // 瀹㈡埛绔殢鏈烘暟锛岃繖鏄竴涓笉閫忔槑鐨勫瓧绗︿覆鍊硷紝鐢卞鎴风鎻愪緵锛屽苟涓斿鎴风鍜屾湇鍔″櫒閮戒細浣跨敤锛屼互閬垮厤鐢ㄦ槑鏂囨枃鏈��
-        // 杩欎娇寰楀弻鏂归兘鍙互鏌ラ獙瀵规柟鐨勮韩浠斤紝骞跺娑堟伅鐨勫畬鏁存�ф彁渚涗竴浜涗繚鎶�
-        //String cNonce = authHeader.getCNonce();
+//         // 瀹㈡埛绔殢鏈烘暟锛岃繖鏄竴涓笉閫忔槑鐨勫瓧绗︿覆鍊硷紝鐢卞鎴风鎻愪緵锛屽苟涓斿鎴风鍜屾湇鍔″櫒閮戒細浣跨敤锛屼互閬垮厤鐢ㄦ槑鏂囨枃鏈��
+//         // 杩欎娇寰楀弻鏂归兘鍙互鏌ラ獙瀵规柟鐨勮韩浠斤紝骞跺娑堟伅鐨勫畬鏁存�ф彁渚涗竴浜涗繚鎶�
+//         //String cNonce = authHeader.getCNonce();
 
-        // nonce璁℃暟鍣紝鏄竴涓�16杩涘埗鐨勬暟鍊硷紝琛ㄧず鍚屼竴nonce涓嬪鎴风鍙戦�佸嚭璇锋眰鐨勬暟閲�
-        int nc = 1;
-        String ncStr = new DecimalFormat("00000000").format(nc);
-//        String ncStr = new DecimalFormat("00000000").format(Integer.parseInt(nc + "", 16));
-        MessageDigest messageDigest = MessageDigest.getInstance(DEFAULT_ALGORITHM);
-        String A1 = username + ":" + realm + ":" + "12345678";
-        String A2 = "REGISTER" + ":" + uri;
-        byte mdbytes[] = messageDigest.digest(A1.getBytes());
-        String HA1 = toHexString(mdbytes);
-        System.out.println("A1: " + A1);
-        System.out.println("A2: " + A2);
+//         // nonce璁℃暟鍣紝鏄竴涓�16杩涘埗鐨勬暟鍊硷紝琛ㄧず鍚屼竴nonce涓嬪鎴风鍙戦�佸嚭璇锋眰鐨勬暟閲�
+//         int nc = 1;
+//         String ncStr = new DecimalFormat("00000000").format(nc);
+// //        String ncStr = new DecimalFormat("00000000").format(Integer.parseInt(nc + "", 16));
+//         MessageDigest messageDigest = MessageDigest.getInstance(DEFAULT_ALGORITHM);
+//         String A1 = username + ":" + realm + ":" + "12345678";
+//         String A2 = "REGISTER" + ":" + uri;
+//         byte mdbytes[] = messageDigest.digest(A1.getBytes());
+//         String HA1 = toHexString(mdbytes);
+//         System.out.println("A1: " + A1);
+//         System.out.println("A2: " + A2);
 
-        mdbytes = messageDigest.digest(A2.getBytes());
-        String HA2 = toHexString(mdbytes);
-        System.out.println("HA1: " + HA1);
-        System.out.println("HA2: " + HA2);
-        String cnonce = "0a4f113b";
-        System.out.println("nonce: " + nonce);
-        System.out.println("nc: " + ncStr);
-        System.out.println("cnonce: " + cnonce);
-        System.out.println("qop: " + qop);
-        String KD = HA1 + ":" + nonce;
+//         mdbytes = messageDigest.digest(A2.getBytes());
+//         String HA2 = toHexString(mdbytes);
+//         System.out.println("HA1: " + HA1);
+//         System.out.println("HA2: " + HA2);
+//         String cnonce = "0a4f113b";
+//         System.out.println("nonce: " + nonce);
+//         System.out.println("nc: " + ncStr);
+//         System.out.println("cnonce: " + cnonce);
+//         System.out.println("qop: " + qop);
+//         String KD = HA1 + ":" + nonce;
 
-        if (qop != null && qop.equals("auth") ) {
-            if (nc != -1) {
-                KD += ":" + ncStr;
-            }
-            if (cnonce != null) {
-                KD += ":" + cnonce;
-            }
-            KD += ":" + qop;
-        }
-        KD += ":" + HA2;
-        System.out.println("KD: " + KD);
-        mdbytes = messageDigest.digest(KD.getBytes());
-        String mdString = toHexString(mdbytes);
-        System.out.println("mdString: " + mdString);
-        String response = "4f0507d4b87cdecff04bdaf4c96348f0";
-        System.out.println("response: " + response);
-    }
+//         if (qop != null && qop.equals("auth") ) {
+//             if (nc != -1) {
+//                 KD += ":" + ncStr;
+//             }
+//             if (cnonce != null) {
+//                 KD += ":" + cnonce;
+//             }
+//             KD += ":" + qop;
+//         }
+//         KD += ":" + HA2;
+//         System.out.println("KD: " + KD);
+//         mdbytes = messageDigest.digest(KD.getBytes());
+//         String mdString = toHexString(mdbytes);
+//         System.out.println("mdString: " + mdString);
+//         String response = "4f0507d4b87cdecff04bdaf4c96348f0";
+//         System.out.println("response: " + response);
+//     }
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
index 1842efe..9d282c6 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/MessageRequestProcessor.java
@@ -2,7 +2,6 @@
 
 import java.io.ByteArrayInputStream;
 import java.text.ParseException;
-import java.text.SimpleDateFormat;
 import java.util.*;
 
 import javax.sip.address.SipURI;
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
index 77add28..ed407d2 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
@@ -17,6 +17,7 @@
 
 import java.util.*;
 
+@SuppressWarnings("unchecked")
 @Component
 public class ZLMMediaListManager {
 
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
index d0c88b0..8425d03 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRESTfulUtils.java
@@ -4,12 +4,10 @@
 import com.alibaba.fastjson.JSONObject;
 import com.genersoft.iot.vmp.conf.MediaConfig;
 import okhttp3.*;
-import org.checkerframework.checker.units.qual.A;
 import org.jetbrains.annotations.NotNull;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import java.io.*;
diff --git a/src/main/java/com/genersoft/iot/vmp/onvif/impl/ONVIFServerIMpl.java b/src/main/java/com/genersoft/iot/vmp/onvif/impl/ONVIFServerIMpl.java
index afeee1c..d952cc8 100644
--- a/src/main/java/com/genersoft/iot/vmp/onvif/impl/ONVIFServerIMpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/onvif/impl/ONVIFServerIMpl.java
@@ -17,6 +17,7 @@
 import java.util.List;
 import java.util.Map;
 
+@SuppressWarnings("rawtypes")
 /**
  * 澶勭悊onvif鐨勫悇绉嶆搷浣�
  */
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
index 6d0bbf1..535c790 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/PlayServiceImpl.java
@@ -96,15 +96,16 @@
             try {
                 String classPath = ResourceUtils.getURL("classpath:").getPath();
                 // System.out.println(classPath);
-                String path = classPath + "static/static/snap/";
+                // 鍏煎鎵撳寘涓簀ar鐨刢lass璺緞
                 if(classPath.contains("jar")) {
                     classPath = classPath.substring(0, classPath.lastIndexOf("."));
-                    classPath = classPath.substring(0, classPath.lastIndexOf("/"));
-                    path = classPath + "/snap/";
+                    classPath = classPath.substring(0, classPath.lastIndexOf("/") + 1);
                 }
-                if (path.startsWith("file:")) {
-                    path = path.substring(path.indexOf(":") + 1, path.length());
+                if (classPath.startsWith("file:")) {
+                    classPath = classPath.substring(classPath.indexOf(":") + 1, classPath.length());
                 }
+                String path = classPath + "static/static/snap/";
+                // 鍏煎Windows绯荤粺璺緞锛堝幓闄ゅ墠闈㈢殑鈥�/鈥濓級
                 if(System.getProperty("os.name").contains("indows")) {
                     path = path.substring(1, path.length());
                 }
@@ -116,7 +117,7 @@
                         StreamInfo streamInfoForSuccess = (StreamInfo)wvpResult.getData();
                         String streamUrl = streamInfoForSuccess.getFmp4();
                         // 璇锋眰鎴浘
-                        zlmresTfulUtils.getSnap(streamUrl, 5, 1, path, fileName);
+                        zlmresTfulUtils.getSnap(streamUrl, 15, 1, path, fileName);
                     }
                 }
                 System.out.println(path);
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
index 776acbf..02894cc 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
@@ -132,15 +132,14 @@
 	 */
 	@ApiOperation("鍚屾璁惧閫氶亾")
 	@ApiImplicitParams({
-			@ApiImplicitParam(name="deviceId", value = "璁惧id", required = true ,dataTypeClass = String.class),
+			@ApiImplicitParam(name="deviceId", value = "璁惧id", required = true, dataTypeClass = String.class),
 	})
 	@PostMapping("/devices/{deviceId}/sync")
 	public DeferredResult<ResponseEntity<Device>> devicesSync(@PathVariable String deviceId){
 		
 		if (logger.isDebugEnabled()) {
-		}
 			logger.debug("璁惧閫氶亾淇℃伅鍚屾API璋冪敤锛宒eviceId锛�" + deviceId);
-
+		}
 		Device device = storager.queryVideoDevice(deviceId);
         cmder.catalogQuery(device, event -> {
 			Response response = event.getResponse();
@@ -264,7 +263,7 @@
 	@ApiImplicitParams({
 			@ApiImplicitParam(name = "deviceId", value = "璁惧id", required = true, dataTypeClass = String.class),
 			@ApiImplicitParam(name = "streamMode", value = "鏁版嵁娴佷紶杈撴ā寮�, 鍙栧�硷細" +
-					"UDP锛坲dp浼犺緭锛夛紝TCP-ACTIVE锛坱cp涓诲姩妯″紡,鏆備笉鏀寔锛夛紝TCP-PASSIVE锛坱cp琚姩妯″紡锛�"),
+					"UDP锛坲dp浼犺緭锛夛紝TCP-ACTIVE锛坱cp涓诲姩妯″紡,鏆備笉鏀寔锛夛紝TCP-PASSIVE锛坱cp琚姩妯″紡锛�", dataTypeClass = String.class),
 	})
 	@PostMapping("/transport/{deviceId}/{streamMode}")
 	public ResponseEntity<PageInfo> updateTransport(@PathVariable String deviceId, @PathVariable String streamMode){
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java
index 36535a3..fcfc847 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/gbStream/GbStreamController.java
@@ -56,7 +56,7 @@
      */
     @ApiOperation("绉婚櫎鍥芥爣鍏宠仈")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "gbStreamParam", value = "GbStreamParam", required = true ,
+            @ApiImplicitParam(name = "gbStreamParam", value = "GbStreamParam", required = true,
                     dataTypeClass = GbStreamParam.class),
     })
     @DeleteMapping(value = "/del")
@@ -77,7 +77,7 @@
      */
     @ApiOperation("淇濆瓨鍥芥爣鍏宠仈")
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "gbStreamParam", value = "GbStreamParam", required = true , dataTypeClass = GbStreamParam.class),
+            @ApiImplicitParam(name = "gbStreamParam", value = "GbStreamParam", required = true, dataTypeClass = GbStreamParam.class),
     })
     @PostMapping(value = "/add")
     @ResponseBody
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java
index a0df19b..734f62f 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/record/RecoderProxyController.java
@@ -14,6 +14,8 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 
 @RestController
@@ -31,7 +33,7 @@
 
     @ResponseBody
     @RequestMapping(value = "/**/**/**", produces = "application/json;charset=UTF-8")
-    public Object proxy(HttpServletRequest request, HttpServletResponse response){
+    public Object proxy(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException{
 
 
         String baseRequestURI = request.getRequestURI();
@@ -51,7 +53,7 @@
                 mediaInfo.getSdpIp(),
                 mediaConfig.getRecordAssistPort(),
                 baseRequestURI.substring(baseRequestURI.indexOf(mediaId) + mediaId.length()),
-                URLDecoder.decode(request.getQueryString())
+                URLDecoder.decode(request.getQueryString(), "UTF-8")
         );
         // 鍙戦�佽姹�
         RestTemplate restTemplate = new RestTemplate();

--
Gitblit v1.8.0