package com.doumee.core.haikang; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.hikvision.artemis.sdk.ArtemisHttpUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; public class HKUtil { private static final Logger logger = LoggerFactory.getLogger(HKUtil.class); /** * 请根据自己的appKey和appSecret更换static静态块中的三个参数. [1 host] * 如果你选择的是和现场环境对接,host要修改为现场环境的ip,https端口默认为443,http端口默认为80.例如10.33.25.22:443 * 或者10.33.25.22:80 appKey和appSecret请按照或得到的appKey和appSecret更改. TODO * 调用前先要清楚接口传入的是什么,是传入json就用doPostStringArtemis方法,下载图片doPostStringImgArtemis方法 */ static { } public static void main(String[] args) throws ParseException { } /** * 能力开放平台的网站路径 TODO 路径不用修改,就是/artemis */ private static final String ARTEMIS_PATH = "/artemis"; public static JSONObject loginData(int page, int rows, String start, String end) { final String getCamsApi = ARTEMIS_PATH + "/api/acs/v2/door/events"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("startTime", start); jsonBody.put("endTime", end); jsonBody.put("receiveStartTime", start); jsonBody.put("receiveEndTime", end); jsonBody.put("pageNo", page); jsonBody.put("pageSize", rows); jsonBody.put("sort", "eventTime"); jsonBody.put("order", "desc"); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 访客查询 * @param page * @param rows * @return */ public static JSONObject fkData(int page, int rows, String visitorId) { final String getCamsApi = ARTEMIS_PATH + "/api/visitor/v1/event/turnover/search"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("pageNo", page); jsonBody.put("pageSize", rows); jsonBody.put("visitorName", visitorId); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 访客记录列表 * @param page * @param rows * @return */ public static JSONObject fkList(int page, int rows) { final String getCamsApi = ARTEMIS_PATH + "/api/visitor/v2/visiting/records"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("pageNo", page); jsonBody.put("pageSize", rows); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendPost(path, body); logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } private static String sendPost(Map path, String body) { return ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null); } /** * 事件订阅 * 正常开门--198913 * @param code * @param url * @return */ public static JSONObject event(int code, String url) { final String getCamsApi = ARTEMIS_PATH + "/api/eventService/v1/eventSubscriptionByEventTypes"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("eventTypes", Arrays.asList(code)); jsonBody.put("eventDest", url); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendPost(path, body);// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 取消事件订阅 * @param code * @return */ public static JSONObject eventCancle(int code) { final String getCamsApi = ARTEMIS_PATH + "/api/eventService/v1/eventUnSubscriptionByEventTypes"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("eventTypes", Arrays.asList(code)); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendPost(path, body);// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 查询订阅事件 * @return */ public static JSONObject eventQuery() { final String getCamsApi = ARTEMIS_PATH + "/api/eventService/v1/eventSubscriptionView"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendPost(path, body);// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 获取组织列表 * @param page * @param rows * @return */ public static JSONObject orgList(int page, int rows) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/org/orgList"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("pageNo", page); jsonBody.put("pageSize", rows); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","获取组织列表","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); System.out.println(result); return JSONObject.parseObject(result); } /** * 添加组织 * @param jsonArray * @return */ public static JSONObject addOrg(JSONArray jsonArray) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/org/batch/add"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonArray.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","添加组织","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 修改组织 * @param jsonBody * @return */ public static JSONObject updateOrg(JSONObject jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/org/single/update"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","修改组织","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 删除组织 * @param jsonBody * @return */ public static JSONObject delOrg(JSONObject jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/org/batch/delete"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","删除组织","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 门禁设备列表 * @param page * @param rows * @return */ public static JSONObject deviceList(int page, int rows) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v2/acsDevice/search"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("pageNo", page); jsonBody.put("pageSize", rows); // jsonBody.put("resourceType", "acsDevice"); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","获取门禁设备列表","0"); logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 门禁点列表 * @param page * @param rows * @return */ public static JSONObject doorList(int page, int rows) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v2/door/search"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("pageNo", page); jsonBody.put("pageSize", rows); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","门禁点列表","0"); logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 分页获取监控点资源列表 * @param page * @param rows * @return */ public static JSONObject camerasList(int page, int rows) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/cameras"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("pageNo", page); jsonBody.put("pageSize", rows); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","分页获取监控点资源","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 获取监控点预览取流URL * @param code * @param streamType * @return */ public static JSONObject previewURLs(String code, int streamType, String protocol, Integer transmode, String expand, String streamform) { final String getCamsApi = ARTEMIS_PATH + "/api/video/v2/cameras/previewURLs"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); // 监控点唯一标识 jsonBody.put("cameraIndexCode", code); // 码流类型,0:主码流,1:子码流,2:第三码流,参数不填,默认为主码流 /* jsonBody.put("streamType", streamType); *//* 取流协议(应用层协议),“hik”:HIK私有协议,使用视频SDK进行播放时,传入此类型;“rtsp”,“rtmp”,“hls”,“ws”。参数不填,默认为HIK协议 *//* jsonBody.put("protocol", protocol); //传输协议(传输层协议),0:UDP,1:TCP。默认是TCP jsonBody.put("transmode", transmode); // 转码标志,不携带此字段或传0表示不转码,传1或2表示转码。 jsonBody.put("expand", expand); // 输出码流转封装格式,“ps”:PS封装格式、“rtp”:RTP封装协议。当protocol=rtsp时生效,且不传值时默认为RTP封装协议。 jsonBody.put("streamform", streamform);*/ String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","获取监控点预览流","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 添加人员 * @param jsonBody * @return */ public static JSONObject addPerson(JSONObject jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v2/person/single/add"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","添加人员","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 批量添加人员 * @param jsonBody * @return */ public static JSONObject batchSave(JSONArray jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/person/batch/add"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","批量添加人员","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 删除人员 * @param jsonBody * @return */ public static JSONObject delPerson(JSONObject jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/person/batch/delete"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","删除人员","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 获取人员卡号 * @param jsonBody * @return */ public static JSONObject getPersonCard(JSONObject jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/irds/v1/card/advance/cardList"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","获取人员卡号","1");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 同步人员 * @param jsonBody * @return */ public static JSONObject getPersonList(JSONObject jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v2/person/advance/personList"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","获取人员列表","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 修改人员信息,不含人脸 * @param jsonBody * @return */ public static JSONObject updatePerson(JSONObject jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/person/single/update"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","修改人员信息","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 添加人脸数据 * @param jsonBody * @return */ public static JSONObject addPersonFace(JSONObject jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/face/single/add"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","添加人脸数据","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 修改人脸数据 * @param jsonBody * @return */ public static JSONObject updatePersonFace(JSONObject jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/face/single/update"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","修改人脸数据","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 创建下载任务 * @param taskType(下载任务类型 1:卡片 4:人脸) * * @return */ public static JSONObject newTask(String taskType) { final String getCamsApi = ARTEMIS_PATH + "/api/acps/v1/authDownload/task/addition"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("taskType",taskType); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","创建下载任务","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 向下载任务中添加数据 * @param jsonBody * @return */ public static JSONObject addTaskData(JSONObject jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/acps/v1/authDownload/data/addition"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","下载任务添加数据","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 开始下载任务 * @param taskId * @return */ public static JSONObject startTask(String taskId) { final String getCamsApi = ARTEMIS_PATH + "/api/acps/v1/authDownload/task/start"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("taskId",taskId); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","开始下载任务","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 删除未开始的下载任务 * @param taskId * @return */ public static JSONObject deleteTask(String taskId) { final String getCamsApi = ARTEMIS_PATH + "/api/acps/v1/authDownload/task/deletion"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("taskId",taskId); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","删除未开始下载任务","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 查询下载任务进度 * @param taskId * @return */ public static JSONObject queryTask(String taskId) { final String getCamsApi = ARTEMIS_PATH + "/api/acps/v1/authDownload/task/progress"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("taskId",taskId); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","查询下载任务进度","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 查询人员下载结果 * @param jsonBody * @return */ public static JSONObject queryPersonResult(JSONObject jsonBody) { final String getCamsApi = ARTEMIS_PATH + "/api/acps/v1/auth_item/list/search"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = sendpost(path, body,"0","查询人员下载结果","0");// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /*public static JSONArray getResourceInfos(List deviceList){ JSONArray resourceInfos = new JSONArray(); deviceList.forEach(v->{ JSONObject deviceObject = new JSONObject(); deviceObject.put("resourceIndexCode",v.getId()); deviceObject.put("resourceType",v.getResourceType()); String channelNo = v.getChannelNo(); String[] c = channelNo.split(","); int[] array = Arrays.asList(c).stream().mapToInt(Integer::parseInt).toArray(); JSONArray ca = new JSONArray(); for (int i =0 ; i path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("pageNo", page); jsonBody.put("pageSize", rows); // jsonBody.put("resourceType", "acsDevice"); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = null; try { result = sendpost(path, body,"0","分页获取监控点资源","1"); } catch (Exception e) { e.printStackTrace(); } logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 分页获取监控点在线状态 * @param page * @param rows * @return */ public static JSONObject monitoryStatus(int page, int rows) { final String getCamsApi = ARTEMIS_PATH + "/api/nms/v1/online/camera/get"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("pageNo", page); jsonBody.put("pageSize", rows); // Listlist=new ArrayList<>(); // list.add("1a3cb6e19fbc44d8b31ae74e29fb438d"); // jsonBody.put("indexCodes", list); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = null; try { result = sendpost(path, body,"0","分页获取监控点在线状态","1"); } catch (Exception e) { e.printStackTrace(); } logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 获取监控点预览取流URLv2 * @param cameraIndexCode * @return */ public static JSONObject monitoryPreview(String cameraIndexCode) { final String getCamsApi = ARTEMIS_PATH + "/api/video/v2/cameras/previewURLs"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("cameraIndexCode", cameraIndexCode); jsonBody.put("streamType", ""); jsonBody.put("protocol", ""); jsonBody.put("transmode", ""); jsonBody.put("expand", ""); jsonBody.put("streamform", ""); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = null; try { result = sendpost(path, body,"0","获取监控点预览取流URLv2","0"); } catch (Exception e) { e.printStackTrace(); } logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 获取监控点回放 * @param cameraIndexCode * @return */ public static JSONObject monitoryBackview(String cameraIndexCode,String beginTime,String endTime) { final String getCamsApi = ARTEMIS_PATH + "/api/video/v2/cameras/playbackURLs"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date startDate=null; Date endDate=null; try { startDate = sdf.parse(beginTime); endDate = sdf.parse(endTime); } catch (ParseException e) { e.printStackTrace(); } jsonBody.put("cameraIndexCode", cameraIndexCode); jsonBody.put("recordLocation", ""); jsonBody.put("protocol", ""); jsonBody.put("transmode", ""); jsonBody.put("uuid", ""); jsonBody.put("expand", ""); jsonBody.put("streamform", ""); jsonBody.put("lockType", ""); jsonBody.put("beginTime", getISO8601Timestamp(startDate)); jsonBody.put("endTime", getISO8601Timestamp(endDate)); // jsonBody.put("beginTime", "2021-12-15T00:00:00.000+08:00"); // jsonBody.put("endTime", "2021-12-16T00:00:00.000+08:00"); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = null; try { // result = sendPost(path, body); result = sendpost(path, body,"0","获取监控点回放","0"); } catch (Exception e) { e.printStackTrace(); } logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * 云台操作 * @param cameraIndexCode * @return */ public static JSONObject yuntaiOperation(String cameraIndexCode,String action,String command,String speed) { final String getCamsApi = ARTEMIS_PATH + "/api/video/v1/ptzs/controlling"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("cameraIndexCode", cameraIndexCode); jsonBody.put("action", action); jsonBody.put("command", command); jsonBody.put("speed", speed); jsonBody.put("presetIndex", ""); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = null; try { result = sendpost(path, body,"0","云台操作","0"); } catch (Exception e) { e.printStackTrace(); } logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); } /** * type 0内部调用1外部调用 * msg 方法名 * flage 0走log日志 1不走 * @param path * @param body * @param type * @return */ private static String sendpost(Map path, String body,String type,String msg,String flage) { String result = null; try { result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null); } catch (Exception e) { e.printStackTrace(); } finally { try { if("0".equals(flage)){ // HkMonitoryLogDO hkMonitoryLogDO=new HkMonitoryLogDO(); // hkMonitoryLogDO.setId(UUID.randomUUID().toString()); // hkMonitoryLogDO.setMethodName(msg); // hkMonitoryLogDO.setType(type); // hkMonitoryLogDO.setCreateDate(new Date()); // // hkMonitoryLogDO.setCreator("内部请求"); // hkMonitoryLogDO.setIsDeleted("0"); // hkMonitoryLogDO.setRequestData(body); // hkMonitoryLogDO.setResponseData(result); // hkMonitoryLogDO.setUrl(path.get("https://")); // HkMonitoryLogService bean = SpringContextUtil.getBean(HkMonitoryLogService.class); // int save = bean.save(hkMonitoryLogDO); } } catch (Exception e) { e.printStackTrace(); } return result; } } /** * 获取增量人员数据列表(删除,修改,新增) * @param page * @param rows * @param startTime * @param endTime * @return */ public static JSONObject userChange(int page, int rows, String startTime, String endTime) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/person/personList/timeRange"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("pageNo", page); jsonBody.put("pageSize", rows); jsonBody.put("startTime", startTime); jsonBody.put("endTime", endTime); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); // return JSONObject.parseObject("{\"code\":\"1\",\"msg\":\"HKUtil代码注释,功能关闭\"}"); } /** * 获取增量人员数据列表(删除,修改,新增) * @param page * @param rows * @param startTime * @param endTime * @return */ public static JSONObject orgChange(int page, int rows, String startTime, String endTime) { final String getCamsApi = ARTEMIS_PATH + "/api/resource/v1/org/timeRange"; Map path = new HashMap(2) { { put("https://", getCamsApi);// 根据现场环境部署确认是http还是https } }; JSONObject jsonBody = new JSONObject(); jsonBody.put("pageNo", page); jsonBody.put("pageSize", rows); jsonBody.put("startTime", startTime); jsonBody.put("endTime", endTime); String body = jsonBody.toJSONString(); logger.info(getCamsApi+"--->body参数:"+body); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 logger.info(getCamsApi+"--->result参数:"+result); return JSONObject.parseObject(result); // return JSONObject.parseObject("{\"code\":\"1\",\"msg\":\"HKUtil代码注释,功能关闭\"}"); } /** * 传入Data类型日期,返回字符串类型时间(ISO8601标准时间) * @param date * @return */ public static String getISO8601Timestamp(Date date){ TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai"); //TimeZone tz = TimeZone.getTimeZone("GMT-01"); DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); df.setTimeZone(tz); String nowAsISO = df.format(date); return nowAsISO; } }