package com.thhy.materials.modules.biz.video.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.thhy.general.common.BasicResult; import com.thhy.materials.modules.biz.video.entity.TVideoNo; import com.thhy.materials.modules.biz.video.service.VideoService; import com.thhy.materials.modules.biz.weigh.mapper.WeighMapper; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; import java.util.List; import java.util.Map; @Service public class VideoServiceImpl implements VideoService { @Resource private WeighMapper weighMapper; @Override public BasicResult videoList() { List tVideoNos = weighMapper.videoList(); return BasicResult.success(tVideoNos); } @Override public BasicResult webVideoList(Map values) { List tVideoNos = weighMapper.webVideoList(values); return BasicResult.success(tVideoNos); } @Override public BasicResult videoListPathWX(Map values) { Integer types = Integer.valueOf(values.get("types").toString()); if(types==1){ //安全token String accessToken = anquan(); String deviceNum = values.get("deviceNum").toString(); String channelNo = values.get("channelNo").toString(); RestTemplate restTemplate6 = new RestTemplate(); HttpHeaders headers6 = new HttpHeaders(); headers6.setContentType(MediaType.valueOf(MediaType.APPLICATION_FORM_URLENCODED_VALUE)); HttpEntity> mapHttpEntity6 = new HttpEntity<>(null, headers6); //String s6 = restTemplate.postForObject("https://open.ys7.com/api/lapp/live/address/limited?accessToken="+accessToken+"&deviceSerial="+videoNum+"&channelNo=1&expireTime=86400", mapHttpEntity6, String.class); //expireTime=300 //地址过期时间:单位秒数,最大默认62208000(即720天),最小默认300(即5分钟)。非必选参数,为空时返回对应设备和通道的永久地址 String s6 = restTemplate6.postForObject("https://open.ys7.com/api/lapp/live/address/limited?accessToken="+accessToken+"&deviceSerial="+deviceNum+"&channelNo="+channelNo, mapHttpEntity6, String.class); System.out.println(s6); JSONObject jsonObject = JSONObject.parseObject(s6); return BasicResult.success(jsonObject); }else if(types==2) { //现场 //安全token String accessToken = xianchang(); String deviceNum = values.get("deviceNum").toString(); String channelNo = values.get("channelNo").toString(); RestTemplate restTemplate6 = new RestTemplate(); HttpHeaders headers6 = new HttpHeaders(); headers6.setContentType(MediaType.valueOf(MediaType.APPLICATION_FORM_URLENCODED_VALUE)); HttpEntity> mapHttpEntity6 = new HttpEntity<>(null, headers6); //String s6 = restTemplate.postForObject("https://open.ys7.com/api/lapp/live/address/limited?accessToken="+accessToken+"&deviceSerial="+videoNum+"&channelNo=1&expireTime=86400", mapHttpEntity6, String.class); //expireTime=300 //地址过期时间:单位秒数,最大默认62208000(即720天),最小默认300(即5分钟)。非必选参数,为空时返回对应设备和通道的永久地址 String s6 = restTemplate6.postForObject("https://open.ys7.com/api/lapp/live/address/limited?accessToken="+accessToken+"&deviceSerial="+deviceNum+"&channelNo="+channelNo, mapHttpEntity6, String.class); System.out.println(s6); JSONObject jsonObject = JSONObject.parseObject(s6); return BasicResult.success(jsonObject); } return null; } @Override public BasicResult videoListPath(Map values) { Integer types = Integer.valueOf(values.get("types").toString()); if(types==1){ //安全token String accessToken = anquan(); /* String deviceNum = values.get("deviceNum").toString(); String channelNo = values.get("channelNo").toString(); RestTemplate restTemplate6 = new RestTemplate(); HttpHeaders headers6 = new HttpHeaders(); headers6.setContentType(MediaType.valueOf(MediaType.APPLICATION_FORM_URLENCODED_VALUE)); HttpEntity> mapHttpEntity6 = new HttpEntity<>(null, headers6); //String s6 = restTemplate.postForObject("https://open.ys7.com/api/lapp/live/address/limited?accessToken="+accessToken+"&deviceSerial="+videoNum+"&channelNo=1&expireTime=86400", mapHttpEntity6, String.class); //expireTime=300 //地址过期时间:单位秒数,最大默认62208000(即720天),最小默认300(即5分钟)。非必选参数,为空时返回对应设备和通道的永久地址 String s6 = restTemplate6.postForObject("https://open.ys7.com/api/lapp/live/address/limited?accessToken="+accessToken+"&deviceSerial="+deviceNum+"&channelNo="+channelNo, mapHttpEntity6, String.class); System.out.println(s6); JSONObject jsonObject = JSONObject.parseObject(s6);*/ return BasicResult.success(accessToken); }else if(types==2) { //现场 //安全token String accessToken = xianchang(); // String deviceNum = values.get("deviceNum").toString(); // String channelNo = values.get("channelNo").toString(); // RestTemplate restTemplate6 = new RestTemplate(); // HttpHeaders headers6 = new HttpHeaders(); // headers6.setContentType(MediaType.valueOf(MediaType.APPLICATION_FORM_URLENCODED_VALUE)); // HttpEntity> mapHttpEntity6 = new HttpEntity<>(null, headers6); // //String s6 = restTemplate.postForObject("https://open.ys7.com/api/lapp/live/address/limited?accessToken="+accessToken+"&deviceSerial="+videoNum+"&channelNo=1&expireTime=86400", mapHttpEntity6, String.class); // //expireTime=300 // //地址过期时间:单位秒数,最大默认62208000(即720天),最小默认300(即5分钟)。非必选参数,为空时返回对应设备和通道的永久地址 // String s6 = restTemplate6.postForObject("https://open.ys7.com/api/lapp/live/address/limited?accessToken="+accessToken+"&deviceSerial="+deviceNum+"&channelNo="+channelNo, mapHttpEntity6, String.class); // System.out.println(s6); // JSONObject jsonObject = JSONObject.parseObject(s6); return BasicResult.success(accessToken); } return null; } @Override public BasicResult videoListPage(Map values) { Integer pageSize = Integer.valueOf(values.get("pageSize").toString()); Integer pageNum = Integer.valueOf(values.get("pageNum").toString()); PageHelper.startPage(pageNum,pageSize); List videoNos = weighMapper.videoListPage(values); PageInfo tVideoNoPageInfo = new PageInfo<>(videoNos); return BasicResult.success(tVideoNoPageInfo); } public String anquan(){ RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.valueOf(MediaType.APPLICATION_FORM_URLENCODED_VALUE)); HttpEntity> mapHttpEntity = new HttpEntity<>(null, headers); //现场 String s = restTemplate.postForObject("https://open.ys7.com/api/lapp/token/get?appKey=bbd3ec70de864ae89ed1591706240ef7&appSecret=198508bb0f99ee0a945839093ac869c3", mapHttpEntity, String.class); //安全 外边厂房 // String s = restTemplate.postForObject("https://open.ys7.com/api/lapp/token/get?appKey=6f3dc77270d14f9b965d9530138753e8&appSecret=5fb063a890fbe80e28fbaafecf4ffa2c", mapHttpEntity, String.class); JSONObject jsonObject = JSONObject.parseObject(s); System.out.println(jsonObject); Object data = jsonObject.get("data"); String s1 = JSON.toJSONString(data); JSONObject data1 = JSONObject.parseObject(s1); System.out.println(data); Object accessToken = data1.get("accessToken"); return accessToken.toString(); } public String xianchang(){ RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.valueOf(MediaType.APPLICATION_FORM_URLENCODED_VALUE)); HttpEntity> mapHttpEntity = new HttpEntity<>(null, headers); //现场 //String s = restTemplate.postForObject("https://open.ys7.com/api/lapp/token/get?appKey=bbd3ec70de864ae89ed1591706240ef7&appSecret=198508bb0f99ee0a945839093ac869c3", mapHttpEntity, String.class); //安全 外边厂房 String s = restTemplate.postForObject("https://open.ys7.com/api/lapp/token/get?appKey=6f3dc77270d14f9b965d9530138753e8&appSecret=5fb063a890fbe80e28fbaafecf4ffa2c", mapHttpEntity, String.class); JSONObject jsonObject = JSONObject.parseObject(s); System.out.println(jsonObject); Object data = jsonObject.get("data"); String s1 = JSON.toJSONString(data); JSONObject data1 = JSONObject.parseObject(s1); System.out.println(data); Object accessToken = data1.get("accessToken"); return accessToken.toString(); } }