From e057cdcd1132081abd02eae587850349d14fb2f7 Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期四, 07 十二月 2023 11:44:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java                                  |  130 ++++++-----
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java            |    2 
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java                                  |   58 +++++
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkDataRequest.java     |   34 +++
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkRlsRequest.java      |   13 +
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushInfoRequest.java     |   18 +
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/EventSubRequest.java                |   14 +
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEventServiceImpl.java             |   87 +++++++
 server/dmvisit_service/src/main/java/com/doumee/config/SpringContextUtil.java                                        |   33 +++
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/ExtEventCustomerNumInfo.java  |   13 +
 server/dmvisit_service/src/main/java/com/doumee/dao/business/model/InterfaceLog.java                                 |    3 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java              |    7 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java                         |    2 
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkInResultRequest.java |    9 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java                   |    3 
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventDeviceDataRequest.java   |   37 +++
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java                                      |   58 +++++
 server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java                                            |    2 
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventVisitDataRequest.java    |   28 ++
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkPicRequest.java      |   11 +
 server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java                                     |    8 
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java              |    2 
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushParamRequest.java    |   17 +
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/ExtEventIdentityCardInfo.java |   18 +
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java         |    6 
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushRequest.java         |   13 +
 26 files changed, 554 insertions(+), 72 deletions(-)

diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
index fb68d05..fafb7f7 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java
@@ -65,4 +65,12 @@
         String result = hkSyncPrivilegeService.syncHkParks(param);
         return ApiResponse.success(result);
     }
+    @PreventRepeat
+    @ApiOperation("銆愭捣搴枫�戜簨浠惰闃呮帹閫佸鎺ュ鐞嗘帴鍙�")
+    @PostMapping("/push")
+//    @RequiresPermissions("business:hksync:privilege")
+    public ApiResponse push(@RequestBody ParkListRequest param) {
+        String result = hkSyncPrivilegeService.syncHkParks(param);
+        return ApiResponse.success(result);
+    }
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/config/SpringContextUtil.java b/server/dmvisit_service/src/main/java/com/doumee/config/SpringContextUtil.java
new file mode 100644
index 0000000..4577f53
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/config/SpringContextUtil.java
@@ -0,0 +1,33 @@
+package com.doumee.config;
+
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+@Component
+public class SpringContextUtil implements ApplicationContextAware {
+
+	private static ApplicationContext applicationContext;
+
+	@Override
+	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+		this.applicationContext = applicationContext;
+	}
+
+	public static ApplicationContext getApplicationContext() {
+		return applicationContext;
+	}
+
+	public static Object getBean(String name) {
+		return getApplicationContext().getBean(name);
+	}
+
+	public static <T> T getBean(Class<T> clazz) {
+		return getApplicationContext().getBean(clazz);
+	}
+
+	public static <T> T getBean(String name, Class<T> clazz) {
+		return getApplicationContext().getBean(name, clazz);
+	}
+}
\ No newline at end of file
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index d0145f5..9187b3c 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -20,7 +20,9 @@
      * 鎺ュ彛鍦板潃闆嗗悎
      */
     public interface InterfacePath{
-        String doorEvents = "/api/acs/v2/door/events";//闂ㄧ浜嬩欢鏌ヨ
+//        String doorEvents = "/api/acs/v2/door/events";//闂ㄧ浜嬩欢鏌ヨ
+//        String visitEvents = "/api/visitor/v1/event/turnover/search";//璁垮浜嬩欢鏌ヨ
+//        String parkEvents = "/api/pms/v1/crossRecords/page";//鍋滆溅鍦轰簨浠舵煡璇�
         String rootOrg = "/api/resource/v1/org/rootOrg";//鑾峰彇璺熺粍缁�
         String addBatchOrg = "/api/resource/v1/org/batch/add";//鎵归噺鏂板缁勭粐
         String delBatchOrg = "/api/resource/v1/org/batch/delete";//鎵归噺鍒犻櫎缁勭粐
@@ -45,11 +47,65 @@
         String visitCancel= "/api/visitor/v1/appointment/cancel";//鍙栨秷璁垮棰勭害
         String facePicture= "/api/resource/v1/person/picture";//鎻愬彇鐢ㄦ埛浜鸿劯鐓х墖
         String privilegeGroup= "/api/visitor/v1/privilege/group";//鏌ヨ璁垮鏉冮檺缁�
+        String eventSub= "/api/eventService/v1/eventSubscriptionByEventTypes";//浜嬩欢璁㈤槄
     }
 
     /**
      * 椤旇壊鏋氫妇
      */
+    public  enum EventTypes {
+
+        PARK_LINE_IN(771760130, "鍏ュ満鍘嬬嚎浜嬩欢"  ),
+        PARK_PASS_IN(771760131, "鍏ュ満鏀捐浜嬩欢"  ),
+        PARK_LINE_OUT(771760133, "鍑哄満鍘嬬嚎浜嬩欢"  ),
+        PARK_PASS_OUT(771760134, "鍑哄満鏀捐浜嬩欢"  ),
+        VISIT_SIGN_IN(1392513025, "璁垮鐧昏"  ),
+        VISIT_SIGN_OUT(1392513026, "璁垮绛剧"  ),
+        DOOR_FACE_AUTH_FAIL(197163, "浜鸿劯璁よ瘉澶辫触"  ),
+        DOOR_FACE_AUTH_SUCCESS(196893, "浜鸿劯璁よ瘉閫氳繃"  )
+        ;
+        // 鎴愬憳鍙橀噺
+        private String name;
+        private int key;
+
+        // 鏋勯�犳柟娉�
+        EventTypes(int key, String name ) {
+            this.name = name;
+            this.key = key;
+        }
+
+        // 鏅�氭柟娉�
+        public static String getName(int index) {
+            for (Constants.UserType c : Constants.UserType.values()) {
+                if (c.getKey() == index) {
+                    return c.getName();
+                }
+            }
+            return null;
+        }
+
+
+        // get set 鏂规硶
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public int getKey() {
+            return key;
+        }
+
+        public void setKey(int key) {
+            this.key = key;
+        }
+
+    }
+    /**
+     * 椤旇壊鏋氫妇
+     */
     public  enum Colors {
 
         SYSTEM(0, "绯荤粺鐢ㄦ埛"  )
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
index 49aa419..c9177c5 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -1,10 +1,17 @@
 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;
@@ -19,10 +26,24 @@
 
 //	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) {
@@ -40,8 +61,10 @@
 	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;
 	}
+
 
 	/**
 	 * 鏇存柊缁勭粐淇℃伅
@@ -51,6 +74,7 @@
 	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;
 	}
 
@@ -62,6 +86,7 @@
 	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;
 	}
 	/**
@@ -72,6 +97,7 @@
 	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;
 	}
 
@@ -83,6 +109,7 @@
 	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;
 	}
 
@@ -95,6 +122,7 @@
 	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;
 	}
 
@@ -106,6 +134,7 @@
 	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;
 	}
 
@@ -117,6 +146,7 @@
 	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;
 	}
 	/**
@@ -127,6 +157,7 @@
 	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;
 	}
 	/**
@@ -137,6 +168,7 @@
 	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;
 	}
 	/**
@@ -147,6 +179,7 @@
 	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;
 	}
 	/**
@@ -157,6 +190,7 @@
 	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;
 	}
 	/**
@@ -167,6 +201,7 @@
 	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;
 	}
 	/**
@@ -177,6 +212,7 @@
 	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;
 	}
 	/**
@@ -187,6 +223,7 @@
 	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;
 	}
 	/**
@@ -197,6 +234,7 @@
 	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;
 	}
 	/**
@@ -207,6 +245,7 @@
 	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;
 	}
 
@@ -237,6 +276,7 @@
 	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;
 	}
 	/**
@@ -247,6 +287,7 @@
 	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;
 	}
 	/**
@@ -257,6 +298,7 @@
 	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;
 	}
 	/**
@@ -267,6 +309,7 @@
 	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;
 	}
 
@@ -278,6 +321,7 @@
 	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;
 	}
 	/**
@@ -288,6 +332,18 @@
 	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;
 	}
 
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/EventSubRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/EventSubRequest.java
new file mode 100644
index 0000000..152ed4e
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/EventSubRequest.java
@@ -0,0 +1,14 @@
+package com.doumee.core.haikang.model.param.request;
+
+import lombok.Data;
+
+@Data
+public class EventSubRequest {
+
+ private String   name	;//string	False	鍚嶇О锛屾ā绯婃悳绱紝鏈�澶ч暱搴�32锛岃嫢鍖呭惈涓枃锛屾渶澶ч暱搴︽寚涓嶈秴杩囨寜鐓ф寚瀹氱紪鐮佺殑瀛楄妭闀垮害锛屽嵆getBytes(鈥渦tf-8鈥�).length
+   private Integer[]    eventTypes;//	number[]	True	浜嬩欢绫诲瀷,璇﹁闄勫綍D
+   private String    eventDest;//	string	True	鎸囧畾浜嬩欢鎺ユ敹鐨勫湴鍧�锛岄噰鐢╮estful鍥炶皟妯″紡锛屾敮鎸乭ttp鍜宧ttps锛屾牱寮忓涓嬶細http://ip:port/eventRcv鎴栬�卙ttps://ip:port/eventRcv涓嶈秴杩�1024涓瓧绗︿簨浠舵帴鏀跺湴鍧�鐢卞簲鐢ㄦ柟璐熻矗鎸夋寚瀹氱殑瑙勮寖鎻愪緵锛屼簨浠舵帴鏀舵帴鍙d笉闇�瑕佽璇佷笁鏂瑰鎴锋敹鍒版秷鎭紝璇锋敞鎰忕珛鍗宠繑鍥濰TTP/1.1 200 OK锛� 鍚﹀垯鍥犱负鎺ユ敹澶參锛屽鑷翠簨浠剁Н鍘�
+   private Integer[]     subType;//	number	False	璁㈤槄绫诲瀷锛�0-璁㈤槄鍘熷浜嬩欢锛�1-鑱斿姩浜嬩欢锛�2-鍘熷浜嬩欢鍜岃仈鍔ㄤ簨浠讹紝涓嶅~浣跨敤榛樿鍊�0
+   private Integer[]     eventLvl;//	number[]	False	浜嬩欢绛夌骇锛�0-鏈厤缃紝1-浣庯紝2-涓紝3-楂� 姝ゅ浜嬩欢绛夌骇鏄寚鍦ㄤ簨浠惰仈鍔ㄤ腑閰嶇疆鐨勭瓑绾ц闃呯被鍨嬩负0鏃讹紝姝ゅ弬鏁版棤鏁堬紝浣跨敤榛樿鍊�0鍦ㄨ闃呯被鍨嬩负1鏃讹紝涓嶅~浣跨敤榛樿鍊糩1,2,3]   鍦ㄨ闃呯被鍨嬩负2鏃讹紝涓嶅~浣跨敤榛樿鍊糩0,1,2,3]鏁扮粍澶у皬涓嶈秴杩�32锛屼簨浠剁瓑绾уぇ灏忎笉瓒呰繃31
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventDeviceDataRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventDeviceDataRequest.java
new file mode 100644
index 0000000..3936f43
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventDeviceDataRequest.java
@@ -0,0 +1,37 @@
+package com.doumee.core.haikang.model.param.request.event;
+
+import lombok.Data;
+
+@Data
+public class EventDeviceDataRequest<T> {
+
+    private ExtEventIdentityCardInfo ExtEventIdentityCardInfo;//	浜哄憳韬唤璇佷俊鎭�	鍚�	涓嶉檺
+    private ExtEventIdentityCardInfo  ExtEventCustomerNumInfo;//		閫氶亾浜嬩欢淇℃伅	鍚�	涓嶉檺
+    private Integer  ExtAccessChannel	;//Number	浜哄憳閫氶亾鍙�	鍚�	32
+    private Integer  ExtEventAlarmInID;//	Number	鎶ヨ杈撳叆/闃插尯閫氶亾	鍚�	32
+    private Integer   ExtEventAlarmOutID	;//Number	鎶ヨ杈撳嚭閫氶亾	鍚�	32
+    private String   ExtEventCardNo;//String	鍗″彿	鍚�	32
+    private Integer   ExtEventCaseID	;//Number	浜嬩欢杈撳叆閫氶亾	鍚�	32
+    private Integer ExtEventCode;//	Number	浜嬩欢绫诲瀷浠g爜	鍚�	32	鍙傝闄勫綍D.2.1.1 闂ㄧ浜嬩欢绫诲瀷
+    private Integer   ExtEventDoorID;//	Number	闂ㄧ紪鍙�	鍚�	32
+    private String   ExtEventIDCardPictureURL;//	String	韬唤璇佸浘鐗嘦RL	鍚�	200
+    private Integer   ExtEventInOut;//	Number	杩涘嚭鏂瑰悜	鍚�	32	杩涘嚭绫诲瀷1锛氳繘0锛氬嚭-1:鏈煡    瑕佹眰锛氳繘闂ㄨ鍗″櫒鎷ㄧ爜璁剧疆涓�1锛屽嚭闂ㄨ鍗″櫒鎷ㄧ爜璁剧疆涓�2
+    private Integer  ExtEventLocalControllerID;//	Number	灏卞湴鎺у埗鍣╥d	鍚�	32	灏卞湴鎺у埗鍣ㄧ紪鍙�,0-闂ㄧ涓绘満,1-255浠h〃灏卞湴鎺у埗鍣�
+    private Integer   ExtEventMainDevID;//	Number	涓昏澶囨嫧鐮�	鍚�	32
+    private String    ExtEventPersonNo;//	String	浜哄憳缂栧彿	鍚�	32	浠ヤ汉涓轰腑蹇冭澶囦細涓婃姤
+    private String    ExtEventPictureURL;//	String	鍥剧墖鐨剈rl	鍚�	32
+    private Integer   ExtEventReaderID;//	Number	璇诲崱鍣╥d	鍚�	32
+    private Integer     ExtEventReaderKind;//	Number	璇诲崱鍣ㄧ被鍒�	鍚�	32	0-鏃犳晥1-IC璇诲崱鍣�2-韬唤璇佽鍗″櫒3-浜岀淮鐮佽鍗″櫒4-鎸囩汗澶�
+    private Integer ExtEventReportChannel;//	Number	鎶ュ憡涓婁紶閫氶亾	鍚�	32	1-甯冮槻涓婁紶2-涓績缁�1涓婁紶3-涓績缁�2涓婁紶0-鏃犳晥
+    private Integer ExtEventRoleID;//	Number	缇ょ粍缂栧彿	鍚�	32
+    private Integer  ExtEventSubDevID;//	Number	鍒嗘帶鍒跺櫒纭欢ID	鍚�	32
+    private Integer    ExtEventSwipNum;//	Number	鍒峰崱娆℃暟	鍚�	32
+    private Integer ExtEventType;//	Number	浜嬩欢绫诲瀷	鍚�	32	浜嬩欢绫诲瀷锛屽鏅�氶棬绂佷簨浠朵负0,韬唤璇佷俊鎭簨浠朵负1锛屽娴侀噺缁熻涓�2
+    private Integer   ExtEventVerifyID;//	Number	澶氶噸璁よ瘉搴忓彿	鍚�	32
+    private Integer   ExtEventWhiteListNo;//	Number	鐧藉悕鍗曞崟鍙�	鍚�	32	1-8锛屼负0鏃犳晥
+    private String   ExtReceiveTime;//	String	浜嬩欢涓婃姤椹卞姩鐨勬椂闂�	鏄�	32	鐢ㄤ簬缁熻浜嬩欢涓婃姤寤舵椂锛孶nix鏃堕棿鎴筹紝绮剧‘鍒板井绉掞紝渚嬶細 "1558576265810000"浠h〃 2019/5/23 9:51:5.000
+    private Integer    Seq;//	Number	浜嬩欢娴佹按鍙�	鏄�	32	浜嬩欢娴佹按鍙凤紝涓�0鏃犳晥
+    private String     UserType;//	Number 鐢ㄦ埛绫诲瀷	鍚�	32	浜哄憳绫诲瀷锛�0 鏈煡锛�1 鏅�氾紝2 鏉ュ锛�3 榛戝悕鍗曪紝4 绠$悊鍛�
+    private String    svrIndexCode	;//String	鍥剧墖鏈嶅姟鍣ㄥ敮涓�缂栫爜	鍚�	32
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkDataRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkDataRequest.java
new file mode 100644
index 0000000..7d87dd8
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkDataRequest.java
@@ -0,0 +1,34 @@
+package com.doumee.core.haikang.model.param.request.event;
+
+import lombok.Data;
+
+@Data
+public class EventParkDataRequest {
+    private Integer    alarmCar	;//	Number	鏄惁榛戝悕鍗曟爣璇嗭紙1-榛戝悕鍗� 0-闈為粦鍚嶅崟锛�	鍚�
+    private String    cardNo	;//	String	鍗″彿	鍚�	16
+    private Integer      eventCmd;//		Number	浜嬩欢鍙�	鏄�		1:鍘嬬嚎浜嬩欢2:涓婁紶鍥剧墖3:鍏ュ満4:鍑哄満5:杞︾墝鐭6:鍥剧墖閲嶄紶
+    private String       eventIndex;//		String	浜嬩欢缂栧彿	鏄�	64
+    private String      gateIndex;//		String	鍑哄叆鍙g紪鍙�	鏄�	64
+    private String     gateName;//		String	鍑哄叆鍙e悕绉�	鏄�	64
+    private Integer      inoutType;//		Number	杩涘嚭鍦虹被鍨嬶紝0锛氳繘鍦猴紝1锛氬嚭鍦�	鏄�
+    private Integer      mainLogo;//		Number	杞﹁締涓诲搧鐗�	鍚�
+    private String     parkIndex	;//	String	鍋滆溅搴撶紪鍙�	鏄�	64
+    private String      parkName	;//	String	鍋滆溅搴撳悕绉�	鏄�	64
+    private EventParkPicRequest  picUrl	;//Object		鍚�
+    private String     svrIndex;//	String	鍥剧墖鏈嶅姟鍣ㄧ紪鍙�	鍚�	32
+    private Integer      plateBelieve	;//Number	杞︾墝缃俊搴�	鏄�	鍙栧�艰寖鍥达細0鈥�100
+    private Integer     plateColor	;//Number	杞︾墝棰滆壊	鏄�	鍙傝闄勫綍A.15 杞︾墝棰滆壊
+    private String      plateNo	;//String	杞︾墝鍙�	鏄�	32
+    private Integer      plateType;//	Number	杞︾墝绫诲瀷	鏄�	鍙傝闄勫綍A.14 杞︾墝绫诲瀷
+    private String      roadwayIndex;//	String	杞﹂亾缂栧彿	鏄�	64
+    private String     roadwayName;//	String	杞﹂亾鍚嶇О	鏄�	64
+    private Integer       roadwayType;//	Number	杞﹂亾绫诲瀷	鏄�	1锛氬叆鍦鸿溅閬� 2锛氬嚭鍦轰笉鏀惰垂杞﹂亾 3锛氬嚭鍦虹即璐硅溅閬� 4锛氫腑澶即璐硅溅閬�
+    private Integer       subLogo;//	Number	杞﹁締瀛愬搧鐗�	鍚�
+    private Integer      subModel;//	Number	瀛愬搧鐗屽勾娆�	鍚�
+    private String        time;//	String	鏃堕棿	鏄�	64	ISO鏍煎紡
+    private Integer      vehicleClass;//	Number	杞﹁締灞炴��	鏄�
+    private Integer     vehicleColor;//	Number	杞﹁締棰滆壊	鏄�
+    private Integer     vehicleType;//	Number	杞﹁締绫诲瀷	鏄�
+   private EventParkInResultRequest inResult;	//Object	鏀捐缁撴灉鏁版嵁
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkInResultRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkInResultRequest.java
new file mode 100644
index 0000000..55abab9
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkInResultRequest.java
@@ -0,0 +1,9 @@
+package com.doumee.core.haikang.model.param.request.event;
+
+import lombok.Data;
+
+@Data
+public class EventParkInResultRequest {
+    private EventParkRlsRequest    rlsResult	;//	鏀捐缁撴灉鏁版嵁	鏄�
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkPicRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkPicRequest.java
new file mode 100644
index 0000000..3c73c71
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkPicRequest.java
@@ -0,0 +1,11 @@
+package com.doumee.core.haikang.model.param.request.event;
+
+import lombok.Data;
+
+@Data
+public class EventParkPicRequest {
+
+    private String    platePicUrl;//	String	杞︾墝鍥剧墖	鍚�	256
+    private String    vehiclePicUrl;//	String	杞﹁締鍥剧墖	鍚�	256
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkRlsRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkRlsRequest.java
new file mode 100644
index 0000000..b7e9e1a
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventParkRlsRequest.java
@@ -0,0 +1,13 @@
+package com.doumee.core.haikang.model.param.request.event;
+
+import lombok.Data;
+
+@Data
+public class EventParkRlsRequest {
+    private Integer   releaseAuth	;//	Number	鏀捐鏉冮檺	鏄�	64	鍙傝闄勫綍A.65 鏀捐鏉冮檺
+    private Integer releaseReason	;//	Number	鏀捐鍘熷洜	鏄�	64	鍙傝鍙傝闄勫綍A.67 鏀捐鍘熷洜
+    private Integer releaseResult	;//	Number	鏀捐缁撴灉	鏄�	64	鍙傝闄勫綍A.66 鏀捐缁撴灉
+    private Integer releaseResultEx		;//Number	鏂颁綋绯绘斁琛岀粨鏋�	鏄�	64	鍙傝闄勫綍A.68 鏂颁綋绯绘斁琛岀粨鏋�
+    private Integer releaseWay	;//	Number	鏀捐鏂瑰紡	鏄�	64	鍙傝闄勫綍A.69 鏀捐鏂瑰紡
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushInfoRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushInfoRequest.java
new file mode 100644
index 0000000..92f2d36
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushInfoRequest.java
@@ -0,0 +1,18 @@
+package com.doumee.core.haikang.model.param.request.event;
+
+import lombok.Data;
+
+@Data
+public class EventPushInfoRequest {
+
+    private String  eventId;//	String	浜嬩欢鍞竴鏍囪瘑	鏄�	64
+    private String  srcIndex;//	String	浜嬩欢婧愮紪鍙凤紝鐗╃悊璁惧鏄祫婧愮紪鍙�	鏄�	64
+    private String  srcType;//	String	浜嬩欢婧愮被鍨�	鏄�	16
+    private Integer  eventType	;//Number	浜嬩欢绫诲瀷	鏄�
+    private String  srcName;//	String	浜嬩欢婧愬悕绉�	鍚�	64
+    private Integer   status	;//Number	浜嬩欢鐘舵��	鏄�		0-鐬椂1-寮�濮�2-鍋滄3-浜嬩欢鑴夊啿4-浜嬩欢鑱斿姩缁撴灉鏇存柊5-寮傛鍥剧墖涓婁紶
+    private Integer  timeout	;//Number	鑴夊啿瓒呮椂鏃堕棿	鏄�		鍗曚綅锛氱
+    private String  happenTime	;//String	浜嬩欢鍙戠敓鏃堕棿锛堣澶囨椂闂达級	鏄�	64
+    private String   srcParentIndex	;//String	浜嬩欢鍙戠敓鐨勪簨浠舵簮鐖惰澶囩紪鍙�	鍚�	64
+    private EventDeviceDataRequest data;
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushParamRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushParamRequest.java
new file mode 100644
index 0000000..4b168fc
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushParamRequest.java
@@ -0,0 +1,17 @@
+package com.doumee.core.haikang.model.param.request.event;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class EventPushParamRequest {
+
+
+    private String   sendTime;//	P	String	浜嬩欢浠庢帴鏀惰�咃紙绋嬪簭澶勭悊鍚庯級鍙戝嚭鐨勬椂闂�	鏄�	32	浜嬩欢鍙戦�佹椂闂�
+    private String    ability;//	P	String	浜嬩欢绫诲埆	鏄�	64	鏍囪瘑鍋滆溅鍦轰簨浠�
+    private String[] uids;//	String[]	鐢ㄦ埛id	鍚�	涓嶉檺
+    private String[] clients	;//String[]	缁勪欢鏍囪瘑	鍚�	涓嶉檺
+    private List<EventPushInfoRequest> events;//	P	Events[]	浜嬩欢淇℃伅	鏄�	涓嶉檺
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushRequest.java
new file mode 100644
index 0000000..1e32ff7
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventPushRequest.java
@@ -0,0 +1,13 @@
+package com.doumee.core.haikang.model.param.request.event;
+
+import lombok.Data;
+
+@Data
+public class EventPushRequest {
+
+//    private String  parkIndexCodes	;//	string	False	鍋滆溅搴撳敮涓�鏍囪瘑闆嗗悎  澶氫釜鍊间娇鐢ㄨ嫳鏂囬�楀彿鍒嗛殧锛屼笉瓒呰繃1000涓�
+
+    private String   method	;//	String	鏂规硶鍚嶏紝鐢ㄤ簬鏍囪瘑鎶ユ枃鐢ㄩ��	鏄�	16	浜嬩欢鍥哄畾OnEventNotify
+    private EventPushParamRequest   params	;//	Params	浜嬩欢鍙傛暟淇℃伅	鏄�	涓嶉檺	鍏蜂綋鍙傛暟淇℃伅
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventVisitDataRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventVisitDataRequest.java
new file mode 100644
index 0000000..d0f751f
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/EventVisitDataRequest.java
@@ -0,0 +1,28 @@
+package com.doumee.core.haikang.model.param.request.event;
+
+import lombok.Data;
+
+@Data
+public class EventVisitDataRequest {
+    private String   visitorId	;//String	璁垮id	鏄�	64	瀵瑰簲璁垮鏉ヨ璁板綍涓殑orderId瀛楁
+    private String   personName;//	String	濮撳悕	鏄�	32
+    private Integer  sex;//	Number	鎬у埆	鏄�		1-鐢�2-濂�
+    private Integer  idType;//	Number	璇佷欢绫诲瀷	鍚�		111锛氳韩浠借瘉
+    private String   idNo;//	String	璇佷欢鍙风爜	鍚�	64
+    private String   beVisitedPersonName;//	String	琚闂汉濮撳悕	鏄�	64
+    private String   beVisitedPersonOrg	;//String	琚闂汉鎵�灞炵粍缁�	鏄�	64
+    private String   visitorWorkUint;//	String	鏉ヨ鍗曚綅	鍚�	64
+    private String   visitorCode;//	String	璁垮楠岃瘉鐮�	鍚�	64
+    private String   purpose;//	String	鏉ヨ浜嬬敱	鍚�	64
+    private String   signOrg;//	String	璇佷欢绛惧彂鏈哄叧	鍚�	64
+    private String   startTime	;//String	鏉ヨ鏃堕棿	鍚�		ISO8601鏍煎紡锛歽yyy-MM-ddTHH:mm:ss+褰撳墠鏃跺尯    渚嬪鍖椾含鏃堕棿锛� 2018-07-26T15:00:00+08:00
+    private String   endTime;//	String	绂诲紑鏃堕棿	鍚�		ISO8601鏍煎紡锛歽yyy-MM-ddTHH:mm:ss+褰撳墠鏃跺尯    渚嬪鍖椾含鏃堕棿锛� 2018-07-26T15:00:00+08:00
+    private String   phone;//	String	鎵嬫満鍙风爜	鏄�	64
+    private String   carNo;//	String	杞︾墝鍙�	鍚�
+    private String   photoUrl;//	String	鐓х墖uri	鍚�
+    private String   captureUrl;//	String	鎶撴媿鍥剧墖uri	鍚�
+    private String   svrIndexCode;//	String	鍥剧墖瀛樺偍鏈嶅姟鍣ㄥ敮涓�鏍囪瘑	鍚�
+    private String   beVisitedPersonId;//	String	琚闂汉Id	鏄�
+    private String   beVisitedPersonOrgId;//	String	琚闂汉鎵�灞炵粍缁嘔d	鏄�
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/ExtEventCustomerNumInfo.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/ExtEventCustomerNumInfo.java
new file mode 100644
index 0000000..0a92924
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/ExtEventCustomerNumInfo.java
@@ -0,0 +1,13 @@
+package com.doumee.core.haikang.model.param.request.event;
+
+import lombok.Data;
+
+@Data
+public class ExtEventCustomerNumInfo<T> {
+
+    private Integer  AccessChannel;//	Number	閫氶亾鍙�	鍚�	32
+    private Integer  EntryTimes	;//Number	杩涗汉鏁�	鍚�	32
+    private Integer  ExitTimes	;//Number	鍑轰汉鏁�	鍚�	32
+    private Integer  TotalTimes	;//Number	鎬婚�氳浜烘暟	鍚�	32
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/ExtEventIdentityCardInfo.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/ExtEventIdentityCardInfo.java
new file mode 100644
index 0000000..a23e527
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/ExtEventIdentityCardInfo.java
@@ -0,0 +1,18 @@
+package com.doumee.core.haikang.model.param.request.event;
+
+import lombok.Data;
+
+@Data
+public class ExtEventIdentityCardInfo {
+    private  String Address;//	String	浣忓潃	鍚�	512
+    private  String  Birth;//	String	鍑虹敓鏃ユ湡	鍚�	32	渚嬶細 鈥�1999-6-30鈥�
+    private  String  EndDate;//	String	鏈夋晥鏃ユ湡缁撴潫鏃堕棿	鍚�	32	渚嬶細 鈥�2028-10-12鈥�
+    private  String   IdNum	;//String	韬唤璇乮d	鍚�	32
+    private  String   IssuingAuthority;//	String	绛惧彂鏈哄叧	鍚�	32
+    private  String   Name;//	String	濮撳悕	鍚�	32
+    private Integer Nation	;//Number		鍚�	32	0-鏈煡
+    private Integer   Sex;//	Number	鎬у埆	鍚�	32	鎬у埆0-鏈煡1-鐢�2-濂�
+    private  String  StartDate;//	String	鏈夋晥鏃ユ湡寮�濮嬫椂闂�	鍚�	32	渚嬶細 鈥�2018-10-12鈥�
+    private Integer TermOfValidity;//	Number	鏄惁闀挎湡鏈夋晥	鍚�	32	0-鍚︼紙鏈夋晥鎴鏃ユ湡鏈夋晥锛�            1-鏄紙鏈夋晥鎴鏃ユ湡鏃犳晥锛�
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
index 79f3e8a..d0f68a9 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -9,8 +9,11 @@
 import com.doumee.core.haikang.model.HKTools;
 import com.doumee.core.haikang.model.param.BaseRequst;
 import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.dao.business.model.InterfaceLog;
+import com.doumee.service.business.InterfaceLogService;
 import com.hikvision.artemis.sdk.config.ArtemisConfig;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,47 +23,35 @@
 import com.alibaba.fastjson.TypeReference;
 
 import java.io.InputStream;
+import java.util.Date;
 import java.util.List;
 
-@Service
 @Slf4j
 public class HKService {
     private Logger logger = LoggerFactory.getLogger(HKService.class);
-    @Autowired
-    private SystemDictDataBiz  systemDictDataBiz;
-
-    @PostConstruct
-    public  int  initHkConfig(){
-        ArtemisConfig.host = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode();
-        ArtemisConfig.appKey = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode();
-        ArtemisConfig.appSecret = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode();
-        HKConstants.https = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HTTPS).getCode();
-        return  0;
-    }
     /**
      * 鑾峰彇鏍圭粍缁囨暟鎹�
      * @return
      */
-    public  BaseResponse<OrgListResponse>  getRootOrg(BaseRequst param){
+    public  static  BaseResponse<OrgListResponse>  getRootOrg(BaseRequst param){
         log.error("銆愭捣搴疯幏鍙栨牴缁勭粐銆�================寮�濮�====");
         try {
             String res = HKTools.getRootOrg ();
             TypeReference typeReference =
                     new TypeReference< BaseResponse<OrgListResponse>>(){};
             BaseResponse<OrgListResponse> result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴疯幏鍙栨牴缁勭粐銆�================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍鑾峰彇鏍圭粍缁�");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴疯幏鍙栨牴缁勭粐銆�================澶辫触====锛歕n"+ e.getMessage());
         }
         return  null;
-
     }
     /**
      * 淇敼缁勭粐鏁版嵁
      * @return
      */
-    public  BaseResponse editOrg(OrgEditRequest param){
+    public  static  BaseResponse editOrg(OrgEditRequest param){
         log.error("銆愭捣搴蜂慨鏀圭粍缁囥��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
 
@@ -68,7 +59,7 @@
             TypeReference typeReference =
                     new TypeReference< BaseResponse>(){};
             BaseResponse  result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴蜂慨鏀圭粍缁囥��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍淇敼缁勭粐");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴蜂慨鏀圭粍缁囥��================澶辫触====锛歕n"+ e.getMessage());
@@ -79,7 +70,7 @@
      *鎵归噺鏂板缁勭粐鏁版嵁
      * @return
      */
-    public  BaseResponse<OrgOrUserAddResponse>  addBatchOrg(List<OrgAddRequest> param){
+    public  static  BaseResponse<OrgOrUserAddResponse>  addBatchOrg(List<OrgAddRequest> param){
         log.error("銆愭捣搴锋柊澧炵粍缁囥��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
 
@@ -87,7 +78,7 @@
             TypeReference typeReference =
                     new TypeReference< BaseResponse<OrgOrUserAddResponse>>(){};
             BaseResponse<OrgOrUserAddResponse> result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴锋柊澧炵粍缁囥��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍鏂板缁勭粐");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴锋柊澧炵粍缁囥��================澶辫触====锛歕n"+ e.getMessage());
@@ -98,7 +89,7 @@
      *鎵归噺鍒犻櫎缁勭粐鏁版嵁
      * @return
      */
-    public  BaseResponse   delBatchOrg(OrgDelRequest param){
+    public  static  BaseResponse   delBatchOrg(OrgDelRequest param){
         log.error("銆愭捣搴峰垹闄ょ粍缁囥��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
 
@@ -106,7 +97,7 @@
             TypeReference typeReference =
                     new TypeReference< BaseResponse >(){};
             BaseResponse result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴峰垹闄ょ粍缁囥��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍鍒犻櫎缁勭粐");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴峰垹闄ょ粍缁囥��================澶辫触====锛歕n"+ e.getMessage());
@@ -117,14 +108,14 @@
      *鏂板浜哄憳淇℃伅锛堟敮鎸佷汉鑴告暟鎹級
      * @return
      */
-    public  BaseResponse<UserAddResponse>  addUser(UserAddRequest param){
+    public  static  BaseResponse<UserAddResponse>  addUser(UserAddRequest param){
         log.error("銆愭捣搴锋柊澧炰汉鍛樸��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.addUser(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<UserAddResponse>>(){};
             BaseResponse<UserAddResponse> result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴锋柊澧炰汉鍛樸��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍鏂板浜哄憳");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴锋柊澧炰汉鍛樸��================澶辫触====锛歕n"+ e.getMessage());
@@ -135,14 +126,14 @@
      *淇敼浜哄憳淇℃伅锛堜笉鏀寔浜鸿劯鏁版嵁锛�
      * @return
      */
-    public  BaseResponse editUser(UserAddRequest param){
+    public  static  BaseResponse editUser(UserAddRequest param){
         log.error("銆愭捣搴蜂慨鏀逛汉鍛樸��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.editUser(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<UserAddResponse>>(){};
             BaseResponse<UserAddResponse> result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴蜂慨鏀逛汉鍛樸��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍淇敼浜哄憳");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴蜂慨鏀逛汉鍛樸��================澶辫触====锛歕n"+ e.getMessage());
@@ -153,14 +144,14 @@
      *鎵归噺鏂板浜哄憳淇℃伅(鏃犱汉鑴革級
      * @return
      */
-    public  BaseResponse<OrgOrUserAddResponse>  addBatchUser(List<UserAddRequest> param){
+    public  static  BaseResponse<OrgOrUserAddResponse>  addBatchUser(List<UserAddRequest> param){
         log.error("銆愭捣搴锋壒閲忔柊澧炰汉鍛樸��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.addBatchUser(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<OrgOrUserAddResponse>>(){};
             BaseResponse<OrgOrUserAddResponse> result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴锋壒閲忔柊澧炰汉鍛樸��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍鎵归噺鏂板浜哄憳");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴锋壒閲忔柊澧炰汉鍛樸��================澶辫触====锛歕n"+ e.getMessage());
@@ -171,14 +162,14 @@
      *鎵归噺鍒犻櫎浜哄憳淇℃伅
      * @return
      */
-    public  BaseResponse<OrgOrUserAddFailureResponse>  delBatchUser(List<UserAddRequest> param){
+    public  static  BaseResponse<OrgOrUserAddFailureResponse>  delBatchUser(List<UserAddRequest> param){
         log.error("銆愭捣搴锋壒閲忔柊澧炰汉鍛樸��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.delBatchUser(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<OrgOrUserAddFailureResponse>>(){};
             BaseResponse<OrgOrUserAddFailureResponse> result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴锋壒閲忔柊澧炰汉鍛樸��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍鎵归噺鏂板浜哄憳");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴锋壒閲忔柊澧炰汉鍛樸��================澶辫触====锛歕n"+ e.getMessage());
@@ -189,14 +180,14 @@
      *娣诲姞浜鸿劯淇℃伅
      * @return
      */
-    public  BaseResponse<FaceAddOrEditesponse>  addFace(List<FaceAddRequest> param){
+    public  static  BaseResponse<FaceAddOrEditesponse>  addFace(List<FaceAddRequest> param){
         log.error("銆愭捣搴锋坊鍔犱汉鑴镐俊鎭��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.addFace(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<FaceAddOrEditesponse>>(){};
             BaseResponse<FaceAddOrEditesponse> result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴锋坊鍔犱汉鑴镐俊鎭��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍娣诲姞浜鸿劯淇℃伅");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴锋坊鍔犱汉鑴镐俊鎭��================澶辫触====锛歕n"+ e.getMessage());
@@ -207,14 +198,14 @@
      *缂栬緫浜鸿劯淇℃伅
      * @return
      */
-    public  BaseResponse<FaceAddOrEditesponse>  editFace(List<FaceEditRequest> param){
+    public  static  BaseResponse<FaceAddOrEditesponse>  editFace(List<FaceEditRequest> param){
         log.error("銆愭捣搴风紪杈戜汉鑴镐俊鎭��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.editFace(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<FaceAddOrEditesponse>>(){};
             BaseResponse<FaceAddOrEditesponse> result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴风紪杈戜汉鑴镐俊鎭��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍缂栬緫浜鸿劯淇℃伅");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴风紪杈戜汉鑴镐俊鎭��================澶辫触====锛歕n"+ e.getMessage());
@@ -225,14 +216,14 @@
      *鍒犻櫎浜鸿劯淇℃伅
      * @return
      */
-    public  BaseResponse   delFace(List<FaceEditRequest> param){
+    public  static  BaseResponse   delFace(List<FaceEditRequest> param){
         log.error("銆愭捣搴峰垹闄や汉鑴镐俊鎭��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.editFace(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse>(){};
             BaseResponse  result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴峰垹闄や汉鑴镐俊鎭��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍鍒犻櫎浜鸿劯淇℃伅");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴峰垹闄や汉鑴镐俊鎭��================澶辫触====锛歕n"+ e.getMessage());
@@ -259,14 +250,14 @@
      *鑾峰彇杞﹀簱鍒楄〃鏁版嵁锛堝叏閲忥級
      * @return
      */
-    public  BaseResponse<List<ParkListResponse>>   parkList(ParkListRequest param){
+    public  static  BaseResponse<List<ParkListResponse>>   parkList(ParkListRequest param){
         log.error("銆愭捣鑾峰彇杞﹀簱鍒楄〃鏁版嵁銆�================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.parkList(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<List<ParkListResponse>>>(){};
             BaseResponse  result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴疯幏鍙栬溅搴撳垪琛ㄦ暟鎹��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍鑾峰彇杞﹀簱鍒楄〃鏁版嵁");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴疯幏鍙栬溅搴撳垪琛ㄦ暟鎹��================澶辫触====锛歕n"+ e.getMessage());
@@ -277,14 +268,14 @@
      *鑾峰彇杞﹀簱鍒楄〃鏁版嵁锛堝叏閲忥級
      * @return
      */
-    public  BaseResponse<List<EntranceListResponse>>   entranceList(EntranceListRequest param){
+    public  static  BaseResponse<List<EntranceListResponse>>   entranceList(EntranceListRequest param){
         log.error("銆愭捣鑾峰彇杞﹀簱鍒楄〃鏁版嵁銆�================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.entranceList(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<List<EntranceListResponse>>>(){};
             BaseResponse  result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴疯幏鍙栬溅搴撳垪琛ㄦ暟鎹��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍鑾峰彇杞﹀簱鍒楄〃鏁版嵁");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴疯幏鍙栬溅搴撳垪琛ㄦ暟鎹��================澶辫触====锛歕n"+ e.getMessage());
@@ -295,14 +286,14 @@
      *鍥哄畾杞﹁締鍏呭�硷紙鍖呮湡锛�
      * @return
      */
-    public  BaseResponse   carChargeAddtion(CarChargeAddRequest param){
+    public  static  BaseResponse   carChargeAddtion(CarChargeAddRequest param){
         log.error("銆愭捣搴峰浐瀹氳溅杈嗗厖鍊笺��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.carChargeAddtion(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse>(){};
             BaseResponse  result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴峰浐瀹氳溅杈嗗厖鍊笺��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍鍥哄畾杞﹁締鍏呭��");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴峰浐瀹氳溅杈嗗厖鍊笺��================澶辫触====锛歕n"+ e.getMessage());
@@ -313,14 +304,14 @@
      *鍥哄畾杞﹁締鍙栨秷鍖呮湡
      * @return
      */
-    public  BaseResponse   carChargeDeletion(CarChargeDelRequest param){
+    public  static  BaseResponse   carChargeDeletion(CarChargeDelRequest param){
         log.error("銆愭捣搴峰浐瀹氳溅杈嗗彇娑堝寘鏈熴��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.carChargeDeletion(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse>(){};
             BaseResponse  result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴峰浐瀹氳溅杈嗗彇娑堝寘鏈熴��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍鍥哄畾杞﹁締鍙栨秷鍖呮湡");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴峰浐瀹氳溅杈嗗彇娑堝寘鏈熴��================澶辫触====锛歕n"+ e.getMessage());
@@ -331,14 +322,14 @@
      *杞︿綅棰勭害
      * @return
      */
-    public  BaseResponse<ParkReservationAddResponse>   parkReservationAddition(ParkReservationAddRequest param){
+    public  static  BaseResponse<ParkReservationAddResponse>   parkReservationAddition(ParkReservationAddRequest param){
         log.error("銆愭捣搴疯溅浣嶉绾︺��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.parkAddition(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<ParkReservationAddResponse>>(){};
             BaseResponse<ParkReservationAddResponse>  result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴疯溅浣嶉绾︺��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍杞︿綅棰勭害");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴疯溅浣嶉绾︺��================澶辫触====锛歕n"+ e.getMessage());
@@ -349,14 +340,14 @@
      *杞︿綅鍙栨秷棰勭害
      * @return
      */
-    public  BaseResponse   parkReservationDeletion(ParkReservationDelRequest param){
+    public  static  BaseResponse   parkReservationDeletion(ParkReservationDelRequest param){
         log.error("銆愭捣搴疯溅浣嶅彇娑堥绾︺��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.carChargeDeletion(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse>(){};
             BaseResponse  result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴疯溅浣嶅彇娑堥绾︺��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍杞︿綅鍙栨秷棰勭害");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴疯溅浣嶅彇娑堥绾︺��================澶辫触====锛歕n"+ e.getMessage());
@@ -367,14 +358,14 @@
      *璁垮棰勭害
      * @return
      */
-    public  BaseResponse<VisitAppointmentResponse>   visitAppiontment(VisitAppointmentRequest param){
+    public  static  BaseResponse<VisitAppointmentResponse>   visitAppiontment(VisitAppointmentRequest param){
         log.error("銆愭捣搴疯瀹㈤绾︺��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.visitAppiontment(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<VisitAppointmentResponse>>(){};
             BaseResponse<VisitAppointmentResponse>  result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴疯瀹㈤绾︺��================鎴愬姛====\n"+res);
+           logResult(result,"娴峰悍璁垮棰勭害");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴疯瀹㈤绾︺��================澶辫触====锛歕n"+ e.getMessage());
@@ -385,14 +376,14 @@
      *璁垮鍏嶇櫥璁伴绾�
      * @return
      */
-    public  BaseResponse<VisitAppointmentVistorResponse>   visitAppiontmentMDJ(VisitAppointmentMDJRequest param){
+    public  static  BaseResponse<VisitAppointmentVistorResponse>   visitAppiontmentMDJ(VisitAppointmentMDJRequest param){
         log.error("銆愭捣搴疯瀹㈠厤鐧昏棰勭害銆�================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.visitAppiontmentMDJ(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<VisitAppointmentVistorResponse> >(){};
             BaseResponse<VisitAppointmentVistorResponse>   result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴疯瀹㈠厤鐧昏棰勭害銆�================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍璁垮鍏嶇櫥璁伴绾�");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴疯瀹㈠厤鐧昏棰勭害銆�================澶辫触====锛歕n"+ e.getMessage());
@@ -403,14 +394,14 @@
      *璁垮鏉冮檺缁勫垪琛ㄦ煡璇紙鍒嗛〉锛�
      * @return
      */
-    public  BaseResponse<PrivilegeGroupListResponse>   privilegeGroup(PrivilegeGroupRequest param){
+    public  static  BaseResponse<PrivilegeGroupListResponse>   privilegeGroup(PrivilegeGroupRequest param){
         log.error("銆愭捣搴疯瀹㈡潈闄愮粍鍒楄〃鏌ヨ銆�================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.privilegeGroup(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<PrivilegeGroupListResponse> >(){};
             BaseResponse<PrivilegeGroupListResponse>   result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴疯瀹㈡潈闄愮粍鍒楄〃鏌ヨ銆�================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍璁垮鏉冮檺缁勫垪琛ㄦ煡璇�");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴疯瀹㈡潈闄愮粍鍒楄〃鏌ヨ銆�================澶辫触====锛歕n"+ e.getMessage());
@@ -421,20 +412,49 @@
      *闂ㄧ璁惧鏌ヨ锛堝垎椤碉級
      * @return
      */
-    public  BaseResponse<AcsDeviceListResponse>   acsDeviceList(AcsDeviceListRequest param){
+    public  static  BaseResponse<AcsDeviceListResponse>   acsDeviceList(AcsDeviceListRequest param){
         log.error("銆愭捣搴烽棬绂佽澶囨煡璇€��================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.acsDeviceList(JSONObject.toJSONString(param));
             TypeReference typeReference =
                     new TypeReference< BaseResponse<AcsDeviceListResponse> >(){};
             BaseResponse<AcsDeviceListResponse>   result = JSONObject.parseObject(res, typeReference.getType());
-            log.error("銆愭捣搴烽棬绂佽澶囨煡璇€��================鎴愬姛====\n"+res);
+            logResult(result,"娴峰悍闂ㄧ璁惧鏌ヨ");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴烽棬绂佽澶囨煡璇€��================澶辫触====锛歕n"+ e.getMessage());
         }
         return  null;
     }
+    /**
+     *浜嬩欢璁㈤槄
+     * @return
+     */
+    public  static  BaseResponse   eventSub(EventSubRequest param){
+        log.error("銆愭捣搴蜂簨浠惰闃呫��================寮�濮�===="+JSONObject.toJSONString(param));
+        String res = null;
+        try {
+            res = HKTools.eventSub(JSONObject.toJSONString(param));
+            TypeReference typeReference =
+                    new TypeReference< BaseResponse >(){};
+            BaseResponse   result = JSONObject.parseObject(res, typeReference.getType());
+            logResult(result,"娴峰悍浜嬩欢璁㈤槄");
+            return  result;
+        }catch (Exception e){
+            log.error("銆愭捣搴蜂簨浠惰闃呫��================澶辫触====锛歕n"+ e.getMessage());
+        }finally {
+           // saveInterfaceLog(param,res);
+        }
+        return  null;
+    }
+
+    private static void logResult(BaseResponse res,String name) {
+        if(StringUtils.equals(res.getCode(),HKConstants.RESPONSE_SUCCEE)){
+            log.info("銆�"+name+"銆�================鎴愬姛====\n"+res);
+        }else{
+            log.error("銆�"+name+"銆�================澶辫触====锛歕n"+ res);
+        }
+    }
 
 }
 
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
index fbd8b5f..6ad128e 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -19,6 +19,8 @@
     public static final String HK_APPKEY ="HK_APPKEY" ;
     public static final String HK_APPSECRET ="HK_APPSECRET" ;
     public static final String HK_HTTPS ="HK_HTTPS" ;
+    public static final String HK_PUSH_URL = "HK_PUSH_URL";
+    public static final String HK_ROOTORG_CODE ="HK_ROOTORG_CODE" ;
 
     /**
      * mq tag
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/InterfaceLog.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/InterfaceLog.java
index 76925a7..92f9d32 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/InterfaceLog.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/InterfaceLog.java
@@ -61,8 +61,7 @@
 
     @ApiModelProperty(value = "鍦板潃淇℃伅")
     @ExcelColumn(name="鍦板潃淇℃伅")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    private Date url;
+    private String url;
 
     @ApiModelProperty(value = "璇锋眰鍙傛暟")
     @ExcelColumn(name="璇锋眰鍙傛暟")
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
index f2e9eb6..c90c76f 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceServiceImpl.java
@@ -40,8 +40,6 @@
     @Autowired
     private DeviceMapper deviceMapper;
 
-    @Autowired
-    private HKService hkService;
 
     @Override
     public Integer create(Device device) {
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java
index 91667f8..3339db5 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/InterfaceLogServiceImpl.java
@@ -119,8 +119,7 @@
             queryWrapper.lambda().eq(InterfaceLog::getName, pageWrap.getModel().getName());
         }
         if (pageWrap.getModel().getUrl() != null) {
-            queryWrapper.lambda().ge(InterfaceLog::getUrl, Utils.Date.getStart(pageWrap.getModel().getUrl()));
-            queryWrapper.lambda().le(InterfaceLog::getUrl, Utils.Date.getEnd(pageWrap.getModel().getUrl()));
+            queryWrapper.lambda().like(InterfaceLog::getUrl, pageWrap.getModel().getUrl());
         }
         if (pageWrap.getModel().getRequest() != null) {
             queryWrapper.lambda().eq(InterfaceLog::getRequest, pageWrap.getModel().getRequest());
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
index 35fed63..0d22547 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java
@@ -1,10 +1,12 @@
 package com.doumee.service.business.impl.hksync;
 
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
 import com.doumee.core.haikang.model.param.BaseResponse;
 import com.doumee.core.haikang.model.param.request.AcsDeviceListRequest;
+import com.doumee.core.haikang.model.param.request.EventSubRequest;
 import com.doumee.core.haikang.model.param.request.ParkListRequest;
 import com.doumee.core.haikang.model.param.request.PrivilegeGroupRequest;
 import com.doumee.core.haikang.model.param.respose.AcsDeviceInfoResponse;
@@ -18,10 +20,12 @@
 import com.doumee.dao.business.model.Device;
 import com.doumee.dao.business.model.Parks;
 import com.doumee.service.business.HkSyncService;
+import com.hikvision.artemis.sdk.config.ArtemisConfig;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.PostConstruct;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -33,9 +37,6 @@
  */
 @Service
 public class HkSyncBaseServiceImpl implements HkSyncService {
-
-    @Autowired
-    public HKService hkService;
 
     /**
      * 鍚屾娴峰悍鍋滆溅搴撴暟鎹�
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
index 1c99ba1..832bc36 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java
@@ -58,7 +58,7 @@
             param = new AcsDeviceListRequest();
             param.setPageNo(curPage);
             param.setPageSize(10000);
-            BaseResponse<AcsDeviceListResponse> response = hkService.acsDeviceList(param);
+            BaseResponse<AcsDeviceListResponse> response = HKService.acsDeviceList(param);
             if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                 throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
             }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEventServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEventServiceImpl.java
new file mode 100644
index 0000000..e1db654
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEventServiceImpl.java
@@ -0,0 +1,87 @@
+package com.doumee.service.business.impl.hksync;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.EventSubRequest;
+import com.doumee.core.haikang.model.param.request.PrivilegeGroupRequest;
+import com.doumee.core.haikang.model.param.respose.OrgListResponse;
+import com.doumee.core.haikang.model.param.respose.PrivilegeGroupInfoResponse;
+import com.doumee.core.haikang.model.param.respose.PrivilegeGroupListResponse;
+import com.doumee.core.haikang.service.HKService;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.DeviceRoleMapper;
+import com.doumee.dao.business.model.DeviceRole;
+import com.doumee.dao.system.model.SystemDictData;
+import com.hikvision.artemis.sdk.config.ArtemisConfig;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.PostConstruct;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 娴峰悍浜嬩欢璁㈤槄琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Service
+public class HkSyncEventServiceImpl extends HkSyncBaseServiceImpl {
+
+    @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+
+    @PostConstruct
+    public  int  initHkConfig(){
+        ArtemisConfig.host = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HOST).getCode();
+        ArtemisConfig.appKey = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPKEY).getCode();
+        ArtemisConfig.appSecret = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_APPSECRET).getCode();
+        HKConstants.https = systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_HTTPS).getCode();
+        //寮�濮嬭闃呴棬绂佷簨浠躲�佽瀹簨浠躲�佸拰鍋滆溅鍦轰簨浠�
+        startHkEventSub();
+        //鑾峰彇鏍圭粍缁囩紪鐮�
+        getRootOrgCode();
+        return  0;
+    }
+    /**
+     *    鑾峰彇鏍圭粍缁囩紪鐮�
+     */
+    private void getRootOrgCode() {
+        SystemDictData org =  systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_ROOTORG_CODE);
+        if(org!=null){
+            String rootOrgId =org.getCode();
+            if(StringUtils.isBlank(rootOrgId)){
+                BaseResponse<OrgListResponse> res = HKService.getRootOrg(null);
+                if(res !=null && res.getData()!=null && StringUtils.isNotBlank(res.getData().getOrgIndexCode())){
+                    org.setCode(res.getData().getOrgIndexCode());
+                    org.setUpdateTime(new Date());
+                    systemDictDataBiz.updateById( org);
+                }
+            }
+        }
+
+    }
+
+    /**
+     * 璁㈤槄闂ㄧ浜嬩欢銆佽瀹簨浠躲�佸拰鍋滆溅鍦轰簨浠�
+     */
+    public void startHkEventSub(){
+        EventSubRequest param = new EventSubRequest();
+        param.setEventDest(systemDictDataBiz.queryByCode(Constants.HK_PARAM, Constants.HK_PUSH_URL).getCode());
+        param.setEventTypes(new Integer[]{HKConstants.EventTypes.PARK_LINE_IN.getKey()
+                ,HKConstants.EventTypes.PARK_LINE_OUT.getKey()
+                ,HKConstants.EventTypes.PARK_PASS_IN.getKey()
+                ,HKConstants.EventTypes.PARK_PASS_OUT.getKey()
+                ,HKConstants.EventTypes.VISIT_SIGN_OUT.getKey()
+                ,HKConstants.EventTypes.VISIT_SIGN_OUT.getKey()
+                ,HKConstants.EventTypes.DOOR_FACE_AUTH_SUCCESS.getKey()});
+        HKService.eventSub(param);
+
+    }
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java
index ee02471..2ec7d53 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java
@@ -51,7 +51,7 @@
         List<Parks> allList = parksMapper.selectList(null);
             //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
         param = new ParkListRequest();
-        BaseResponse<List<ParkListResponse>> response = hkService.parkList(param);
+        BaseResponse<List<ParkListResponse>> response = HKService.parkList(param);
         if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
         }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java
index 40b3f34..0ff9722 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java
@@ -6,13 +6,11 @@
 import com.doumee.core.haikang.model.HKConstants;
 import com.doumee.core.haikang.model.param.BaseResponse;
 import com.doumee.core.haikang.model.param.request.PrivilegeGroupRequest;
-import com.doumee.core.haikang.model.param.respose.AcsDeviceInfoResponse;
 import com.doumee.core.haikang.model.param.respose.PrivilegeGroupInfoResponse;
 import com.doumee.core.haikang.model.param.respose.PrivilegeGroupListResponse;
+import com.doumee.core.haikang.service.HKService;
 import com.doumee.core.utils.Constants;
-import com.doumee.core.utils.DateUtil;
 import com.doumee.dao.business.DeviceRoleMapper;
-import com.doumee.dao.business.model.Device;
 import com.doumee.dao.business.model.DeviceRole;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -58,7 +56,7 @@
             param = new PrivilegeGroupRequest();
             param.setPageNo(curPage);
             param.setPageSize(10000);
-            BaseResponse<PrivilegeGroupListResponse> response = hkService.privilegeGroup(param);
+            BaseResponse<PrivilegeGroupListResponse> response = HKService.privilegeGroup(param);
             if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
                 throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
             }

--
Gitblit v1.9.3