| 
					
				 | 
			
			
				@ -24,6 +24,7 @@ import org.springframework.data.redis.core.StringRedisTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.http.HttpEntity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.http.HttpMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.scheduling.annotation.Async; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.util.LinkedMultiValueMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.util.MultiValueMap; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -781,6 +782,53 @@ public class YsDeviceService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        System.out.println("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Async 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void videoOpen(String deviceSn,HttpServletRequest request) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuilder responseStr = new StringBuilder("--"+deviceSn+"-- "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        MultiValueMap<String, String> param = new LinkedMultiValueMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        param.add("accessToken",getIotAccessToken(deviceSn)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        param.add("source",deviceSn+":"+1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        HttpEntity<JSONObject> response = httpClientUtil.iotAssesTokenPostHttp(YsConfig.openChannelNo,param, HttpMethod.POST); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject responseBody = response.getBody(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        responseStr.append("->开通通道:"+responseBody.getInteger("code")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject param2 = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        param2.put("accessToken",getAccessToken(deviceSn)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        param2.put("deviceSerial",deviceSn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        param2.put("channelNo","1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        param2.put("isTrust",0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        response = httpClientUtil.assesTokenPostHttp(YsConfig.surveillanceWay,param2,HttpMethod.POST); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        responseBody = response.getBody(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        responseStr.append("->获取通道详情:"+responseBody.getInteger("code")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (responseBody.getInteger("code")==200){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONObject tmp =  responseBody.getJSONObject("data"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String validateCode = tmp.getString("ipcValidateCode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                param2 = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                param2.put("accessToken",getAccessToken(deviceSn)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                param2.put("deviceSerial",deviceSn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                param2.put("isEncrypt","0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                validateCode = messageDecrypt(validateCode,getSecretKey(deviceSn)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                param2.put("validateCode",validateCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                response = httpClientUtil.assesTokenPostHttp(YsConfig.deviceEncrypt,param2,HttpMethod.POST); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                responseBody = response.getBody(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                responseStr.append("->视频解密:"+responseBody.getInteger("code")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        //设置编码格式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        //设置活动检测 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        MultiValueMap<String, String> param = new LinkedMultiValueMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        param.add("accessToken",getIotAccessToken()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        param.add("deviceSerial",deviceSn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        param.add("enable","1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        param.add("channelNo","1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        HttpEntity<JSONObject> response = httpClientUtil.iotAssesTokenPostHttp("https://open.ys7.com/api/lapp/device/intelligence/detection/switch/set",param, HttpMethod.POST); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        JSONObject responseBody = response.getBody(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        responseStr.append("->活动检测:"+responseBody.getInteger("code")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info(responseStr.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |