Newer
Older
smartwell_demos / src / main / java / com / casic / util / ArtemisPostUtil.java
chaizhuang on 25 Nov 2022 2 KB 增加海康验证
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;
    }

}