package com.doumee.core.haikang.model;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.doumee.config.SpringContextUtil;
|
import com.doumee.core.utils.Constants;
|
import com.doumee.dao.business.model.InterfaceLog;
|
import com.doumee.service.business.InterfaceLogService;
|
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
|
import com.hikvision.artemis.sdk.config.ArtemisConfig;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.http.HttpEntity;
|
import org.apache.http.HttpResponse;
|
import org.apache.tomcat.util.bcel.Const;
|
import org.yaml.snakeyaml.scanner.Constant;
|
|
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 void saveInterfaceLog(String s, String result,Map<String, String> path) {
|
InterfaceLogService bean = SpringContextUtil.getBean(InterfaceLogService.class);
|
if(bean !=null){
|
InterfaceLog hkMonitoryLogDO=new InterfaceLog();
|
hkMonitoryLogDO.setType(0);
|
hkMonitoryLogDO.setCreateDate(new Date());
|
hkMonitoryLogDO.setIsdeleted(0);
|
hkMonitoryLogDO.setRequest(s);
|
hkMonitoryLogDO.setRemark(result);
|
hkMonitoryLogDO.setName(path.get(HKConstants.https));
|
hkMonitoryLogDO.setUrl(HKConstants.https + ArtemisConfig.host+path.get(HKConstants.https));
|
bean.create(hkMonitoryLogDO);
|
}
|
}
|
|
private static Map<String, String> getPath(String str) {
|
final String getCamsApi = HKConstants.ARTEMIS_PATH + str;
|
Map<String, String> path = new HashMap<String, String>(2) {
|
{
|
put(HKConstants.https, getCamsApi);// 根据现场环境部署确认是http还是https
|
}
|
};
|
return path;
|
}
|
|
/**
|
* 获取门禁时间数据集合
|
* @return
|
*/
|
public static String getRootOrg() {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.rootOrg);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, "", null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog("",result,path);
|
return result;
|
}
|
|
|
/**
|
* 更新组织信息
|
* @param body
|
* @return
|
*/
|
public static String editOrg(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.editOrg);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
|
/**
|
* 新增组织信息
|
* @param body
|
* @return
|
*/
|
public static String addBatchOrg(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.addBatchOrg);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 删除组织信息
|
* @param body
|
* @return
|
*/
|
public static String delOrg(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.delBatchOrg);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
|
/**
|
* 新增人员信息
|
* @param body
|
* @return
|
*/
|
public static String addUser(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.addUser);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
|
|
/**
|
* 批量新增人员信息
|
* @param body
|
* @return
|
*/
|
public static String addBatchUser(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.addBatchUser);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
|
/**
|
* 批量删除人员信息
|
* @param body
|
* @return
|
*/
|
public static String delBatchUser(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.delBatchUser);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
|
/**
|
* 修改人员信息
|
* @param body
|
* @return
|
*/
|
public static String editUser(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.editUser);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 添加人脸信息
|
* @param body
|
* @return
|
*/
|
public static String addFace(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.addFace);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 编辑人脸信息
|
* @param body
|
* @return
|
*/
|
public static String editFace(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.editFace);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 删除人脸信息
|
* @param body
|
* @return
|
*/
|
public static String delFace(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.delFace);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 全量获取车库信息
|
* @param body
|
* @return
|
*/
|
public static String parkList(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.getParkList);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 根据车库编码查询出入口列表
|
* @param body
|
* @return
|
*/
|
public static String entranceList(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.getEntranceList);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 车辆预约
|
* @param body
|
* @return
|
*/
|
public static String parkAddition(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.parkAddition);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 车辆取消预约
|
* @param body
|
* @return
|
*/
|
public static String parkDeletion(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.parkDeletion);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 固定车辆充值(包期)
|
* @param body
|
* @return
|
*/
|
public static String carChargeAddtion(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.carChargeAddtion);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 固定车辆取消包期
|
* @param body
|
* @return
|
*/
|
public static String carChargeDeletion(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.carChargeDeletion);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
|
|
/**
|
* 获取人脸数据(提取人脸访问地址)
|
* @param body
|
* @return
|
*/
|
public static InputStream getFaceInputStream(String body) throws Exception{
|
|
Map<String, String> 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<String, String> path = getPath(HKConstants.InterfacePath.acsDeviceList);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 增量获取门禁设备列表
|
* @param body
|
* @return
|
*/
|
public static String acsDeviceTimeRangeList(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.acsDeviceList);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 访客预约
|
* @param body
|
* @return
|
*/
|
public static String visitAppiontment(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.visitAppiontment);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 访客免登记预约
|
* @param body
|
* @return
|
*/
|
public static String visitAppiontmentMDJ(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.visitAppiontmentMDJ);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
|
/**
|
* 取消访客预约
|
* @param body
|
* @return
|
*/
|
public static String visitCancel(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.visitCancel);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 签离访客预约
|
* @param body
|
* @return
|
*/
|
public static String visitOut(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.visitOut);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 访客权限组
|
* @param body
|
* @return
|
*/
|
public static String privilegeGroup(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.privilegeGroup);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
return result;
|
}
|
/**
|
* 事件订阅
|
* @param body
|
* @return
|
*/
|
public static String eventSub(String body) {
|
Map<String, String> path = getPath(HKConstants.InterfacePath.eventSub);
|
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
|
saveInterfaceLog(body,result,path);
|
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;
|
}
|
|
}
|