| 
															
																@@ -1,6 +1,8 @@ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 package com.lutao.cloud.oil.service.impl; 
															 | 
															
															 | 
															
																 package com.lutao.cloud.oil.service.impl; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																-import com.alibaba.fastjson.JSONObject; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import cn.hutool.http.HttpUtil; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import cn.hutool.json.JSONObject; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+import cn.hutool.json.JSONUtil; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 
															 | 
															
															 | 
															
																 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.lutao.cloud.common.core.util.MessageInfo; 
															 | 
															
															 | 
															
																 import com.lutao.cloud.common.core.util.MessageInfo; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 import com.lutao.cloud.common.core.util.StringUtil; 
															 | 
															
															 | 
															
																 import com.lutao.cloud.common.core.util.StringUtil; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -30,6 +32,13 @@ public class VideoEquipmentInfoServiceImpl extends ServiceImpl<VideoEquipmentInf 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     @Resource 
															 | 
															
															 | 
															
																     @Resource 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     private RestTemplate restTemplate; 
															 | 
															
															 | 
															
																     private RestTemplate restTemplate; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    private static final String TOKEN_URL = "http://dgs-servicebusgate2.zww.yjcloud.cn/oauth/token"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    private static final String previewURLs = "http://dgs-servicebusgate2.zww.yjcloud.cn/service/api/artemis/api/video/v1/cameras/previewURLs"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    private static final String CLIENT_ID = "8a7b785f08d04d439b71bc2b415cb685"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    private static final String CLIENT_SECRET = "OA!Bq_P!"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    private static final String CONTENT_TYPE = "application/json"; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     @Override 
															 | 
															
															 | 
															
																     @Override 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     public MessageInfo<List<VideoEquipmentInfoTreeVO>> queryVideoEquipmentInfoTree() { 
															 | 
															
															 | 
															
																     public MessageInfo<List<VideoEquipmentInfoTreeVO>> queryVideoEquipmentInfoTree() { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -142,55 +151,63 @@ public class VideoEquipmentInfoServiceImpl extends ServiceImpl<VideoEquipmentInf 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     public MessageInfo getVideoUrl(String videoCode) { 
															 | 
															
															 | 
															
																     public MessageInfo getVideoUrl(String videoCode) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         // 获取token 
															 | 
															
															 | 
															
																         // 获取token 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         log.info("获取视频地址"); 
															 | 
															
															 | 
															
																         log.info("获取视频地址"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        String url = "http://dgs-servicebusgate2.zww.yjcloud.cn/oauth/token?client_id=8a7b785f08d04d439b71bc2b415cb685&client_secret=OA!Bq_P!"; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        log.info("url:" + url); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        Map<String, String> map = restTemplate.getForObject(url, Map.class); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        System.out.println("map:" + map); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        String token = map.get("access_token"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																- 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        // 请求数据 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        String url2 = "http://dgs-servicebusgate2.zww.yjcloud.cn/service/api/artemis/api/video/v1/cameras/previewURLs?client_id=8a7b785f08d04d439b71bc2b415cb685&access_token=" + token; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        Map<String, String> parameters = new LinkedHashMap<>(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        parameters.put("cameraIndexCode", videoCode); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        parameters.put("protocol", "wss"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        log.info("url:" + url2); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        MessageInfo result = restTemplate.postForObject(url2, JSONObject.toJSONString(parameters), MessageInfo.class); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        // ws地址转化,从10段到59段 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        String token = getAccessToken(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        cn.hutool.json.JSONObject newRequestBody = JSONUtil.createObj(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        newRequestBody.set("cameraIndexCode", videoCode); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        newRequestBody.set("protocol", "wss"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        String rootBody = HttpUtil.createPost(previewURLs) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                .header("client_id", CLIENT_ID) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                .header("access_token", token) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                .body(newRequestBody.toString()) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                .execute().body(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         /** 
															 | 
															
															 | 
															
																         /** 
															 | 
														
													
												
													
														
															| 
															 | 
															
																          * { 
															 | 
															
															 | 
															
																          * { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																          * 	"code": "0", 
															 | 
															
															 | 
															
																          * 	"code": "0", 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-         * 	"msg": "success", 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+         * 	"msg": "SUCCESS", 
															 | 
														
													
												
													
														
															| 
															 | 
															
																          * 	"data": { 
															 | 
															
															 | 
															
																          * 	"data": { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-         * 		"url": "wss://10.18.18.53:6014/proxy/10.18.18.53:559/openUrl/uQhfGdq" 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-         * 	    } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+         * 		"url": "wss://10.210.114.45:6014/proxy/10.210.114.45:559/openUrl/r8jroqY" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+         *        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																          * } 
															 | 
															
															 | 
															
																          * } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																          */ 
															 | 
															
															 | 
															
																          */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-//        Map<String, String> data11 = new HashMap<>(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-//        data11.put("url", "wss://10.18.18.53:6014/proxy/10.18.18.53:559/openUrl/uQhfGdq"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        //wss://10.18.18.53:6014/proxy/10.18.18.53:559/openUrl/yrtJ9EA 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        //data11.put("url", "ws://10.18.18.53:559/openUrl/gC42FPi"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        //  wss://10.18.18.53:6014/proxy/10.18.18.53:559/openUrl/uQhfGdq 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        //  => wss:/splw2.mem.cegn.cn:6014/proxy/splw2.mem.cegn.cn:559/openurl/xlgbLPy 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																- 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        Map<String, String> data = (Map<String, String>) result.getData(); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        String url = ""; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        cn.hutool.json.JSONObject data = JSONUtil.parseObj(rootBody).getJSONObject("data"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         if (data != null) { 
															 | 
															
															 | 
															
																         if (data != null) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            String wsUrl = data.get("url"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            String replace; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            // 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            String wsUrl = data.getStr("url"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            String replace = wsUrl; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																             // 解决院网不能播放视频问题 
															 | 
															
															 | 
															
																             // 解决院网不能播放视频问题 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            //replace = wsUrl.replace("10.18.18.53", "splw2.mem.cegn.cn"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            replace = wsUrl.replace("10.210.114.45", "splw1.mem.cegn.cn"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            replace = wsUrl.replace("10.210.114.46", "splw2.mem.cegn.cn"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            replace = wsUrl.replace("10.210.114.47", "splw3.mem.cegn.cn"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            replace = replace.replace("10.210.114.45", "splw1.mem.cegn.cn"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            replace = replace.replace("10.210.114.46", "splw2.mem.cegn.cn"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            replace = replace.replace("10.210.114.47", "splw3.mem.cegn.cn"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																             // 地址转换 10.18.18.53 -> 59.255.61.78 
															 | 
															
															 | 
															
																             // 地址转换 10.18.18.53 -> 59.255.61.78 
															 | 
														
													
												
													
														
															| 
															 | 
															
																              //replace = wsUrl.replace("10.18.18.53:6014", "splw2.mem.cegn.cn:6014"); 
															 | 
															
															 | 
															
																              //replace = wsUrl.replace("10.18.18.53:6014", "splw2.mem.cegn.cn:6014"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            data.put("url", replace); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-            result.setData(data); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+            url = replace; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																         } 
															 | 
															
															 | 
															
																         } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-        return result; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return MessageInfo.ok(new JSONObject().set("url", url)); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+    private String getAccessToken() { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        String body = HttpUtil.createGet(TOKEN_URL) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                .header("client_id", CLIENT_ID) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                .header("client_secret", CLIENT_SECRET) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                .header("Content-Type", CONTENT_TYPE) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                .execute().body(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        cn.hutool.json.JSONObject tokenBody = JSONUtil.parseObj(body); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+        return tokenBody.getStr("access_token"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     } 
															 | 
															
															 | 
															
																     } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 } 
															 | 
															
															 | 
															
																 } 
															 |