package cn.exrick.xboot.your.util; import java.util.HashMap; import java.util.Map; import cn.exrick.xboot.your.vo.FindHistoryGpsRequest; import cn.exrick.xboot.your.vo.PlaybackURLsVo; import cn.exrick.xboot.your.vo.PreviewURLsVo; import cn.exrick.xboot.your.vo.TalkURLsVo; import cn.hutool.json.JSONUtil; import com.hikvision.artemis.sdk.ArtemisHttpUtil; import com.hikvision.artemis.sdk.config.ArtemisConfig; /** * 海康车机接口 */ public class HaiKangPost { /** * STEP1:设置平台参数,根据实际情况,设置host appkey appsecret 三个参数. */ static { ArtemisConfig.host = "111.63.178.115:1443";// 平台门户/nginx的IP和端口(必须使用https协议,https端口默认为443) ArtemisConfig.appKey = "28156526"; // 秘钥appkey ArtemisConfig.appSecret = "MNkyjHuids4XxFONSOaL";// 秘钥appSecret } /** * STEP2:设置OpenAPI接口的上下文 */ private static final String ARTEMIS_PATH = "/artemis"; //根据车辆编号及时段获取历史定位信息 public static String findHistoryGps(FindHistoryGpsRequest findHistoryGpsRequest){ String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/rtsm/v1/gps/findHistoryGps"; Map path = new HashMap(2){ { put("https://",findHistoryGpsDataApi); } }; String body= JSONUtil.toJsonStr(findHistoryGpsRequest); String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json"); return result; } //查询指定车辆编号的最新定位 public static String findLatestGps(String[] code){ String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/rtsm/v1/gps/findLatestGps"; Map path = new HashMap(2){ { put("https://",findHistoryGpsDataApi); } }; String body= JSONUtil.toJsonStr(code); String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json"); return result; } //获取监控点预览取流URL public static String previewURLs(PreviewURLsVo previewURLsVo){ String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/video/v1/cameras/previewURLs"; Map path = new HashMap(2){ { put("https://",findHistoryGpsDataApi); } }; String body= JSONUtil.toJsonStr(previewURLsVo); String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json"); return result; } //获取监控点回放取流URL public static String playbackURLs(PlaybackURLsVo playbackURLsVo){ String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/video/v1/cameras/playbackURLs"; Map path = new HashMap(2){ { put("https://",findHistoryGpsDataApi); } }; String body= JSONUtil.toJsonStr(playbackURLsVo); String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json"); return result; } //语音对讲 public static String talkURLs(TalkURLsVo talkURLsVo){ String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/video/v1/cameras/talkURLs"; Map path = new HashMap(2){ { put("https://",findHistoryGpsDataApi); } }; String body= JSONUtil.toJsonStr(talkURLsVo); String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json"); return result; } //按事件类型获取事件订阅信息 public static String getTopicInfo(){ String findHistoryGpsDataApi = ARTEMIS_PATH +"/api/common/v1/event/getTopicInfo"; Map path = new HashMap(2){ { put("https://",findHistoryGpsDataApi); } }; String eventTypes[] = {"5201154049"}; String body= JSONUtil.toJsonStr(eventTypes); String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,"application/json"); return result; } public static void main(String[] args) { // FindHistoryGpsRequest findHistoryGpsRequest = new FindHistoryGpsRequest(); // findHistoryGpsRequest.setVehicleIndexCode("b279d865eabe497db465eb2f4d2cc87d"); // findHistoryGpsRequest.setPageNo(1); // findHistoryGpsRequest.setPageSize(20); // findHistoryGpsRequest.setBeginTime("2021-11-25T03:10:01.000+08:00"); // findHistoryGpsRequest.setEndTime("2021-11-25T12:10:01.000+08:00"); // System.out.println(findHistoryGps(findHistoryGpsRequest)); // String code[] = {"b279d865eabe497db465eb2f4d2cc87d"}; // System.out.println(findLatestGps(code)); } }