package com.casic.util; import com.alibaba.fastjson.JSONObject; import com.casic.config.ApiHikomConfig; import com.casic.model.HkvideoValidParam; import com.casic.model.ResponseData; import com.hikvision.artemis.sdk.ArtemisHttpUtil; import com.hikvision.artemis.sdk.config.ArtemisConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.HashMap; import java.util.Map; /** * 海康验证 */ @Component @Slf4j public class ArtemisPostUtil { @Resource private ApiHikomConfig apiHikomConfig; private final String contentType = "application/json"; public ResponseData artemisPost(HkvideoValidParam hkvideoValidParam) { ResponseData responseData = new ResponseData<String>(); ArtemisConfig artemisConfig = new ArtemisConfig(); artemisConfig.setHost(apiHikomConfig.getHikomHost());// artemis网关服务器ip端口 artemisConfig.setAppKey(hkvideoValidParam.getAppKey()); artemisConfig.setAppSecret(hkvideoValidParam.getAppSecret()); Map<String, String> path = new HashMap<String, String>(2) { { put("https://", apiHikomConfig.getHikomUrl());//根据现场环境部署确认是http还是https } }; String body = hkvideoValidParam.getData().toJSONString(); try { String result = ArtemisHttpUtil.doPostStringArtemis(artemisConfig, path, body, null, null, contentType, null);// post请求application/json类型参数 Map<String, String> resultMsg = (Map) JSONObject.parse(result); if (resultMsg.get("msg").equals("success")) { responseData.setCode(200); responseData.setMessage("查询成功"); responseData.setData(resultMsg.get("data")); } else { responseData.setCode(500); responseData.setMessage("查询异常,异常信息" + resultMsg.get("data")); } } catch (Exception ex) { log.info("主题:海康请求视频url出现异常,异常信息{}", ex.getMessage()); responseData.setCode(500); responseData.setMessage("查询异常,异常信息" + ex.getMessage()); } return responseData; } }