liubing 3 лет назад
Родитель
Сommit
6169505a08

+ 2 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/config/YsConfig.java

@ -53,6 +53,8 @@ public class YsConfig {
    //云台停止
    public static final String ptzStop = iotBaseUrl +"/api/lapp/device/ptz/stop";
    public static final String openChannelNo = iotBaseUrl +"/api/lapp/live/video/open";
    /**
     * 录像相关
     */

+ 8 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/DeviceDetailService.java

@ -53,6 +53,8 @@ public class DeviceDetailService extends BaseJpaService<DeviceDetail, DeviceDeta
	private HttpClientUtilCare httpClientUtil;
	@Value("${cloudCare.deviceUrl}")
	private String cloudDeviceUrl;
	@Autowired
	private YsDeviceService ysDeviceService;
	/**
@ -65,6 +67,12 @@ public class DeviceDetailService extends BaseJpaService<DeviceDetail, DeviceDeta
	@Transactional(rollbackFor = Exception.class)
	public void updateAfterBinding(DevicePatientDevice devicePatientDevice, Date grantTime, boolean isFirst)throws Exception{
		DeviceDetail deviceDetail = deviceDetailDao.findBySn(devicePatientDevice.getDeviceSn());
		
		if ("CS-C6Wi-3E4WFR".equals(deviceDetail.getDeviceModel())){//监控器 直播地址开通->关闭视频加密 后续暂时先于APP操作
			ysDeviceService.videoOpen(devicePatientDevice.getDeviceSn(),null);
		}
		long adminTeam=0L;
		String hospital = "";
		String isFirstBind = "";

+ 48 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/device/YsDeviceService.java

@ -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());
    }
}