package com.doumee.core.haikang.model; import com.alibaba.fastjson.JSONObject; import com.hikvision.artemis.sdk.ArtemisHttpUtil; import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import java.io.IOException; import java.io.InputStream; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @Slf4j public class HKTools { // private static final Logger logger = LoggerFactory.getLogger(HKUtil.class); public static void main(String[] args) throws ParseException { } private static Map getPath(String str) { final String getCamsApi = HKConstants.ARTEMIS_PATH + str; Map path = new HashMap(2) { { put(HKConstants.https, getCamsApi);// 根据现场环境部署确认是http还是https } }; return path; } /** * 获取门禁时间数据集合 * @return */ public static String getRootOrg() { Map path = getPath(HKConstants.InterfacePath.rootOrg); String result = ArtemisHttpUtil.doPostStringArtemis(path, "", null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 更新组织信息 * @param body * @return */ public static String editOrg(String body) { Map path = getPath(HKConstants.InterfacePath.editOrg); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 新增组织信息 * @param body * @return */ public static String addBatchOrg(String body) { Map path = getPath(HKConstants.InterfacePath.addBatchOrg); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 删除组织信息 * @param body * @return */ public static String delOrg(String body) { Map path = getPath(HKConstants.InterfacePath.delBatchOrg); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 新增人员信息 * @param body * @return */ public static String addUser(String body) { Map path = getPath(HKConstants.InterfacePath.addUser); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 批量新增人员信息 * @param body * @return */ public static String addBatchUser(String body) { Map path = getPath(HKConstants.InterfacePath.addBatchUser); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 批量删除人员信息 * @param body * @return */ public static String delBatchUser(String body) { Map path = getPath(HKConstants.InterfacePath.delBatchUser); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 修改人员信息 * @param body * @return */ public static String editUser(String body) { Map path = getPath(HKConstants.InterfacePath.editUser); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 添加人脸信息 * @param body * @return */ public static String addFace(String body) { Map path = getPath(HKConstants.InterfacePath.addFace); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 编辑人脸信息 * @param body * @return */ public static String editFace(String body) { Map path = getPath(HKConstants.InterfacePath.editFace); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 删除人脸信息 * @param body * @return */ public static String delFace(String body) { Map path = getPath(HKConstants.InterfacePath.delFace); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 全量获取车库信息 * @param body * @return */ public static String parkList(String body) { Map path = getPath(HKConstants.InterfacePath.getParkList); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 根据车库编码查询出入口列表 * @param body * @return */ public static String entranceList(String body) { Map path = getPath(HKConstants.InterfacePath.getEntranceList); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 车辆预约 * @param body * @return */ public static String parkAddition(String body) { Map path = getPath(HKConstants.InterfacePath.parkAddition); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 车辆取消预约 * @param body * @return */ public static String parkDeletion(String body) { Map path = getPath(HKConstants.InterfacePath.parkDeletion); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 固定车辆充值(包期) * @param body * @return */ public static String carChargeAddtion(String body) { Map path = getPath(HKConstants.InterfacePath.carChargeAddtion); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 固定车辆取消包期 * @param body * @return */ public static String carChargeDeletion(String body) { Map path = getPath(HKConstants.InterfacePath.carChargeDeletion); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 获取人脸数据(提取人脸访问地址) * @param body * @return */ public static InputStream getFaceInputStream(String body) throws Exception{ Map path = getPath(HKConstants.InterfacePath.facePicture); //参数根据接口实际情况设置 HttpResponse resp = ArtemisHttpUtil.doPostStringImgArtemis( path, body, null, null,"application/json",null); if (200==resp.getStatusLine().getStatusCode()) { HttpEntity entity = resp.getEntity(); InputStream in = entity.getContent(); return in; }else{ throw new Exception("人脸下载出错"); } } /** * 获取门禁设备列表 * @param body * @return */ public static String acsDeviceList(String body) { Map path = getPath(HKConstants.InterfacePath.acsDeviceList); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 增量获取门禁设备列表 * @param body * @return */ public static String acsDeviceTimeRangeList(String body) { Map path = getPath(HKConstants.InterfacePath.acsDeviceList); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 访客预约 * @param body * @return */ public static String visitAppiontment(String body) { Map path = getPath(HKConstants.InterfacePath.visitAppiontment); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 访客免登记预约 * @param body * @return */ public static String visitAppiontmentMDJ(String body) { Map path = getPath(HKConstants.InterfacePath.visitAppiontmentMDJ); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 取消访客预约 * @param body * @return */ public static String visitCancel(String body) { Map path = getPath(HKConstants.InterfacePath.visitCancel); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 访客权限组 * @param body * @return */ public static String privilegeGroup(String body) { Map path = getPath(HKConstants.InterfacePath.privilegeGroup); String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 return result; } /** * 传入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; } }