1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
| package com.bjtcrj.scm.geo.utils;
import com.alibaba.fastjson.JSON; import com.bjtcrj.scm.common.utils.Constants; import com.bjtcrj.scm.geo.persistence.pojo.Days; import com.hikvision.artemis.sdk.ArtemisHttpUtil; import com.hikvision.artemis.sdk.config.ArtemisConfig; import com.hikvision.artemis.sdk.constant.ContentType; import org.apache.log4j.Logger;
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.Map;
public class Artemis {
private static Logger log = Logger.getLogger(Artemis.class);
static { ArtemisConfig.host = Constants.HIK_HOST; ArtemisConfig.appKey = Constants.HIK_APPKEY; ArtemisConfig.appSecret = Constants.HIK_APPSECRET; }
private static final String ARTEMIS_PATH = "/artemis";
private final static String SUCC_PRE = "2";
private final static String REDIRECT_PRE = "3";
public static String cameras(CamerasRequest camerasRequest ){ String camerasDataApi = ARTEMIS_PATH +"/api/resource/v1/cameras"; Map<String,String> path = new HashMap<String,String>(2){ { put("https://",camerasDataApi); } }; String body= JSON.toJSONString(camerasRequest); String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,ContentType.CONTENT_TYPE_JSON); return result; }
public static String getCamerasBySpatialIndexWithPage(GetCamerasBySpatialIndexWithPageRequest getCamerasBySpatialIndexWithPageRequest ){ String getCamerasBySpatialIndexWithPageDataApi = ARTEMIS_PATH +"/api/resource/v1/camera/getCamerasBySpatialIndexWithPage"; Map<String,String> path = new HashMap<String,String>(2){ { put("https://",getCamerasBySpatialIndexWithPageDataApi); } }; String body= JSON.toJSONString(getCamerasBySpatialIndexWithPageRequest); String result =ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,ContentType.CONTENT_TYPE_JSON); return result; }
public static String camerasByCode(CamerasRequest camerasRequest ){ String camerasDataApi = ARTEMIS_PATH +"/api/resource/v1/regions/regionIndexCode/cameras"; Map<String,String> path = new HashMap<String,String>(2){ { put("https://",camerasDataApi); } }; String body= JSON.toJSONString(camerasRequest); String result =ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,ContentType.CONTENT_TYPE_JSON); return result; }
public static String indexCode(IndexCodeRequest indexCodeRequest ){ String indexCodeDataApi = ARTEMIS_PATH +"/api/resource/v1/cameras/indexCode"; Map<String,String> path = new HashMap<String,String>(2){ { put("https://",indexCodeDataApi); } }; String body= JSON.toJSONString(indexCodeRequest); String result =ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,ContentType.CONTENT_TYPE_JSON); return result; }
public static String getWarningInfo(Days days){ String warningApi = ARTEMIS_PATH+"/api/istreet/v1/istreetService/alarm/data/list"; Map<String,String> path = new HashMap<String,String>(2){ { put("https://",warningApi); } }; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); Calendar calendar = Calendar.getInstance(); String endTime = sdf.format(calendar.getTime()); calendar.add(Calendar.DAY_OF_MONTH,-(days.getDays())); String beginTime = sdf.format(calendar.getTime()); Map<String,Object> data = new HashMap<>(); data.put("beginTime",beginTime); data.put("endTime",endTime); data.put("audited","1"); String body = JSON.toJSONString(data); String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,ContentType.CONTENT_TYPE_JSON); log.debug("定时获取的智能分析信息:"+result); return result; }
public static String getAllWarningInfo(){ String warningApi = ARTEMIS_PATH+"/api/istreet/v1/istreetService/alarm/data/list"; Map<String,String> path = new HashMap<String,String>(2){ { put("https://",warningApi); } }; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); Map<String,Object> data = new HashMap<>(); Calendar calendar = Calendar.getInstance(); String endTime = sdf.format(calendar.getTime()); String beginTime = "2020-09-27T00:00:00.000+08:00"; data.put("beginTime",beginTime); data.put("endTime",endTime); data.put("audited","1"); String body = JSON.toJSONString(data); String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,ContentType.CONTENT_TYPE_JSON); log.debug("同步获取的智能分析信息:"+result); return result; } public static String getPlaybackURLs(String indexCode, Date almtime, String time){ String warningApi = ARTEMIS_PATH+"/api/video/v1/cameras/playbackURLs"; Map<String,String> path = new HashMap<String,String>(2){ { put("https://",warningApi); } }; SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSZZ"); int dur = Integer.valueOf(time); String endTime = df.format(new Date(almtime.getTime() + dur * 60 * 1000)); String beginTime = df.format(new Date(almtime.getTime() - dur * 60 * 1000)); Map<String,Object> data = new HashMap<>(); data.put("beginTime",beginTime); data.put("endTime",endTime); data.put("cameraIndexCode",indexCode); String body = JSON.toJSONString(data); String result = ArtemisHttpUtil.doPostStringArtemis(path,body,null,null,ContentType.CONTENT_TYPE_JSON); return result; } }
|