From 8d590f68b15baac8eecd2625b548a3fefece4f71 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 14 十二月 2023 11:54:06 +0800
Subject: [PATCH] 海康接口对接开发
---
server/dmvisit_service/src/main/java/com/doumee/dao/business/VisitEventMapper.java | 3
server/dmvisit_service/src/main/java/com/doumee/dao/business/DeviceEventMapper.java | 5
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/EventDeviceDataRequest.java | 82 +++++--
server/dmvisit_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java | 1
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java | 1
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java | 16 -
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java | 6
server/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java | 3
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 330 ++++++++++++++++++++++++++++++++
server/dmvisit_service/src/main/java/com/doumee/config/mybatis/EasySqlInjector.java | 2
server/dmvisit_service/src/main/java/com/doumee/dao/business/join/VisitsJoinMapper.java | 12 +
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java | 2
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java | 22 ++
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/ExtEventIdentityCardInfo.java | 31 ++-
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java | 6
server/dmvisit_admin/src/main/java/com/doumee/api/business/HkSyncController.java | 19 +
server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/RetentionQuery.java | 5
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/ExtEventCustomerNumInfo.java | 13
18 files changed, 487 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 8470923..6dfa1e4 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
@@ -19,7 +19,11 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
/**
* @author 姹熻箘韫�
@@ -66,7 +70,20 @@
@PreventRepeat
@ApiOperation("銆愭捣搴枫�戦棬绂佷簨浠惰闃呮帹閫佸鎺ュ鐞嗘帴鍙�")
@PostMapping("/push/acs")
- public ApiResponse pushAcs(@RequestBody EventAcsRequest param, HttpServletResponse response) {
+ public ApiResponse pushAcs( HttpServletRequest request,@RequestBody EventAcsRequest param, HttpServletResponse response) {
+ try {
+ BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(),"UTF-8"));
+ String line = null;
+ StringBuffer sb = new StringBuffer();
+ while (true) {
+ if (!((line = br.readLine()) != null)) break;
+
+ sb.append(line);
+ }
+ System.out.println(sb.toString());
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
String result = hkSyncPushService.dealAcsEvent(param,response);
return ApiResponse.success(result);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java b/server/dmvisit_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java
index 7abd7c7..39f139d 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/config/Jwt/WebMvcConfig.java
@@ -63,6 +63,7 @@
} else {
throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�");
}
+// request.setAttribute("token", token);
}
return true;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/config/mybatis/EasySqlInjector.java b/server/dmvisit_service/src/main/java/com/doumee/config/mybatis/EasySqlInjector.java
index 409fe88..1e97d85 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/config/mybatis/EasySqlInjector.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/config/mybatis/EasySqlInjector.java
@@ -10,8 +10,6 @@
import java.util.List;
public class EasySqlInjector extends MPJSqlInjector {
-
-
@Override
public List<AbstractMethod> getMethodList(Class<?> mapperClass ) {
// 娉ㄦ剰锛氭SQL娉ㄥ叆鍣ㄧ户鎵夸簡DefaultSqlInjector(榛樿娉ㄥ叆鍣�)锛岃皟鐢ㄤ簡DefaultSqlInjector鐨刧etMethodList鏂规硶锛屼繚鐣欎簡mybatis-plus鐨勮嚜甯︽柟娉�
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 d472dd8..fd9fc11 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
@@ -7,6 +7,7 @@
@Data
public class HKConstants {
+ public static final String IMG_INDEX ="HKIMG=" ;
private Logger logger = LoggerFactory.getLogger(HKConstants.class);
//娴峰悍骞冲彴鏍规嵁鐜板満鐜閰嶇疆http杩樻槸https
public static final String RESPONSE_SUCCEE = "0";
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/EventDeviceDataRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/EventDeviceDataRequest.java
index 4a84b98..95ab60b 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/EventDeviceDataRequest.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/EventDeviceDataRequest.java
@@ -1,37 +1,65 @@
package com.doumee.core.haikang.model.param.request.event.acs;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
public class EventDeviceDataRequest {
- 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 绠$悊鍛�
+ @JsonProperty(value = "ExtEventIdentityCardInfo")
+ private ExtEventIdentityCardInfo extEventIdentityCardInfo;// 浜哄憳韬唤璇佷俊鎭� 鍚� 涓嶉檺
+ @JsonProperty(value = "ExtEventCustomerNumInfo")
+ private ExtEventCustomerNumInfo extEventCustomerNumInfo;// 閫氶亾浜嬩欢淇℃伅 鍚� 涓嶉檺
+ @JsonProperty(value = "ExtAccessChannel")
+ private Integer extAccessChannel ;//Number 浜哄憳閫氶亾鍙� 鍚� 32
+ @JsonProperty(value = "ExtEventAlarmInID")
+ private Integer extEventAlarmInID;// Number 鎶ヨ杈撳叆/闃插尯閫氶亾 鍚� 32
+ @JsonProperty(value = "ExtEventAlarmOutID")
+ private Integer extEventAlarmOutID ;//Number 鎶ヨ杈撳嚭閫氶亾 鍚� 32
+ @JsonProperty(value = "ExtEventCardNo")
+ private String extEventCardNo;//String 鍗″彿 鍚� 32
+ @JsonProperty(value = "ExtEventCaseID")
+ private Integer extEventCaseID ;//Number 浜嬩欢杈撳叆閫氶亾 鍚� 32
+ @JsonProperty(value = "ExtEventCode")
+ private Integer extEventCode;// Number 浜嬩欢绫诲瀷浠g爜 鍚� 32 鍙傝闄勫綍D.2.1.1 闂ㄧ浜嬩欢绫诲瀷
+ @JsonProperty(value = "ExtEventDoorID")
+ private Integer extEventDoorID;// Number 闂ㄧ紪鍙� 鍚� 32
+ @JsonProperty(value = "ExtEventIDCardPictureURL")
+ private String extEventIDCardPictureURL;// String 韬唤璇佸浘鐗嘦RL 鍚� 200
+ @JsonProperty(value = "ExtEventInOut")
+ private Integer extEventInOut;// Number 杩涘嚭鏂瑰悜 鍚� 32 杩涘嚭绫诲瀷1锛氳繘0锛氬嚭-1:鏈煡 瑕佹眰锛氳繘闂ㄨ鍗″櫒鎷ㄧ爜璁剧疆涓�1锛屽嚭闂ㄨ鍗″櫒鎷ㄧ爜璁剧疆涓�2
+ @JsonProperty(value = "ExtEventLocalControllerID")
+ private Integer extEventLocalControllerID;// Number 灏卞湴鎺у埗鍣╥d 鍚� 32 灏卞湴鎺у埗鍣ㄧ紪鍙�,0-闂ㄧ涓绘満,1-255浠h〃灏卞湴鎺у埗鍣�
+ @JsonProperty(value = "ExtEventMainDevID")
+ private Integer extEventMainDevID;// Number 涓昏澶囨嫧鐮� 鍚� 32
+ @JsonProperty(value = "ExtEventPersonNo")
+ private String extEventPersonNo;// String 浜哄憳缂栧彿 鍚� 32 浠ヤ汉涓轰腑蹇冭澶囦細涓婃姤
+ @JsonProperty(value = "ExtEventPictureURL")
+ private String extEventPictureURL;// String 鍥剧墖鐨剈rl 鍚� 32
+ @JsonProperty(value = "ExtEventReaderID")
+ private Integer extEventReaderID;// Number 璇诲崱鍣╥d 鍚� 32
+ @JsonProperty(value = "ExtEventReaderKind")
+ private Integer extEventReaderKind;// Number 璇诲崱鍣ㄧ被鍒� 鍚� 32 0-鏃犳晥1-IC璇诲崱鍣�2-韬唤璇佽鍗″櫒3-浜岀淮鐮佽鍗″櫒4-鎸囩汗澶�
+ @JsonProperty(value = "ExtEventReportChannel")
+ private Integer extEventReportChannel;// Number 鎶ュ憡涓婁紶閫氶亾 鍚� 32 1-甯冮槻涓婁紶2-涓績缁�1涓婁紶3-涓績缁�2涓婁紶0-鏃犳晥
+ @JsonProperty(value = "ExtEventRoleID")
+ private Integer extEventRoleID;// Number 缇ょ粍缂栧彿 鍚� 32
+ @JsonProperty(value = "ExtEventSubDevID")
+ private Integer extEventSubDevID;// Number 鍒嗘帶鍒跺櫒纭欢ID 鍚� 32
+ @JsonProperty(value = "ExtEventSwipNum")
+ private Integer extEventSwipNum;// Number 鍒峰崱娆℃暟 鍚� 32
+ @JsonProperty(value = "ExtEventType")
+ private Integer extEventType;// Number 浜嬩欢绫诲瀷 鍚� 32 浜嬩欢绫诲瀷锛屽鏅�氶棬绂佷簨浠朵负0,韬唤璇佷俊鎭簨浠朵负1锛屽娴侀噺缁熻涓�2
+ @JsonProperty(value = "ExtEventVerifyID")
+ private Long extEventVerifyID;// Number 澶氶噸璁よ瘉搴忓彿 鍚� 32
+ @JsonProperty(value = "ExtEventWhiteListNo")
+ private Integer extEventWhiteListNo;// Number 鐧藉悕鍗曞崟鍙� 鍚� 32 1-8锛屼负0鏃犳晥
+ @JsonProperty(value = "ExtReceiveTime")
+ private String extReceiveTime;// String 浜嬩欢涓婃姤椹卞姩鐨勬椂闂� 鏄� 32 鐢ㄤ簬缁熻浜嬩欢涓婃姤寤舵椂锛孶nix鏃堕棿鎴筹紝绮剧‘鍒板井绉掞紝渚嬶細 "1558576265810000"浠h〃 2019/5/23 9:51:5.000
+ @JsonProperty(value = "Seq")
+ private Integer seq;// Number 浜嬩欢娴佹按鍙� 鏄� 32 浜嬩欢娴佹按鍙凤紝涓�0鏃犳晥
+ @JsonProperty(value = "UserType")
+ private Integer 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/acs/ExtEventCustomerNumInfo.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/ExtEventCustomerNumInfo.java
index e97e6eb..3f5378a 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/ExtEventCustomerNumInfo.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/ExtEventCustomerNumInfo.java
@@ -1,13 +1,18 @@
package com.doumee.core.haikang.model.param.request.event.acs;
+import com.fasterxml.jackson.annotation.JsonProperty;
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
+ @JsonProperty(value = "AccessChannel")
+ private Integer accessChannel;// Number 閫氶亾鍙� 鍚� 32
+ @JsonProperty(value = "EntryTimes")
+ private Integer entryTimes ;//Number 杩涗汉鏁� 鍚� 32
+ @JsonProperty(value = "ExitTimes")
+ private Integer exitTimes ;//Number 鍑轰汉鏁� 鍚� 32
+ @JsonProperty(value = "TotalTimes")
+ private Integer totalTimes ;//Number 鎬婚�氳浜烘暟 鍚� 32
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/ExtEventIdentityCardInfo.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/ExtEventIdentityCardInfo.java
index 6c8cf98..43f63ef 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/ExtEventIdentityCardInfo.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/event/acs/ExtEventIdentityCardInfo.java
@@ -1,18 +1,29 @@
package com.doumee.core.haikang.model.param.request.event.acs;
+import com.fasterxml.jackson.annotation.JsonProperty;
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-鏄紙鏈夋晥鎴鏃ユ湡鏃犳晥锛�
+ @JsonProperty(value = "Address")
+ private String address;// String 浣忓潃 鍚� 512
+ @JsonProperty(value = "Birth")
+ private String birth;// String 鍑虹敓鏃ユ湡 鍚� 32 渚嬶細 鈥�1999-6-30鈥�
+ @JsonProperty(value = "EndDate")
+ private String endDate;// String 鏈夋晥鏃ユ湡缁撴潫鏃堕棿 鍚� 32 渚嬶細 鈥�2028-10-12鈥�
+ @JsonProperty(value = "IdNum")
+ private String idNum ;//String 韬唤璇乮d 鍚� 32
+ @JsonProperty(value = "IssuingAuthority")
+ private String issuingAuthority;// String 绛惧彂鏈哄叧 鍚� 32
+ @JsonProperty(value = "Name")
+ private String name;// String 濮撳悕 鍚� 32
+ @JsonProperty(value = "Nation")
+ private Integer nation ;//Number 鍚� 32 0-鏈煡
+ @JsonProperty(value = "Sex")
+ private Integer sex;// Number 鎬у埆 鍚� 32 鎬у埆0-鏈煡1-鐢�2-濂�
+ @JsonProperty(value = "StartDate")
+ private String startDate;// String 鏈夋晥鏃ユ湡寮�濮嬫椂闂� 鍚� 32 渚嬶細 鈥�2018-10-12鈥�
+ @JsonProperty(value = "TermOfValidity")
+ private Integer termOfValidity;// Number 鏄惁闀挎湡鏈夋晥 鍚� 32 0-鍚︼紙鏈夋晥鎴鏃ユ湡鏈夋晥锛� 1-鏄紙鏈夋晥鎴鏃ユ湡鏃犳晥锛�
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/RetentionQuery.java b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/RetentionQuery.java
index 6aa798f..24d4212 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/RetentionQuery.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/RetentionQuery.java
@@ -1,5 +1,6 @@
package com.doumee.dao.admin.request;
+import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -23,8 +24,8 @@
private String type;
@ApiModelProperty(value = "寮�濮嬫椂闂�")
- private String startTime;
+ private Date startTime;
@ApiModelProperty(value = "缁撴潫鏃堕棿")
- private String endTime;
+ private Date endTime;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/DeviceEventMapper.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/DeviceEventMapper.java
index 4eb9aa4..c1f1f90 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/DeviceEventMapper.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/DeviceEventMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.DeviceEvent;
+import com.doumee.dao.business.model.Parks;
+
+import java.util.List;
/**
* @author 姹熻箘韫�
* @date 2023/11/30 15:33
*/
public interface DeviceEventMapper extends BaseMapper<DeviceEvent> {
-
+ void insertBatchSomeColumn(List<DeviceEvent> addList);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java
index 016e22a..ff7693c 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/RetentionMapper.java
@@ -3,10 +3,13 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.Retention;
+import java.util.List;
+
/**
* @author 姹熻箘韫�
* @date 2023/11/30 15:33
*/
public interface RetentionMapper extends BaseMapper<Retention> {
+ void insertBatchSomeColumn(List<Retention> retentionList);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/VisitEventMapper.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/VisitEventMapper.java
index 02d252d..b802f66 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/VisitEventMapper.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/VisitEventMapper.java
@@ -3,10 +3,13 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.VisitEvent;
+import java.util.List;
+
/**
* @author 姹熻箘韫�
* @date 2023/11/30 15:33
*/
public interface VisitEventMapper extends BaseMapper<VisitEvent> {
+ void insertBatchSomeColumn(List<VisitEvent> list);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/join/VisitsJoinMapper.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/join/VisitsJoinMapper.java
new file mode 100644
index 0000000..21acf16
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/join/VisitsJoinMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business.join;
+
+import com.doumee.dao.business.model.MemberCard;
+import com.doumee.dao.business.model.Visits;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author T14
+ */
+//@Repository
+public interface VisitsJoinMapper extends MPJJoinMapper<Visits> {
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java
index 0a97010..9937cff 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/DeviceEvent.java
@@ -188,7 +188,7 @@
@ApiModelProperty(value = "鐧藉悕鍗曞崟鍙�")
@ExcelColumn(name="鐧藉悕鍗曞崟鍙�")
@TableField("ext_event_white_list_no")
- private String extEventWhiteListNo;
+ private Integer extEventWhiteListNo;
@ApiModelProperty(value = "浜嬩欢涓婃姤椹卞姩鐨勬椂闂�")
@ExcelColumn(name="浜嬩欢涓婃姤椹卞姩鐨勬椂闂�")
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
index 00540e4..37ec7ac 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -96,7 +96,12 @@
@ApiModelProperty(value = "鐝")
@ExcelColumn(name="鐝")
private String classes;
-
+ @ApiModelProperty(value = "娴峰悍闂ㄧ鍚嶇О")
+ @ExcelColumn(name="娴峰悍闂ㄧ鍚嶇О")
+ private String deviceName;
+ @ApiModelProperty(value = "娴峰悍闂ㄧ缂栫爜")
+ @ExcelColumn(name="娴峰悍闂ㄧ缂栫爜")
+ private String deviceIndex;
@ApiModelProperty(value = "鍏ュ巶鏃堕棿")
@ExcelColumn(name="鍏ュ巶鏃堕棿")
@JsonFormat(pattern = "yyyy-MM-dd")
@@ -115,13 +120,4 @@
@TableField(exist = false)
public String companyName;
- @ApiModelProperty(value = "璁垮鐢ㄦ埛绫诲瀷")
- @ExcelColumn(name="璁垮鐢ㄦ埛绫诲瀷")
- @TableField(exist = false)
- private Integer memberType;
-
- @ApiModelProperty(value = "闂ㄧ鍚嶇О")
- @ExcelColumn(name="闂ㄧ鍚嶇О")
- @TableField(exist = false)
- private String srcName;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
index 468374a..22950ef 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/VisitEvent.java
@@ -69,7 +69,7 @@
@ApiModelProperty(value = "浜嬩欢绫诲瀷")
@ExcelColumn(name="浜嬩欢绫诲瀷")
- private String eventType;
+ private Integer eventType;
@ApiModelProperty(value = "浜嬩欢鐘舵��,0-鐬椂1-寮�濮�2-鍋滄4-浜嬩欢鑱斿姩缁撴灉鏇存柊5-浜嬩欢鍥剧墖寮傛涓婁紶", example = "1")
@ExcelColumn(name="浜嬩欢鐘舵��,0-鐬椂1-寮�濮�2-鍋滄4-浜嬩欢鑱斿姩缁撴灉鏇存柊5-浜嬩欢鍥剧墖寮傛涓婁紶")
@@ -77,7 +77,7 @@
@ApiModelProperty(value = "鑴夊啿瓒呮椂鏃堕棿")
@ExcelColumn(name="鑴夊啿瓒呮椂鏃堕棿")
- private String timeout;
+ private Integer timeout;
@ApiModelProperty(value = "浜嬩欢鍙戠敓鏃堕棿锛堣澶囨椂闂�")
@ExcelColumn(name="浜嬩欢鍙戠敓鏃堕棿锛堣澶囨椂闂�")
@@ -101,7 +101,7 @@
@ApiModelProperty(value = "璇佷欢绫诲瀷 111韬唤璇�")
@ExcelColumn(name="璇佷欢绫诲瀷 111韬唤璇�")
- private String idType;
+ private Integer idType;
@ApiModelProperty(value = "璇佷欢鍙� ")
@ExcelColumn(name="璇佷欢鍙� ")
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
index e498b41..607c84d 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -113,6 +113,22 @@
@ApiModelProperty(value = "闂ㄧ鏈夋晥鏈熸埅姝�")
@ExcelColumn(name="闂ㄧ鏈夋晥鏈熸埅姝�")
private Date endtime;
+ @ApiModelProperty(value = "杩涘巶鏃堕棿")
+ @ExcelColumn(name="杩涘巶鏃堕棿")
+ private Date inDate;
+
+ @ApiModelProperty(value = "绂诲満鏃堕棿")
+ @ExcelColumn(name="绂诲満鏃堕棿")
+ private Date outDate;
+ @ApiModelProperty(value = "绂诲満鏂瑰紡 0姝e父绛剧 1绠$悊鍛樻墜鍔ㄧ绂�")
+ @ExcelColumn(name="绂诲満鏂瑰紡 0姝e父绛剧 1绠$悊鍛樻墜鍔ㄧ绂�")
+ private Integer outType;
+ @ApiModelProperty(value = "寮哄埗绛剧绠$悊鍛樼紪鐮�")
+ @ExcelColumn(name="寮哄埗绛剧绠$悊鍛樼紪鐮�")
+ private Integer outUserId;
+ @ApiModelProperty(value = "绛剧澶囨敞")
+ @ExcelColumn(name="绛剧澶囨敞")
+ private String outInfo;
@ApiModelProperty(value = "鏉ヨ浜嬬敱")
@ExcelColumn(name="鏉ヨ浜嬬敱")
@@ -202,6 +218,12 @@
@ApiModelProperty(value = "鏅�氳瀹㈢敵璇烽殢璁夸汉鍛�")
@TableField(exist = false)
private List<Visits> withUserList;
+ @ApiModelProperty(value = "鐝")
+ private String memberClasses;
+
+ @ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳", example = "1")
+ @TableField(exist = false)
+ private Integer memberType;
@ApiModelProperty(value = "鍔冲姟璁垮鐢宠闅忚浜哄憳")
@TableField(exist = false)
private List<Integer> lwWithUserList;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
index 1f1714e..f2006a3 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -209,11 +209,9 @@
Company::getName,
pageWrap.getModel().getCompanyName())
.ge(Objects.nonNull(pageWrap.getModel().getStartTime()),
- Retention::getEventDate,
- pageWrap.getModel().getStartTime() == null?null:pageWrap.getModel().getStartTime()+" 00:00:00")
+ Retention::getEventDate, pageWrap.getModel().getStartTime())
.le(Objects.nonNull(pageWrap.getModel().getEndTime()),
- Retention::getEventDate,
- pageWrap.getModel().getStartTime() == null?null:pageWrap.getModel().getEndTime()+" 23:59:59");
+ Retention::getEventDate, pageWrap.getModel().getEndTime());
queryWrapper.orderByDesc(Retention::getCreateDate);
IPage<Retention> retentionIPage = retentionJoinMapper.selectJoinPage(page, Retention.class, queryWrapper);
return PageData.from(retentionIPage);
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index aecac74..2ca62e8 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -1,20 +1,40 @@
package com.doumee.service.business.impl.hksync;
import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.config.SpringContextUtil;
import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.request.event.acs.EventAcsInfoRequest;
import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest;
+import com.doumee.core.haikang.model.param.request.event.acs.EventDeviceDataRequest;
import com.doumee.core.haikang.model.param.request.event.parks.EventParkRequest;
+import com.doumee.core.haikang.model.param.request.event.visit.EventVisitDataRequest;
+import com.doumee.core.haikang.model.param.request.event.visit.EventVisitInfoRequest;
import com.doumee.core.haikang.model.param.request.event.visit.EventVisitRequest;
-import com.doumee.dao.business.model.InterfaceLog;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DESUtil;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.business.*;
+import com.doumee.dao.business.join.VisitsJoinMapper;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.business.DeviceEventService;
import com.doumee.service.business.InterfaceLogService;
+import com.doumee.service.business.MemberService;
+import com.github.yulichang.interfaces.MPJBaseJoin;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
import java.util.Date;
+import java.util.List;
/**
* 璁垮鏉冮檺缁勪俊鎭〃Service瀹炵幇
@@ -26,7 +46,19 @@
public class HkSyncPushServiceImpl extends HkSyncBaseServiceImpl {
@Autowired
- private InterfaceLogService interfaceLogService;
+ private InterfaceLogMapper interfaceLogMapper;
+ @Autowired
+ private DeviceEventMapper deviceEventMapper;
+ @Autowired
+ private MemberMapper memberMapper;
+ @Autowired
+ private CarEventMapper carEventMapper;
+ @Autowired
+ private VisitEventMapper visitEventMapper;
+ @Autowired
+ private VisitsJoinMapper visitsMapper;
+ @Autowired
+ private RetentionMapper retentionMapper;
/**
* 娴峰悍闂ㄧ浜嬩欢鎺ㄩ��
* @param param
@@ -38,10 +70,40 @@
log.info("銆愭捣搴烽棬绂佷簨浠舵帹閫併��========寮�濮�=========锛歕n"+JSONObject.toJSONString(param));
String result = null;
try {
-
+ if(param == null || param.getParams() == null || param.getParams().getEvents()==null){
+ return null;
+ }
+ //闂ㄧ浜嬩欢闆嗗悎
+ List<EventAcsInfoRequest> events = param.getParams().getEvents();
+ List<DeviceEvent> list = new ArrayList<>();
+ List<Integer> delRetentionLis = new ArrayList<>();
+ List<Retention> retentionList = new ArrayList<>();
+ for(EventAcsInfoRequest request : events){
+ EventDeviceDataRequest model = request.getData();
+ if(model ==null){
+ continue;
+ }
+ //鏍规嵁鎺ㄩ�佷汉鍛樼紪鐮侊紝澶勭悊鍦ㄥ満銆佺鍦轰汉鍛樻暟鎹褰�
+ dealMemberDataByRequest(request,delRetentionLis,retentionList);
+ //灏佽闂ㄧ浜嬩欢淇℃伅琛ㄥ璞�
+ list.add(getDeviceEventModelByRequest(request));
+ }
+ if(list.size()>0){
+ //鎻掑叆闂ㄧ璁板綍
+ deviceEventMapper.insertBatchSomeColumn(list);
+ }
+ if(delRetentionLis.size()>0){
+ //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鍐呴儴浜哄憳锛�
+ retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
+ .eq(Retention::getType,Constants.memberType.internal)
+ .in(Retention::getMemberId,delRetentionLis));
+ }
+ if(retentionList.size()>0){
+ //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳
+ retentionMapper.insertBatchSomeColumn(retentionList);
+ }
log.error("銆愭捣搴烽棬绂佷簨浠舵帹閫併��========鎴愬姛=======");
}catch (Exception e) {
-
log.error("銆愭捣搴烽棬绂佷簨浠舵帹閫併��========澶辫触=======锛歕n" + e.getMessage());
}finally {
saveInterfaceLog(param,"/business/hksync/push/acs",result);
@@ -49,6 +111,136 @@
return null;
}
+
+ /**
+ * 鏍规嵁鎺ㄩ�佷汉鍛樼紪鐮侊紝澶勭悊鍦ㄥ満銆佺鍦轰汉鍛樻暟鎹褰�
+ * @param request
+ * @param delRetentionLis
+ * @param retentionList
+ */
+ private void dealMemberDataByRequest(EventAcsInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList) {
+ //娴峰悍浜哄憳缂栫爜
+ String userNo = request.getData().getExtEventPersonNo();
+ if(StringUtils.isNotBlank(userNo)){
+ Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getHkId,userNo).last("limit 1"));
+ if(member !=null){
+ //濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級
+ delRetentionLis.add(member.getId());
+ if(Constants.formatIntegerNum(request.getData().getExtEventInOut()) == Constants.ONE){
+ //濡傛灉鏄繘闂紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
+ retentionList.add(getRetentionModelByRequest(member,request));
+ }
+ }
+ }
+ }
+
+ public static String getHkImgUrl(String url){
+ if(StringUtils.isBlank(url)){
+ return null;
+ }
+ return HKConstants.IMG_INDEX+url;
+ }
+ /**
+ *灏佽闂ㄧ浜嬩欢淇℃伅琛ㄥ璞�
+ */
+ private DeviceEvent getDeviceEventModelByRequest(EventAcsInfoRequest request) {
+ DeviceEvent event = new DeviceEvent();
+ event.setIsdeleted(Constants.ZERO);
+ event.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
+ event.setEventId(request.getEventId());
+ event.setEventType( request.getData().getExtEventType()!=null?request.getData().getExtEventType()+"":null);
+ event.setAccessChannel(request.getData().getExtAccessChannel());
+ event.setUserType(request.getData().getUserType());
+ event.setSvrIndexCode(request.getData().getSvrIndexCode());
+ event.setStatus(request.getStatus());
+ event.setSrcType(request.getSrcType());
+ event.setSrcName(request.getSrcName());
+ event.setSrcIndex(request.getSrcIndex());
+ event.setSeq(request.getData().getSeq());
+ event.setTimeout(request.getTimeout());
+ event.setExtEventType(request.getData().getExtEventType());
+ event.setHappenTime(request.getHappenTime());
+ event.setExtReceiveTime(request.getData().getExtReceiveTime());
+ event.setExtEventWhiteListNo(request.getData().getExtEventWhiteListNo());
+ event.setExtEventWhiteListNo(request.getData().getExtEventWhiteListNo());
+ event.setExtEventVerifyID(request.getData().getExtEventVerifyID());
+ event.setExtEventRoleID(request.getData().getExtEventRoleID());
+ event.setExtEventReportChannel(request.getData().getExtEventReportChannel());
+ event.setExtEventReaderKind(request.getData().getExtEventReaderKind());
+ event.setExtEventReaderID(request.getData().getExtEventReaderID());
+ event.setExtEventPictureURL(getHkImgUrl(request.getData().getExtEventPictureURL()));
+ event.setExtEventPersonNo(request.getData().getExtEventPersonNo());
+ event.setExtEventMainDevID(request.getData().getExtEventMainDevID());
+ event.setExtEventLocalControllerID(request.getData().getExtEventLocalControllerID());
+ event.setExtEventInOut(request.getData().getExtEventInOut());
+ event.setExtEventIDCardPictureURL(getHkImgUrl(request.getData().getExtEventIDCardPictureURL()));
+ event.setExtEventEwipNum(request.getData().getExtEventSwipNum());
+ event.setExtEventEubDevID(request.getData().getExtEventMainDevID());
+ event.setExtEventDoorID(request.getData().getExtEventDoorID());
+ event.setExtEventCode(request.getData().getExtEventCode());
+ event.setExtEventCaseID(request.getData().getExtEventCaseID());
+ event.setExtEventCardNo(request.getData().getExtEventCardNo());
+ event.setExtEventAlarmOutID(request.getData().getExtEventAlarmOutID());
+ event.setExtEventAlarmInID(request.getData().getExtEventAlarmInID());
+ event.setExtAccessChannel(request.getData().getExtAccessChannel());
+ //閫氶亾浜嬩欢淇℃伅
+ if(request.getData().getExtEventCustomerNumInfo() !=null){
+ event.setTotalTimes(request.getData().getExtEventCustomerNumInfo().getTotalTimes());
+ event.setEntryTimes(request.getData().getExtEventCustomerNumInfo().getEntryTimes());
+ event.setExitTimes(request.getData().getExtEventCustomerNumInfo().getExitTimes());
+ event.setAccessChannel(request.getData().getExtEventCustomerNumInfo().getAccessChannel());
+ }
+ if(request.getData().getExtEventIdentityCardInfo() !=null){
+ //浜哄憳韬唤璇佷欢淇℃伅
+ event.setBirth(request.getData().getExtEventIdentityCardInfo().getBirth());
+ String idnum = request.getData().getExtEventIdentityCardInfo().getIdNum();
+ if(StringUtils.isNotBlank(idnum)){
+ //韬唤璇佸彿瀛樺偍瀵嗘枃
+ event.setIdNum(DESUtil.encrypt(Constants.EDS_PWD,idnum));//韬唤璇佸彿鍔犲瘑
+ //鑴辨晱鎵嬫満鍙锋樉绀簄
+ event.setIdcardDecode(Constants.getTuominStr(idnum));
+ }
+ event.setAddress(request.getData().getExtEventIdentityCardInfo().getAddress());
+ event.setSex(request.getData().getExtEventIdentityCardInfo().getSex());
+ event.setName(request.getData().getExtEventIdentityCardInfo().getName());
+ event.setEndDate(request.getData().getExtEventIdentityCardInfo().getEndDate());
+ event.setStartDate(request.getData().getExtEventIdentityCardInfo().getStartDate());
+ event.setTermOfValidity(request.getData().getExtEventIdentityCardInfo().getTermOfValidity());
+ }
+ return event;
+ }
+
+ /**
+ * 杩涘巶瀵硅薄灏佽鎴愬湪鍦轰汉鍛�
+ * @param member
+ * @param request
+ * @return
+ */
+ private Retention getRetentionModelByRequest(Member member, EventAcsInfoRequest request) {
+ Retention retention = new Retention();
+ retention.setIsdeleted(Constants.ZERO);
+ retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getData().getExtReceiveTime()));
+ retention.setClasses(member.getClasses());
+ retention.setCode(member.getCode());
+ retention.setIdcardNo(member.getIdcardNo());
+ retention.setIdcardDecode(member.getIdcardDecode());
+ retention.setName(member.getName());
+ retention.setBirthday(member.getBirthday());
+ retention.setType(member.getType());
+ retention.setCompanyId(member.getCompanyId());
+ retention.setCompanyName(member.getCompanyName());
+ retention.setEventCode(request.getData().getExtEventCode()+"");
+ retention.setEventDate(DateUtil.getISO8601DateByStr(request.getData().getExtReceiveTime()));
+ retention.setFaceImg(member.getFaceImg());
+ retention.setImgurl(member.getImgurl());
+ retention.setPhone(member.getPhone());
+ retention.setMemberId(member.getId());
+ retention.setDeviceName(request.getSrcName());
+ retention.setDeviceIndex(request.getSrcIndex());
+
+ return retention;
+ }
+
/**
* 娴峰悍璁垮浜嬩欢鎺ㄩ��
* @param param
@@ -60,7 +252,40 @@
log.info("銆愭捣搴疯瀹簨浠舵帹閫併��==========寮�濮�=======锛歕n"+JSONObject.toJSONString(param));
String result = null;
try {
-
+ if(param == null || param.getParams() == null || param.getParams().getEvents()==null){
+ return null;
+ }
+ //闂ㄧ浜嬩欢闆嗗悎
+ List<EventVisitInfoRequest> events = param.getParams().getEvents();
+ List<VisitEvent> list = new ArrayList<>();
+ List<Integer> delRetentionLis = new ArrayList<>();
+ List<Retention> retentionList = new ArrayList<>();
+ for(EventVisitInfoRequest request : events){
+ if(request.getData() ==null ||StringUtils.isBlank(request.getData().getVisitorId())){
+ continue;
+ }
+ //娴峰悍璁垮璁板綍缂栫爜
+ if(StringUtils.isNotBlank(request.getData().getVisitorId())){
+ //鏍规嵁璁垮鎺ㄩ�佽瀹㈣褰曠紪鐮侊紝澶勭悊璁垮璁板綍銆佸湪鍦轰汉鍛樼瓑淇℃伅
+ dealVisitDataByRequst(request,delRetentionLis,retentionList);
+ }
+ //灏佽闂ㄧ浜嬩欢淇℃伅琛ㄥ璞�
+ list.add(getVisitEventModelByRequest(request));
+ }
+ if(list.size()>0){
+ //鎻掑叆闂ㄧ璁板綍
+ visitEventMapper.insertBatchSomeColumn(list);
+ }
+ if(delRetentionLis.size()>0){
+ //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鏅�氳瀹級
+ retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
+ .eq(Retention::getType,Constants.memberType.visitor)
+ .in(Retention::getMemberId,delRetentionLis));
+ }
+ if(retentionList.size()>0){
+ //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳
+ retentionMapper.insertBatchSomeColumn(retentionList);
+ }
log.error("銆愭捣搴疯瀹簨浠舵帹閫併��========鎴愬姛=======");
}catch (Exception e){
@@ -69,6 +294,98 @@
saveInterfaceLog(param,"/business/hksync/push/visit",result);
return null;
+ }
+
+ /**
+ * 鏍规嵁璁垮鎺ㄩ�佽瀹㈣褰曠紪鐮侊紝澶勭悊璁垮璁板綍銆佸湪鍦轰汉鍛樼瓑淇℃伅
+ */
+ private void dealVisitDataByRequst(EventVisitInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList) {
+ EventVisitDataRequest model = request.getData();
+ MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Visits.class);
+ queryWrapper.eq(Visits::getHkId,model.getVisitorId() );
+ queryWrapper.last("limit 1");
+ Visits visits = visitsMapper.selectJoinOne(Visits.class,queryWrapper);
+ if(visits !=null){
+ //濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級
+ delRetentionLis.add(visits.getMemberId());
+ Visits updateVistis = new Visits();
+ updateVistis.setId(visits.getId());
+ if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_IN.getKey()){
+ //濡傛灉鏄瀹㈢櫥璁帮紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
+ retentionList.add(getRetentionModelByVisitRequest(visits,request));
+ //鏉ヨ鏃堕棿
+ updateVistis.setOutDate(DateUtil.getISO8601DateByStr(model.getStartTime()));
+ }else {
+ //濡傛灉鏄瀹㈢绂讳簨浠�
+ updateVistis.setOutDate(DateUtil.getISO8601DateByStr(model.getEndTime()));
+ updateVistis.setOutType(Constants.ZERO);
+ updateVistis.setOutInfo("璁垮姝e父绛剧");
+ }
+ updateVistis.setEditDate(new Date());
+ //鏇存柊璁垮鏉ヨ鎴栬�呯绂绘椂闂翠俊鎭�
+ visitsMapper.updateById(updateVistis) ;
+ }
+ }
+
+ private VisitEvent getVisitEventModelByRequest(EventVisitInfoRequest request) {
+ VisitEvent event = new VisitEvent();
+ event.setIsdeleted(Constants.ZERO);
+ event.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
+ event.setVisitorWorkUint(request.getData().getVisitorWorkUint());
+ event.setVisitorId(request.getData().getVisitorId());
+ event.setVisitorCode(request.getData().getVisitorCode());
+ event.setTimeout(request.getTimeout());
+ event.setSvrIndexCode(request.getData().getSvrIndexCode());
+ event.setStatus(request.getStatus());
+ event.setStartTime(request.getData().getStartTime());
+ event.setSrcType(request.getSrcType());
+ event.setSrcParentIndex(request.getSrcParentIndex());
+ event.setSrcName(request.getSrcName());
+ event.setSrcIndex(request.getSrcIndex());
+ event.setSignOrg(request.getData().getSignOrg());
+ event.setSex(request.getData().getSex());
+ event.setPurpose(request.getData().getPurpose());
+ event.setPhotoUrl(getHkImgUrl(request.getData().getPhotoUrl()));
+ event.setPersonName(request.getData().getPersonName());
+ event.setIdType(request.getData().getIdType());
+ String idnum =request.getData().getIdNo();
+ if(StringUtils.isNotBlank(idnum)){
+ //韬唤璇佸彿瀛樺偍瀵嗘枃
+ event.setIdNo(DESUtil.encrypt(Constants.EDS_PWD,idnum));//韬唤璇佸彿鍔犲瘑
+ //鑴辨晱鎵嬫満鍙锋樉绀簄
+ event.setIdcardDecode(Constants.getTuominStr(idnum));
+ }
+ event.setEventType(request.getEventType());
+ event.setEventId(request.getEventId());
+ event.setHappenTime(event.getHappenTime());
+
+ return event;
+ }
+
+ private Retention getRetentionModelByVisitRequest(Visits visits, EventVisitInfoRequest request) {
+ Retention retention = new Retention();
+ retention.setIsdeleted(Constants.ZERO);
+ retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
+ retention.setClasses(visits.getMemberClasses());
+ retention.setCode(visits.getCode());
+ retention.setIdcardNo(visits.getIdcardNo());
+ retention.setIdcardDecode(visits.getIdcardDecode());
+ retention.setName(visits.getName());
+ retention.setBirthday(visits.getBirthday());
+ retention.setType(visits.getMemberType());
+ retention.setCompanyId(visits.getCompanyId());
+ retention.setCompanyName(visits.getCompanyName());
+ retention.setEventCode(request.getEventType()+"");
+ retention.setEventDate(retention.getCreateDate());
+ retention.setFaceImg(visits.getFaceImg());
+ retention.setImgurl(visits.getImgurl());
+ retention.setPhone(visits.getPhone());
+ retention.setMemberId(visits.getMemberId());
+ retention.setDeviceName(request.getSrcName());
+ retention.setDeviceIndex(request.getSrcIndex());
+
+ return retention;
}
/**
@@ -92,7 +409,6 @@
return null;
}
-
private void saveInterfaceLog(Object param, String path,String result) {
InterfaceLog hkMonitoryLogDO=new InterfaceLog();
hkMonitoryLogDO.setType(1);
@@ -104,7 +420,7 @@
hkMonitoryLogDO.setRepose(result);
hkMonitoryLogDO.setName(path);
hkMonitoryLogDO.setUrl(path);
- interfaceLogService.create(hkMonitoryLogDO);
+ interfaceLogMapper.insert(hkMonitoryLogDO);
}
--
Gitblit v1.9.3