From 4b139bcb2b3c6bf1082aca29913caf5166ec8167 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 20 十二月 2023 09:18:39 +0800
Subject: [PATCH] 海康接口对接开发
---
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListPersonRequest.java | 12
server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java | 48 +
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListRequest.java | 22
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDeviceServiceImpl.java | 132 +++-
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java | 80 +++
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListTemplResponse.java | 10
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 12
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressDetailResponse.java | 11
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.java | 4
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressNumResponse.java | 19
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDoorsServiceImpl.java | 108 ++-
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java | 385 ++++++++++++++-
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java | 16
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListDetailResponse.java | 23
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java | 9
server/dmvisit_service/src/main/java/com/doumee/core/utils/TestUtil.java | 128 +++++
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionResourceRequest.java | 2
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListTimeRequest.java | 11
server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java | 64 ++
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java | 24
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListSortRequest.java | 11
server/dmvisit_service/src/main/java/com/doumee/service/business/HkSyncService.java | 3
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java | 16
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java | 1
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListResponse.java | 13
server/pom.xml | 2
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionPersonRequest.java | 2
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java | 163 +++++-
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressResponse.java | 15
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPrivilegeServiceImpl.java | 114 ++-
30 files changed, 1,223 insertions(+), 237 deletions(-)
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
index c94d5b0..18d255d 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
@@ -1,6 +1,7 @@
package com.doumee.task;
+import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl;
import com.doumee.service.business.impl.hksync.HkSyncImgServiceImpl;
import com.doumee.service.business.impl.hksync.HkSyncOrgUserServiceImpl;
import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
@@ -22,6 +23,8 @@
@Autowired
private HkSyncImgServiceImpl hkSyncImgService;
+ @Autowired
+ private HkSyncEmpowerServiceImpl hkSyncEmpowerService;
@Autowired
private HkSyncOrgUserServiceImpl hkSyncOrgUserService;
@Autowired
@@ -45,25 +48,58 @@
* 瀹氭椂鍚屾缁勭粐淇℃伅鍒版捣搴风郴缁�
* @throws Exception
*/
-// @Scheduled(fixedDelay= 60*1000)
-// public void syncOrgData() {
-// hkSyncOrgUserService.syncOrgData();
-// }
- /**
- * 瀹氭椂鍚屾缁勭粐淇℃伅鍒版捣搴风郴缁�
- * @throws Exception
- */
@Scheduled(fixedDelay= 60*1000)
- public void syncVisitData() {
- hkSyncVisitService.syncVisitData();
+ public void syncOrgData() {
+ hkSyncOrgUserService.syncOrgData();
}
/**
* 瀹氭椂鍚屾鐢ㄦ埛淇℃伅鍒版捣搴风郴缁�
* @throws Exception
*/
-// @Scheduled(fixedDelay= 60*1000)
-// public void syncUserData() {
-// hkSyncImgService.syncUserData();
-// }
+ @Scheduled(fixedDelay= 60*1000)
+ public void syncUserData() {
+ hkSyncOrgUserService.syncUserData();
+ }
+ /**
+ * 瀹氭椂鍚屾鐢宠閫氳繃鐨勮瀹㈡暟鎹埌娴峰悍绯荤粺
+ * @throws Exception
+ */
+ @Scheduled(fixedDelay= 60*1000)
+ public void syncVisitData() {
+ hkSyncVisitService.syncVisitData();
+ }
+ /**
+ * 瀹氭椂鍚屾鍐呴儴浜哄憳鎺堟潈鍒版捣搴风郴缁�
+ * @throws Exception
+ */
+ @Scheduled(fixedDelay= 60*1000)
+ public void syncEmpowerData() {
+ hkSyncEmpowerService.syncEmpowerData();
+ }
+ /**
+ * 瀹氭椂鏌ヨ浜哄憳涓嬪彂娴峰悍缁撴灉锛堜换鍔℃槸鍚﹀凡涓嬭浇缁撴潫锛�
+ * @throws Exception
+ */
+ @Scheduled(fixedDelay= 60*1000)
+ public void syncEmpowerResultData() {
+ hkSyncEmpowerService.syncEmpowerResultData();
+ }
+ /**
+ * 瀹氭椂鏌ヨ浜哄憳瀹為檯涓嬪彂鏉冮檺缁撴灉锛屾槸鍚﹀凡缁忎笅杞芥垚鍔�
+ * @throws Exception
+ */
+ @Scheduled(fixedDelay= 60*1000)
+ public void syncEmpowerDetailData() {
+ hkSyncEmpowerService.syncEmpowerDetailData();
+ }
+ /**
+ * 瀹氭椂鍚屾杞﹁締鍖呮湡鍒版捣搴风郴缁�
+ * @throws Exception
+ */
+ @Scheduled(fixedDelay= 60*1000)
+ public void syncParkBookData() {
+ hkSyncImgService.syncParkBookData();
+ }
+
}
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 bc3991c..9be7741 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
@@ -1,6 +1,7 @@
package com.doumee.core.haikang.model;
import com.doumee.core.utils.Constants;
+import javafx.scene.effect.BlendMode;
import lombok.Data;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,10 +62,87 @@
String taskAddition= "/api/acps/v1/authDownload/task/addition";//鍒涘缓涓嬭浇浠诲姟_鏍规嵁浜哄憳涓庤澶囬�氶亾鎸囧畾涓嬭浇
String taskDataAddition= "/api/acps/v1/authDownload/data/addition";//涓嬭浇浠诲姟涓坊鍔犳暟鎹甠鏍规嵁浜哄憳涓庤澶囬�氶亾鎸囧畾涓嬭浇
String taskStart= "/api/acps/v1/authDownload/task/start";//寮�濮嬩笅杞戒换鍔�
- String taskProgress= "/api/acps/v1/authDownload/task/progress";//鏌ヨ涓嬭浇浠诲姟杩涘害
+ String taskProgressNum= "/api/acps/v1/authDownload/task/progress";//鏌ヨ涓嬭浇浠诲姟杩涘害
+ String taskProgress= "/api/acps/v2/download_record/person/detail/search";//鏌ヨ璁惧閫氶亾鐨勪汉鍛樻潈闄愪笅杞借鎯呮�绘暟v2
+ String authItemList= "/api/acps/v1/auth_item/list/search";//鏌ヨ鏉冮檺鏉$洰鍒楄〃
}
/**
+ * 浠诲嫏椤炲瀷
+ */
+ public enum TASK_TYPE {
+
+ CARD(1, "鍗$墖" ),
+ FACE(2, "浜鸿劯" )
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+
+ // 鏋勯�犳柟娉�
+ TASK_TYPE(int key, String name ) {
+ this.name = name;
+ this.key = key;
+ }
+
+
+ // 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;
+ }
+
+ }
+ /**
+ * 鎿嶄綔绫诲瀷锛�0鏂板锛�1淇敼锛�2鍒犻櫎
+ */
+ public enum OPERA_TYPE {
+
+ ADD(0, "鏂板" ),
+ UDPATE(1, "淇敼" ),
+ DEL(2, "鍒犻櫎" )
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private int key;
+
+ // 鏋勯�犳柟娉�
+ OPERA_TYPE(int key, String name ) {
+ this.name = name;
+ this.key = key;
+ }
+
+
+ // 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 EventTypes {
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 fbe3a4a..11507ce 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
@@ -467,12 +467,23 @@
return result;
}
/**
- * 鏌ヨ涓�鍗¢�氭潈闄愪笅杞戒换鍔¤繘搴�
+ * 鏌ヨ涓�鍗¢�氭潈闄愭煡璇㈣澶囬�氶亾鐨勪汉鍛樻潈闄愪笅杞借鎯呮�绘暟v2
* @param body
* @return
*/
public static String taskProgress(String body) {
Map<String, String> path = getPath(HKConstants.InterfacePath.taskProgress);
+ 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 taskProgressNum(String body) {
+ Map<String, String> path = getPath(HKConstants.InterfacePath.taskProgressNum);
String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post璇锋眰application/json绫诲瀷鍙傛暟
saveInterfaceLog(body,result,path);
return result;
@@ -499,6 +510,17 @@
saveInterfaceLog(body,result,path);
return result;
}
+ /**
+ * 鏌ヨ鏉冮檺鏉$洰鍒楄〃
+ * @param body
+ * @return
+ */
+ public static String authItemList(String body) {
+ Map<String, String> path = getPath(HKConstants.InterfacePath.authItemList);
+ 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/AuthItemListPersonRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListPersonRequest.java
new file mode 100644
index 0000000..eeb1d58
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListPersonRequest.java
@@ -0,0 +1,12 @@
+package com.doumee.core.haikang.model.param.request;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AuthItemListPersonRequest {
+
+ private String personIds;//string True 涓嬭浇浠诲姟鍞竴鏍囪瘑
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListRequest.java
new file mode 100644
index 0000000..c6bfa3d
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListRequest.java
@@ -0,0 +1,22 @@
+package com.doumee.core.haikang.model.param.request;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AuthItemListRequest {
+
+ private List<AuthItemListPersonRequest> personIds;//string True
+ private TaskDataAdditionResourceRequest resourceInfos;// object[] False 璧勬簮璁惧瀵硅薄淇℃伅
+ private String queryType ;//string True 鏌ヨ璧勬簮绫诲瀷锛屽弬鑰冮檮褰旳.50 璁惧閫氶亾绫诲瀷
+ private Integer[] personStatus;// number[] False 浜哄憳鐘舵��0锛氬凡閰嶇疆鏈笅杞�1锛氭洿鏂板緟涓嬭浇2锛氭洿鏂板緟鍒犻櫎3锛氬凡涓嬭浇4锛氭湭閰嶇疆
+ private Integer[] cardStatus;// number[] False 鍗$墖鐘舵��0锛氬凡閰嶇疆鏈笅杞�1锛氭洿鏂板緟涓嬭浇2锛氭洿鏂板緟鍒犻櫎3锛氬凡涓嬭浇4锛氭湭閰嶇疆
+ private Integer[] faceStatus ;//number[] False 浜鸿劯鐘舵��0锛氬凡閰嶇疆鏈笅杞�1锛氭洿鏂板緟涓嬭浇2锛氭洿鏂板緟鍒犻櫎3锛氬凡涓嬭浇4锛氭湭閰嶇疆
+ private AuthItemListTimeRequest configTime;//; object False 閰嶇疆鏃堕棿鏌ヨ瀵硅薄
+ private AuthItemListSortRequest sortObjects ;//object[] False 鐩墠鍙敮鎸侀厤缃椂闂�
+
+ private Integer pageNo ;//number True 椤电爜,pageNo>0
+ private Integer pageSize ;//number True 椤靛ぇ灏�,0<pageSize<=1000
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListSortRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListSortRequest.java
new file mode 100644
index 0000000..33239ec
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListSortRequest.java
@@ -0,0 +1,11 @@
+package com.doumee.core.haikang.model.param.request;
+
+import lombok.Data;
+
+@Data
+public class AuthItemListSortRequest {
+
+ private String startTime;// string False 寮�濮嬫棩鏈�,閲囩敤ISO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-03T17:30:08.000+08:00
+ private String endTime ;//string False 缁撴潫鏃ユ湡,閲囩敤ISO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-03T17:30:08.000+08:00
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListTimeRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListTimeRequest.java
new file mode 100644
index 0000000..697ca25
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/AuthItemListTimeRequest.java
@@ -0,0 +1,11 @@
+package com.doumee.core.haikang.model.param.request;
+
+import lombok.Data;
+
+@Data
+public class AuthItemListTimeRequest {
+
+ private String startTime;// string False 寮�濮嬫棩鏈�,閲囩敤ISO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-03T17:30:08.000+08:00
+ private String endTime ;//string False 缁撴潫鏃ユ湡,閲囩敤ISO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-03T17:30:08.000+08:00
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionPersonRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionPersonRequest.java
index 1087e9f..df28bba 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionPersonRequest.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionPersonRequest.java
@@ -6,7 +6,7 @@
public class TaskDataAdditionPersonRequest {
private String personId ;//string True 浜哄憳Id锛岀郴缁熷唴浜哄憳浠庤幏鍙栦汉鍛樺垪琛╲2 鎺ュ彛鑾峰彇杩斿洖鍙傛暟涓璸ersonId锛岀郴缁熷浜哄憳锛屼汉鍛業d鐢辫皟鐢ㄦ柟鎸囧畾锛屼綔涓轰汉鍛樺敮涓�鏍囧織锛屾渶澶ч暱搴︿负64锛屽寘鍚暟瀛椼�佸瓧姣嶏紙灏忓啓锛夊拰涓垝绾匡紙-锛�
- private String operatorType ;//number True 鎿嶄綔绫诲瀷锛�0鏂板锛�1淇敼锛�2鍒犻櫎
+ private Integer operatorType ;//number True 鎿嶄綔绫诲瀷锛�0鏂板锛�1淇敼锛�2鍒犻櫎
private String startTime ;//string False 寮�濮嬫棩鏈燂紝閰嶇疆浜哄憳鏉冮檺鐨勬湁鏁堟湡锛屼负绌烘椂榛樿闀挎湡鏈夋晥銆傞噰鐢↖SO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-03T17:30:08.000+08:00
private String endTime;// string False 缁撴潫鏃ユ湡锛岄厤缃汉鍛樻潈闄愮殑鏈夋晥鏈燂紝涓虹┖鏃堕粯璁ら暱鏈熸湁鏁堛�傞噰鐢↖SO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-03T17:30:08.000+08:00
private String personType;// number False 浜哄憳绫诲瀷锛岄粯璁や负11. 绯荤粺鍐呬汉鍛�2. 绯荤粺澶栦汉鍛� 涓嬭浇绯荤粺澶栦汉鍛樻椂蹇呭~
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionResourceRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionResourceRequest.java
index 6335305..8ae3c56 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionResourceRequest.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/TaskDataAdditionResourceRequest.java
@@ -7,5 +7,5 @@
private String resourceIndexCode;// string True 璧勬簮鐨勫敮涓�鏍囪瘑锛�32浣嶆暟瀛�+瀛楁瘝锛堝皬鍐欙級瀛楃涓诧紝璧勬簮涓鸿澶囷紝鏍规嵁鑾峰彇璧勬簮鍒楄〃v2鎺ュ彛鑾峰彇杩斿洖鍙傛暟indexCode
private String resourceType;// string True 璧勬簮绫诲瀷,鍙傝�冮檮褰旳.50 璁惧閫氶亾绫诲瀷
- private Integer[] channelNos ;//number[] True 璧勬簮閫氶亾鍙�
+ private String[] channelNos ;//number[] True 璧勬簮閫氶亾鍙�
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListDetailResponse.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListDetailResponse.java
new file mode 100644
index 0000000..3d9818a
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListDetailResponse.java
@@ -0,0 +1,23 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import com.doumee.core.haikang.model.param.request.AuthItemListTimeRequest;
+import lombok.Data;
+
+@Data
+public class AuthItemListDetailResponse {
+
+ private String personId ;//string False 浜哄憳ID
+ private String resourceIndexCode;// string False 璧勬簮鐨勫敮涓�鏍囪瘑
+ private Integer channelNo;// number False 閫氶亾鍙�
+ private String channelIndexCode ;//string False 璧勬簮閫氶亾鍞竴鏍囪瘑锛堝湪鏉冮檺涓嬭浇鍜岄厤缃帴鍙e叆鍙傛椂瀵瑰簲鏌ヨ鎺ュ彛浼氳繑鍥烇紝涓嶄綔涓烘煡璇㈡帴鍙g殑鏌ヨ鏉′欢锛�
+ private AuthItemListTimeRequest templateConfigInfos;// Object[] False 璁″垝妯℃澘淇℃伅
+ private Integer personStatus;// number False 浜哄憳鐘舵��,0锛氬凡閰嶇疆鏈笅杞�1锛氭洿鏂板緟涓嬭浇2锛氭洿鏂板緟鍒犻櫎3锛氬凡涓嬭浇4锛氭湭閰嶇疆
+ private Integer cardStatus ;//number False 鍗$墖鐘舵��,0锛氬凡閰嶇疆鏈笅杞�1锛氭洿鏂板緟涓嬭浇2锛氭洿鏂板緟鍒犻櫎3锛氬凡涓嬭浇4锛氭湭閰嶇疆
+ private Integer faceStatus ;//number False 浜鸿劯鐘舵��,0锛氬凡閰嶇疆鏈笅杞�1锛氭洿鏂板緟涓嬭浇2锛氭洿鏂板緟鍒犻櫎3锛氬凡涓嬭浇4锛氭湭閰嶇疆
+ private String cardJson ;//string False 璁板綍宸蹭笅杞藉埌璁惧鐨勫崱鍙凤紙Map鏍煎紡锛堝崱鍙凤細鐘舵�侊級锛屽叾涓姸鎬�(0鏀瑰彉琛ㄧず涓嬭浇鍚庡崱鐗囩殑淇℃伅鍙堝彉鍖栦簡锛�1宸蹭笅杞�)锛�
+ private String configTime ;//string False 閰嶇疆鏃堕棿,閲囩敤ISO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-03T17:30:08.000+08:00
+ private String startTime;// string False 浜哄憳鏉冮檺鏈夋晥鏈燂紙浠ヤ汉涓轰腑蹇冭澶囨椂浣跨敤锛�,寮�濮嬫椂闂�,閲囩敤ISO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-03T17:30:08.000+08:00
+ private String endTime ;//string False 浜哄憳鏉冮檺鏈夋晥鏈燂紙浠ヤ汉涓轰腑蹇冭澶囨椂浣跨敤锛�,寮�濮嬫棩鏈�,閲囩敤ISO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-03T17:30:08.000+08:00
+ private String personExtendJson;// body string 鍚�
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListResponse.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListResponse.java
new file mode 100644
index 0000000..5783820
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListResponse.java
@@ -0,0 +1,13 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class AuthItemListResponse {
+
+ private Integer total;// number False 鎬绘潯鏁�
+ private List<AuthItemListDetailResponse> list;//object[] False 璁惧閫氶亾鐨勪笅杞借褰�
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListTemplResponse.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListTemplResponse.java
new file mode 100644
index 0000000..8938f28
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/AuthItemListTemplResponse.java
@@ -0,0 +1,10 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import lombok.Data;
+
+@Data
+public class AuthItemListTemplResponse {
+
+ private Integer dimension ;//number False 缁村害,鑼冨洿锛�1-4锛屾敮鎸�4缁村害璁″垝妯℃澘閰嶇疆
+ private String templateId;// string False 璁″垝妯℃澘Id锛屽叏澶╁�欒鍒掓ā鏉夸负1
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressDetailResponse.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressDetailResponse.java
new file mode 100644
index 0000000..035a441
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressDetailResponse.java
@@ -0,0 +1,11 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import lombok.Data;
+
+@Data
+public class TaskProgressDetailResponse {
+ private String downloadResultId;// string False 涓嬭浇璁板綍鍞竴ID
+ private String personId;// string False 浜哄憳缂栫爜
+ private String persondownloadResult;// string False 涓嬭浇璁板綍鐘舵�侊紙鍙湁鎴愬姛/澶辫触鐘舵�侊紝0:鎴愬姛,1:澶辫触锛�
+ private String downloadTime ;//string False 涓嬭浇鏃堕棿锛岄噰鐢↖SO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressNumResponse.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressNumResponse.java
new file mode 100644
index 0000000..3ecc14c
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressNumResponse.java
@@ -0,0 +1,19 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import lombok.Data;
+
+@Data
+public class TaskProgressNumResponse {
+
+ private String taskId ;//string False 涓嬭浇浠诲姟鍞竴鏍囪瘑锛�32浣嶆暟瀛�+瀛楁瘝瀛楃涓�
+
+ private String tagId;// string False 鏍囩,鐢ㄤ簬鍖哄垎涓嶅悓涓氬姟缁勪欢锛屽缓璁娇鐢ㄧ粍浠舵爣璇嗐�傚彧鏀寔1-32涓暟瀛楀拰灏忓啓瀛楁瘝銆�
+ private Integer taskType;// number False 涓嬭浇浠诲姟绫诲瀷 ,鍙傝�冮檮褰旳.53 浠诲姟涓嬭浇绫诲瀷璇存槑
+ private Integer taskOptType;//number False 浠诲姟鎿嶄綔绫诲瀷0:鍒濆鍖栦笅杞�,銆�1:寮傚姩涓嬭浇, 2:鎸囧畾涓嬭浇-鏅�氫换鍔�, 3:鎸囧畾涓嬭浇-蹇�熶换鍔�,4鑷姩涓嬭浇, 5:鍚屾涓嬭浇
+ private String startTime ;//string False 涓嬭浇寮�濮嬫椂闂� 閲囩敤ISO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-03T17:30:08.000+08:00
+ private Integer totalPercent ;//number False 涓嬭浇鎬昏繘搴�
+ private Integer leftTime;// number False 涓嬭浇鍓╀綑鏃堕棿
+ private Integer consumeTime ;//number False 涓嬭浇鎬荤敤鏃�
+ private Boolean isDownloadFinished;// boolean False 涓嬭浇鏄惁缁撴潫
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressResponse.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressResponse.java
index 167e7b2..9c919da 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressResponse.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TaskProgressResponse.java
@@ -2,19 +2,12 @@
import lombok.Data;
+import java.util.List;
+
@Data
public class TaskProgressResponse {
- private String taskId ;//string False 涓嬭浇浠诲姟鍞竴鏍囪瘑锛�32浣嶆暟瀛�+瀛楁瘝瀛楃涓�
-
- private String tagId;// string False 鏍囩,鐢ㄤ簬鍖哄垎涓嶅悓涓氬姟缁勪欢锛屽缓璁娇鐢ㄧ粍浠舵爣璇嗐�傚彧鏀寔1-32涓暟瀛楀拰灏忓啓瀛楁瘝銆�
- private Integer taskType;// number False 涓嬭浇浠诲姟绫诲瀷 ,鍙傝�冮檮褰旳.53 浠诲姟涓嬭浇绫诲瀷璇存槑
- private Integer taskOptType;//number False 浠诲姟鎿嶄綔绫诲瀷0:鍒濆鍖栦笅杞�,銆�1:寮傚姩涓嬭浇, 2:鎸囧畾涓嬭浇-鏅�氫换鍔�, 3:鎸囧畾涓嬭浇-蹇�熶换鍔�,4鑷姩涓嬭浇, 5:鍚屾涓嬭浇
- private String startTime ;//string False 涓嬭浇寮�濮嬫椂闂� 閲囩敤ISO8601鏃堕棿鏍煎紡锛屾渶澶ч暱搴�32涓瓧绗︼紝濡�2018-09-03T17:30:08.000+08:00
- private Integer totalPercent ;//number False 涓嬭浇鎬昏繘搴�
- private Integer leftTime;// number False 涓嬭浇鍓╀綑鏃堕棿
- private Integer consumeTime ;//number False 涓嬭浇鎬荤敤鏃�
- private Boolean isDownloadFinished;// boolean False 涓嬭浇鏄惁缁撴潫
- private String resourceDownloadProgress;// object[] False 璧勬簮涓嬭浇璇︽儏
+ private Integer total;// number False 鎬绘潯鏁�
+ private List<TaskProgressDetailResponse> list;//object[] False 璁惧閫氶亾鐨勪笅杞借褰�
}
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 c7af861..42270b4 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
@@ -602,18 +602,60 @@
*娴峰悍涓�鍗¢�氫换鍔¤繘搴︽煡璇�
* @return
*/
- public static BaseResponse<TaskProgressResponse> taskDataAddition(TaskProgressRequest param){
+ public static BaseResponse<TaskProgressNumResponse> taskProgressNum(TaskProgressRequest param){
log.info("銆愭捣搴蜂竴鍗¢�氫换鍔¤繘搴︽煡璇€��================寮�濮�===="+JSONObject.toJSONString(param));
+ String res = null;
+ try {
+ res = HKTools.taskProgressNum(JSONObject.toJSONString(param));
+ TypeReference typeReference =
+ new TypeReference< BaseResponse<TaskProgressNumResponse> >(){};
+ BaseResponse<TaskProgressNumResponse> result = JSONObject.parseObject(res, typeReference.getType());
+ logResult(result,"娴峰悍涓�鍗¢�氫换鍔¤繘搴︽煡璇�");
+ return result;
+ }catch (Exception e){
+ log.error("銆愭捣搴蜂竴鍗¢�氫换鍔¤繘搴︽煡璇€��================澶辫触====锛歕n"+ e.getMessage());
+ }finally {
+ // saveInterfaceLog(param,res);
+ }
+ return null;
+ }
+ /**
+ *娴峰悍涓�鍗¢�氳澶囬�氶亾鐨勪汉鍛樻潈闄愪笅杞借鎯呮�绘暟v2
+ * @return
+ */
+ public static BaseResponse<TaskProgressResponse> taskProgress(TaskProgressRequest param){
+ log.info("銆愭捣搴蜂竴鍗¢�氳澶囬�氶亾鐨勪汉鍛樻潈闄愪笅杞借鎯呮�绘暟銆�================寮�濮�===="+JSONObject.toJSONString(param));
String res = null;
try {
res = HKTools.taskProgress(JSONObject.toJSONString(param));
TypeReference typeReference =
new TypeReference< BaseResponse<TaskProgressResponse> >(){};
BaseResponse<TaskProgressResponse> result = JSONObject.parseObject(res, typeReference.getType());
- logResult(result,"娴峰悍涓�鍗¢�氫换鍔¤繘搴︽煡璇�");
+ logResult(result,"娴峰悍涓�鍗¢�氳澶囬�氶亾鐨勪汉鍛樻潈闄愪笅杞借鎯呮�绘暟");
return result;
}catch (Exception e){
- log.error("銆愭捣搴蜂竴鍗¢�氫换鍔¤繘搴︽煡璇€��================澶辫触====锛歕n"+ e.getMessage());
+ log.error("銆愭捣搴蜂竴鍗¢�氳澶囬�氶亾鐨勪汉鍛樻潈闄愪笅杞借鎯呮�绘暟銆�================澶辫触====锛歕n"+ e.getMessage());
+ }finally {
+ // saveInterfaceLog(param,res);
+ }
+ return null;
+ }
+ /**
+ *娴峰悍鏌ヨ鏉冮檺鏉$洰鍒楄〃
+ * @return
+ */
+ public static BaseResponse<AuthItemListResponse> authItemList(AuthItemListRequest param){
+ log.info("銆愭捣搴锋煡璇㈡潈闄愭潯鐩垪琛ㄣ��================寮�濮�===="+JSONObject.toJSONString(param));
+ String res = null;
+ try {
+ res = HKTools.authItemList(JSONObject.toJSONString(param));
+ TypeReference typeReference =
+ new TypeReference< BaseResponse<AuthItemListResponse> >(){};
+ BaseResponse<AuthItemListResponse> result = JSONObject.parseObject(res, typeReference.getType());
+ logResult(result,"娴峰悍鏌ヨ鏉冮檺鏉$洰鍒楄〃");
+ return result;
+ }catch (Exception e){
+ log.error("銆愭捣搴锋煡璇㈡潈闄愭潯鐩垪琛ㄣ��================澶辫触====锛歕n"+ e.getMessage());
}finally {
// saveInterfaceLog(param,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 22ac061..e1ea0ee 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
@@ -62,12 +62,17 @@
public static final String ERP_USERSTATUS_RL ="ERP_USERSTATUS_RL" ;
public static final String ERP ="ERP" ;
public static final Integer THREE =3 ;
-
+ public static boolean DEALING_HK_SYNCPRIVILEGE= false;
+ public static boolean DEALING_HK_SYNCDEVICE = false;
+ public static boolean DEALING_HK_SYNCPARK = false;
public static boolean DEALING_HK_IMG = false;
public static boolean DEALING_HK_ORG = false;
public static boolean DEALING_HK_USER = false;
public static boolean DEALING_HK_VISIT = false;
public static boolean DEALING_HK_EMPOWER = false;
+ public static boolean DEALING_HK_EMPOWER_DETAIL = false;
+ public static boolean DEALING_HK_EMPOWER_RESULT = false;
+ public static boolean DEALING_HK_PARKBOOK = false;
// ERP鎺ュ彛閰嶇疆
public static final String ERP_CONFIG = "ERP_CONFIG";
// ERP ACCESS_KEY
@@ -165,6 +170,15 @@
int xfFail = 6;
int signout = 7;
}
+ public interface EmpowerStatus{
+ //涓�鍗¢�氭巿鏉冧笅鍙戠姸鎬� 0寰呬笅鍙� 1宸蹭笅鍙� 2涓嬪彂鎴愬姛 3宸插彇娑� 4涓嬪彂澶辫触 5浠诲姟涓嬭浇宸茬粨鏉�
+ int wait = 0;
+ int ing = 1;
+ int pass = 2;
+ int cancel = 3;
+ int fail = 4;
+ int downloaded = 5;
+ }
public interface DOOR_ROLE_TYPE{
int lw = 0;
int fk = 1;
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/TestUtil.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/TestUtil.java
new file mode 100644
index 0000000..4f871d6
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/TestUtil.java
@@ -0,0 +1,128 @@
+//package com.doumee.core.utils;
+//
+//import java.awt.image.BufferedImage;
+//import java.io.ByteArrayOutputStream;
+//import java.io.File;
+//import java.io.FileOutputStream;
+//import java.io.IOException;
+//import java.net.URL;
+//import java.util.stream.IntStream;
+//import javax.imageio.ImageIO;
+//import org.apache.poi.ss.usermodel.Cell;
+//import org.apache.poi.ss.usermodel.Row;
+//import org.apache.poi.ss.usermodel.Sheet;
+//import org.apache.poi.ss.usermodel.Workbook;
+//import org.apache.poi.ss.usermodel.WorkbookFactory;
+//import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
+//import org.apache.poi.xssf.usermodel.XSSFDrawing;
+//import org.apache.poi.xssf.usermodel.XSSFGraphicFrame;
+//import org.apache.poi.xssf.usermodel.XSSFShape;
+//import org.apache.poi.xssf.usermodel.XSSFSheet;
+//import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+//import com.itextpdf.text.BaseColor;
+//import com.itextpdf.text.Document;
+//import com.itextpdf.text.DocumentException;
+//import com.itextpdf.text.Element;
+//import com.itextpdf.text.Font;
+//import com.itextpdf.text.Image;
+//import com.itextpdf.text.PageSize;
+//import com.itextpdf.text.Paragraph;
+//import com.itextpdf.text.pdf.PdfPCell;
+//import com.itextpdf.text.pdf.PdfPTable;
+//import com.itextpdf.text.pdf.PdfWriter;
+//
+//public class TestUtil {
+// public static void main(String[] args) {
+// try (Workbook workbook = WorkbookFactory.create(new File("example.xlsx"));
+// FileOutputStream fos = new FileOutputStream("example.pdf")) {
+// Document document = new Document(PageSize.A4, 50, 50, 50, 50);
+// PdfWriter writer = PdfWriter.getInstance(document, fos);
+// document.open();
+// for (Sheet sheet : workbook) {
+// PdfPTable table = new PdfPTable(sheet.getRow(0).getLastCellNum());
+// table.setHeaderRows(1);
+// table.setWidths(IntStream.range(0, sheet.getRow(0).getLastCellNum()).mapToDouble(i -> 1).toArray());
+// table.setWidthPercentage(100);
+// Paragraph title = new Paragraph(sheet.getSheetName(), new Font(BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED), 16, Font.BOLD));
+// title.setAlignment(Element.ALIGN_CENTER);
+// document.add(title);
+// sheet.forEach(row -> {
+// IntStream.range(0, row.getLastCellNum()).forEach(i -> {
+// Cell cell = row.getCell(i);
+// PdfPCell pdfCell = null;
+// try {
+// pdfCell = new PdfPCell(new Paragraph(cell.getStringCellValue(), new Font(BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED), 12)));
+// } catch (DocumentException e) {
+// throw new RuntimeException(e);
+// } catch (IOException e) {
+// throw new RuntimeException(e);
+// }
+// pdfCell.setBorderWidth(1f);
+// pdfCell.setBorderColor(BaseColor.BLACK);
+// pdfCell.setPadding(5f);
+// if (row.getRowNum() == 0) {
+// pdfCell.setBackgroundColor(BaseColor.LIGHT_GRAY);
+// }
+// table.addCell(pdfCell);
+// if (cell.getCellType() == CellType.BLANK || cell.getCellType() == CellType.FORMULA || cell.getCellType() == CellType.ERROR || cell.getCellType() == CellType.STRING && cell.getStringCellValue().trim().isEmpty() || cell.getCellType() == CellType.NUMERIC && cell.getNumericCellValue() == 0 || cell.getCellType() == CellType.BOOLEAN && !cell.getBooleanCellValue() || cell.getCellType() == CellType.STRING && cell.getStringCellValue().startsWith("#") || cell.getCellType() == CellType.FORMULA && cell.getCellFormula().startsWith("#") || cell.getCellType() == CellType.STRING && cell.getStringCellValue().startsWith("=") || cell.getCellType() == CellType.FORMULA && cell.getCellFormula().startsWith("=") || cell.getCellType() == CellType.STRING && cell.getStringCellValue().startsWith("@") || cell.getCellType() == CellType.FORMULA && cell.getCellFormula().startsWith("@") || cell.getCellType() == CellType.STRING && cell.getStringCellValue().startsWith("'") || cell.getCellType() == CellType.FORMULA && cell.getCellFormula().startsWith("'")) {
+// return;
+// }
+// if (cell.getCellType() == CellType.STRING && cell.getStringCellValue().startsWith("http")) {
+// try {
+// BufferedImage image = ImageIO.read(new URL(cell.getStringCellValue()));
+// if (image != null) {
+// addImageToTable(table, image);
+// }
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// } else {
+// if (sheet instanceof XSSFSheet) {
+// XSSFSheet xssfSheet = (XSSFSheet) sheet;
+// XSSFDrawing drawing = xssfSheet.createDrawingPatriarch();
+// for (XSSFShape shape : drawing.getShapes()) {
+// if (shape instanceof XSSFClientAnchor) {
+// XSSFClientAnchor anchor = (XSSFClientAnchor) shape.getAnchor();
+// if (anchor.getRow1() == cell.getRowIndex() && anchor.getCol1() == cell.getColumnIndex()) {
+// if (shape instanceof XSSFGraphicFrame) {
+// XSSFGraphicFrame frame = (XSSFGraphicFrame) shape;
+// BufferedImage image = frame.getGraphic().getBufferedImage();
+// try {
+// addImageToTable(table, image);
+// } catch (Exception e) {
+// throw new RuntimeException(e);
+// }
+// }
+// }
+// }
+// }
+// }
+// }
+// });
+// });
+// table.setSpacingBefore(20f);
+// table.setSpacingAfter(20f);
+// table.setKeepTogether(true);
+// document.add(table);
+// }
+// document.close();
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// }
+//
+// private static void addImageToTable(PdfPTable table, BufferedImage image) throws Exception {
+// ByteArrayOutputStream baos = new ByteArrayOutputStream();
+// ImageIO.write(image, "png", baos);
+// baos.flush();
+// byte[] imageData = baos.toByteArray();
+// baos.close();
+// Image pdfImage = Image.getInstance(imageData);
+// pdfImage.scaleToFit(100f, 100f);
+// PdfPCell imageCell = new PdfPCell(pdfImage, true);
+// imageCell.setBorderWidth(1f);
+// imageCell.setBorderColor(BaseColor.BLACK);
+// imageCell.setPadding(5f);
+// table.addCell(imageCell);
+// }
+//}
\ No newline at end of file
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java
index b783383..3d380a9 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java
@@ -118,8 +118,8 @@
@TableField(exist = false)
private String createrName;
- @ApiModelProperty(value = "涓嬪彂鐘舵�� 0寰呬笅鍙� 1宸蹭笅鍙� 2宸插彇娑�", example = "1")
- @ExcelColumn(name="涓嬪彂鐘舵��",index= 8,valueMapping ="0=寰呬笅鍙�;1=宸蹭笅鍙�;2=宸插彇娑�" )
+ @ApiModelProperty(value = "涓嬪彂鐘舵�� 0寰呬笅鍙� 1宸蹭笅鍙� 2涓嬪彂鎴愬姛 3宸插彇娑� 4涓嬪彂澶辫触 ", example = "1")
+ @ExcelColumn(name="涓嬪彂鐘舵��",index= 8,valueMapping ="0=寰呬笅鍙�;1=宸蹭笅鍙�;2=涓嬪彂鎴愬姛;3=宸插彇娑�;4=涓嬪彂澶辫触" )
private Integer sendStatus;
@ApiModelProperty(value = "涓嬪彂绫诲瀷 0瀹炴椂 1瀹氭椂 ", example = "1")
@@ -147,5 +147,17 @@
@ApiModelProperty(value = "鏃堕棿娈�0锛�7,30")
@TableField(exist = false)
private Integer timeDn;
+ @ApiModelProperty(value = "鏃堕棿娈�0锛�7,30")
+ @TableField(exist = false)
+ private String deviceChannelNo;
+ @ApiModelProperty(value = "娴峰悍璁惧绫诲瀷code")
+ @TableField(exist = false)
+ private String deviceType;
+ @ApiModelProperty(value = "娴峰悍璁惧ode")
+ @TableField(exist = false)
+ private String deviceIndexCode;
+ @ApiModelProperty(value = "浜哄憳娴峰悍缂栫爜")
+ @TableField(exist = false)
+ private String memberHkId;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.java
index bc37b58..08f2fb6 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/ParkBook.java
@@ -132,5 +132,9 @@
@ExcelColumn(name="閮ㄩ棬")
@TableField(exist = false)
private String companyName;
+ @ApiModelProperty(value = "鍋滆溅搴撴捣搴风紪鐮�", example = "1")
+ @ExcelColumn(name="鍋滆溅搴撴捣搴风紪鐮�")
+ @TableField(exist = false)
+ private String parkHkId;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/HkSyncService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/HkSyncService.java
index 7d6c554..faf672b 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/HkSyncService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/HkSyncService.java
@@ -60,4 +60,7 @@
void syncVisitData();
void syncEmpowerData();
+ void syncParkBookData();
+ void syncEmpowerResultData();
+ void syncEmpowerDetailData();
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
index f38dd29..436a7bc 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java
@@ -814,10 +814,13 @@
*/
private void dealMemberRoleEmpower(Member member, List<Integer> doorIds,Date startTime,Date endTime ) {
//鍒犻櫎鎵�鏈夎�佺殑鎺堟潈淇℃伅
- empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+// empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
+// .eq(Empower::getMemberId,member.getId())
+// .set(Empower::getIsdeleted,Constants.ONE)
+// .set(Empower::getSendStatus,Constants.ZERO)
+// );
+ empowerMapper.delete(new UpdateWrapper<Empower>().lambda()
.eq(Empower::getMemberId,member.getId())
- .set(Empower::getIsdeleted,Constants.ONE)
- .set(Empower::getSendStatus,Constants.ZERO)
);
if(doorIds==null || doorIds.size() == 0){
return;
@@ -949,8 +952,7 @@
try{
if(Objects.isNull(param)
||Objects.isNull(param.getId())
- ||Objects.isNull(param.getStatus())
- ){
+ ||Objects.isNull(param.getStatus())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
if(!(param.getStatus()==Constants.ZERO||param.getStatus()==Constants.ONE)){
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 e243cd2..9f44dd3 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
@@ -85,5 +85,14 @@
@Override
public void syncEmpowerData() {
}
+ @Override
+ public void syncParkBookData() {
+ }
+ @Override
+ public void syncEmpowerResultData() {
+ }
+ @Override
+ public void syncEmpowerDetailData() {
+ }
}
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 285c101..6e24bd8 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
@@ -7,10 +7,9 @@
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.DoorsListRequest;
import com.doumee.core.haikang.model.param.request.ParkListRequest;
-import com.doumee.core.haikang.model.param.respose.AcsDeviceInfoResponse;
-import com.doumee.core.haikang.model.param.respose.AcsDeviceListResponse;
-import com.doumee.core.haikang.model.param.respose.ParkListResponse;
+import com.doumee.core.haikang.model.param.respose.*;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
@@ -45,26 +44,85 @@
@Override
// @Async
public String syncHkDevices(AcsDeviceListRequest param){
- List<Device> deleteList = new ArrayList<>();
- List<Device> addList = new ArrayList<>();
- List<Device> editList = new ArrayList<>();
- List<AcsDeviceInfoResponse> allHkList = new ArrayList<>();
+ if(Constants.DEALING_HK_SYNCDEVICE){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鍚屾浠诲姟姝e湪鎵ц鍝︼紝璇风◢鍚庢煡鐪嬬粨鏋滐紒") ;
+ }
+ Constants.DEALING_HK_SYNCDEVICE =true;
+ try {
+ List<Device> deleteList = new ArrayList<>();
+ List<Device> addList = new ArrayList<>();
+ List<Device> editList = new ArrayList<>();
+ List<AcsDeviceInfoResponse> allHkList = new ArrayList<>();
+ Date date = new Date();
+ //鏌ヨ鍏ㄩ儴闂ㄧ璁惧鏁版嵁
+ List<Device> allList = deviceMapper.selectList(null);
+ boolean hasNext = true;
+ int curTotal = 0;
+ int curPage = 1;
+ while (hasNext){
+ //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
+ param = new AcsDeviceListRequest();
+ param.setPageNo(curPage);
+ param.setPageSize(100);
+ BaseResponse<AcsDeviceListResponse> response = HKService.acsDeviceList(param);
+ if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
+ }
+ AcsDeviceListResponse r = response.getData();
+ curTotal += 100;
+ if(curTotal >= r.getTotal()){
+ hasNext = false;
+ }
+ if(r.getList() == null || r.getList().size()==0){
+ hasNext =false;
+ }else{
+ allHkList.addAll(r.getList());
+ }
+ curPage++;
+ }
+ /**
+ * 鑾峰彇澧炲垹鏀规暟鎹泦鍚�
+ */
+ getDataChangeList(allList,allHkList,addList,editList,deleteList,date);
+ if(deleteList.size()>0){
+ //閫昏緫鍒犻櫎
+ for(Device d : deleteList){
+ deviceMapper.updateById(d);
+ }
+ }
+ if(addList.size()>0){
+ deviceMapper.insertBatchSomeColumn(addList);
+ }
+ if(editList.size()>0){
+ for(Device d : editList){
+ deviceMapper.updateById(d);
+ }
+ }
+ return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+editList.size()+"銆戞潯锛屽垹闄ゃ��"+deleteList.size()+"銆戞潯";
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "鍚屾澶辫触锛�");
+ }finally {
+ Constants.DEALING_HK_SYNCDEVICE =false;
+ }
+ }
+
+ public List<DoorsInfoResponse> getAllDoorList(){
+ List<DoorsInfoResponse> allDoorList = new ArrayList<>();
Date date = new Date();
- //鏌ヨ鍏ㄩ儴闂ㄧ璁惧鏁版嵁
- List<Device> allList = deviceMapper.selectList(null);
boolean hasNext = true;
int curTotal = 0;
int curPage = 1;
while (hasNext){
//鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
- param = new AcsDeviceListRequest();
+ DoorsListRequest param = new DoorsListRequest();
param.setPageNo(curPage);
param.setPageSize(100);
- BaseResponse<AcsDeviceListResponse> response = HKService.acsDeviceList(param);
+ BaseResponse<DoorsListResponse> response = HKService.doorSearch(param);
if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
}
- AcsDeviceListResponse r = response.getData();
+ DoorsListResponse r = response.getData();
curTotal += 100;
if(curTotal >= r.getTotal()){
hasNext = false;
@@ -72,43 +130,27 @@
if(r.getList() == null || r.getList().size()==0){
hasNext =false;
}else{
- allHkList.addAll(r.getList());
+ allDoorList.addAll(r.getList());
}
curPage++;
}
- /**
- * 鑾峰彇澧炲垹鏀规暟鎹泦鍚�
- */
- getDataChangeList(allList,allHkList,addList,editList,deleteList,date);
- if(deleteList.size()>0){
- //閫昏緫鍒犻櫎
- for(Device d : deleteList){
- deviceMapper.updateById(d);
- }
- }
- if(addList.size()>0){
- deviceMapper.insertBatchSomeColumn(addList);
- }
- if(editList.size()>0){
- for(Device d : editList){
- deviceMapper.updateById(d);
- }
- }
- return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+editList.size()+"銆戞潯锛屽垹闄ゃ��"+deleteList.size()+"銆戞潯";
+ return allDoorList;
}
private void getDataChangeList(List<Device> allList, List<AcsDeviceInfoResponse> allHkList, List<Device> addList, List<Device> editList,List<Device> deleteList, Date date) {
if(allHkList!=null && allHkList.size()>0){
+ //鑾峰彇娴峰悍鍏ㄩ儴闂ㄧ缁勬暟鎹�
+ List<DoorsInfoResponse> hkDoorList = getAllDoorList();
for(AcsDeviceInfoResponse device : allHkList){
Device model = getExistedDevice(device,allList);
if(model !=null){
//濡傛灉宸插瓨鍦紝鍒欐洿鏂版暟鎹�
- model = initDataByHkData(model,device,date);
+ model = initDataByHkData(model,device,date,hkDoorList);
editList.add(model);
}else{
//濡傛灉涓嶅瓨鍦紝鍒欐柊澧炴暟鎹�
model = new Device();
- model = initDataByHkData(model,device,date);
+ model = initDataByHkData(model,device,date,hkDoorList);
addList.add(model);
}
}
@@ -124,7 +166,7 @@
* @param date
* @return
*/
- private Device initDataByHkData(Device model, AcsDeviceInfoResponse device,Date date) {
+ private Device initDataByHkData(Device model, AcsDeviceInfoResponse device,Date date, List<DoorsInfoResponse> hkDoorList) {
model.setIsdeleted(Constants.ZERO);
model.setIp(device.getIp());
model.setHkDate(date);
@@ -137,7 +179,7 @@
model.setManufature(device.getManufacturer());
model.setType(Constants.ZERO);
// model.setNo(device.getDevSerialNum());
-// model.setChannelNo(device);
+ model.setChannelNo(getChannelNo(device.getIndexCode(),hkDoorList));
model.setResourceType(device.getResourceType());
model.setDevTypeCode(device.getDevTypeCode());
model.setManufature(device.getManufacturer());
@@ -146,6 +188,24 @@
return model;
}
+ private String getChannelNo(String indexCode, List<DoorsInfoResponse> hkDoorList) {
+ String str = "";
+ if(hkDoorList!=null && hkDoorList.size()>0){
+ for(DoorsInfoResponse info : hkDoorList){
+ if(StringUtils.equals(indexCode,info.getParentIndexCode())){
+ if(StringUtils.isBlank(info.getChannelNo())){
+ continue;
+ }
+ if(StringUtils.isNotBlank(str)){
+ str += ",";
+ }
+ str+=info.getChannelNo();
+ }
+ }
+ }
+ return str;
+ }
+
private Device getExistedDevice(AcsDeviceInfoResponse device, List<Device> allList) {
if(allList.size()>0){
for(Device r : allList){
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDoorsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDoorsServiceImpl.java
index 5ff883d..cd1be6c 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDoorsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncDoorsServiceImpl.java
@@ -7,10 +7,8 @@
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.DoorsListRequest;
+import com.doumee.core.haikang.model.param.respose.*;
import com.doumee.core.haikang.model.param.respose.DoorsInfoResponse;
-import com.doumee.core.haikang.model.param.respose.AcsDeviceListResponse;
-import com.doumee.core.haikang.model.param.respose.DoorsInfoResponse;
-import com.doumee.core.haikang.model.param.respose.DoorsListResponse;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
@@ -43,56 +41,68 @@
@Override
// @Async
public String syncDoors(DoorsListRequest param){
- List<Device> deleteList = new ArrayList<>();
- List<Device> addList = new ArrayList<>();
- List<Device> editList = new ArrayList<>();
- List<DoorsInfoResponse> allHkList = new ArrayList<>();
- Date date = new Date();
- //鏌ヨ鍏ㄩ儴闂ㄧ璁惧鏁版嵁
- List<Device> allList = deviceMapper.selectList(null);
- boolean hasNext = true;
- int curTotal = 0;
- int curPage = 1;
- while (hasNext){
- //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
- param = new DoorsListRequest();
- param.setPageNo(curPage);
- param.setPageSize(100);
- BaseResponse<DoorsListResponse> response = HKService.doorSearch(param);
- if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
- throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
- }
- DoorsListResponse r = response.getData();
- curTotal += 100;
- if(curTotal >= r.getTotal()){
- hasNext = false;
- }
- if(r.getList() == null || r.getList().size()==0){
- hasNext =false;
- }else{
- allHkList.addAll(r.getList());
- }
- curPage++;
+ if(Constants.DEALING_HK_SYNCDEVICE){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鍚屾浠诲姟姝e湪鎵ц鍝︼紝璇风◢鍚庢煡鐪嬬粨鏋滐紒") ;
}
- /**
- * 鑾峰彇澧炲垹鏀规暟鎹泦鍚�
- */
- getDataChangeList(allList,allHkList,addList,editList,deleteList,date);
- if(deleteList.size()>0){
- //閫昏緫鍒犻櫎
- for(Device d : deleteList){
- deviceMapper.updateById(d);
+ Constants.DEALING_HK_SYNCDEVICE =true;
+ try {
+ List<Device> deleteList = new ArrayList<>();
+ List<Device> addList = new ArrayList<>();
+ List<Device> editList = new ArrayList<>();
+ List<DoorsInfoResponse> allHkList = new ArrayList<>();
+ Date date = new Date();
+ //鏌ヨ鍏ㄩ儴闂ㄧ璁惧鏁版嵁
+ List<Device> allList = deviceMapper.selectList(null);
+ boolean hasNext = true;
+ int curTotal = 0;
+ int curPage = 1;
+ while (hasNext){
+ //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
+ param = new DoorsListRequest();
+ param.setPageNo(curPage);
+ param.setPageSize(100);
+ BaseResponse<DoorsListResponse> response = HKService.doorSearch(param);
+ if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
+ }
+ DoorsListResponse r = response.getData();
+ curTotal += 100;
+ if(curTotal >= r.getTotal()){
+ hasNext = false;
+ }
+ if(r.getList() == null || r.getList().size()==0){
+ hasNext =false;
+ }else{
+ allHkList.addAll(r.getList());
+ }
+ curPage++;
}
- }
- if(addList.size()>0){
- deviceMapper.insertBatchSomeColumn(addList);
- }
- if(editList.size()>0){
- for(Device d : editList){
- deviceMapper.updateById(d);
+ /**
+ * 鑾峰彇澧炲垹鏀规暟鎹泦鍚�
+ */
+ getDataChangeList(allList,allHkList,addList,editList,deleteList,date);
+ if(deleteList.size()>0){
+ //閫昏緫鍒犻櫎
+ for(Device d : deleteList){
+ deviceMapper.updateById(d);
+ }
}
+ if(addList.size()>0){
+ deviceMapper.insertBatchSomeColumn(addList);
+ }
+ if(editList.size()>0){
+ for(Device d : editList){
+ deviceMapper.updateById(d);
+ }
+ }
+ return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+editList.size()+"銆戞潯锛屽垹闄ゃ��"+deleteList.size()+"銆戞潯";
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "鍚屾澶辫触锛�");
+ }finally {
+ Constants.DEALING_HK_SYNCDEVICE =false;
}
- return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+editList.size()+"銆戞潯锛屽垹闄ゃ��"+deleteList.size()+"銆戞潯";
+
}
private void getDataChangeList(List<Device> allList, List<DoorsInfoResponse> allHkList, List<Device> addList, List<Device> editList,List<Device> deleteList, Date date) {
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
index 2e89198..b201c67 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -1,14 +1,20 @@
package com.doumee.service.business.impl.hksync;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+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.VisitAppointmentRequest;
-import com.doumee.core.haikang.model.param.respose.VisitAppointmentResponse;
+import com.doumee.core.haikang.model.param.request.*;
+import com.doumee.core.haikang.model.param.respose.*;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.business.DeviceMapper;
import com.doumee.dao.business.join.EmpowerJoinMapper;
import com.doumee.dao.business.join.VisitsJoinMapper;
+import com.doumee.dao.business.model.Device;
import com.doumee.dao.business.model.Empower;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Visits;
@@ -18,6 +24,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -30,48 +37,119 @@
@Slf4j
public class HkSyncEmpowerServiceImpl extends HkSyncBaseServiceImpl {
@Autowired
- private EmpowerJoinMapper empowerJoinMapper;
+ private EmpowerJoinMapper empowerMapper;
+ @Autowired
+ private DeviceMapper deviceMapper;
/**
- * 鍚屾娴峰悍缁勭粐淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭�
+ * 瀹氭椂鏌ヨ鏉冮檺涓嬪彂浠诲姟杩涘害鎵ц缁撴灉
*/
@Override
- public void syncEmpowerData(){
+ public void syncEmpowerDetailData(){
+ if(Constants.DEALING_HK_EMPOWER_DETAIL){
+ return ;
+ }
+ Constants.DEALING_HK_EMPOWER_DETAIL = true;
+ try {
+ //鏌ヨ鎵�鏈夊畬鎴愪笅杞斤紝寰呮煡璇㈢粨鏋滅殑鏁版嵁璁板綍
+ List<Empower> list = getDealListDetail();
+ if(list == null || list.size() ==0){
+ return;
+ }
+ for(Empower c : list){
+ AuthItemListRequest param = new AuthItemListRequest();
+ param.setPageNo(1);
+ param.setPageSize(100);
+ param.setPersonIds(new ArrayList<>());
+ AuthItemListPersonRequest p = new AuthItemListPersonRequest();
+ p.setPersonIds(c.getMemberHkId());
+ param.getPersonIds().add(p);
+ TaskDataAdditionResourceRequest rec = new TaskDataAdditionResourceRequest();
+ rec.setResourceIndexCode(c.getDeviceIndexCode());
+ rec.setResourceType(c.getDeviceType());
+ rec.setChannelNos(c.getDeviceChannelNo().split(","));
+ param.setResourceInfos(rec);
+ //鏌ヨ宸蹭笅杞�
+ param.setPersonStatus(new Integer[]{3});
+ //鏌ヨ涓嬪彂鐘舵��
+ BaseResponse<AuthItemListResponse> response = HKService.authItemList(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
+ && response.getData()!=null
+ && response.getData().getList() != null
+ && response.getData().getList().size()>0 ){
+ //鏇存柊宸插畬鎴愪笅杞戒换鍔�
+ empowerMapper.update(null,new UpdateWrapper<Empower>()
+ .lambda()
+ .eq(Empower::getHkId,c.getHkId() )
+ .set(Empower::getSendStatus,Constants.EmpowerStatus.pass) );
+
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }finally {
+ Constants.DEALING_HK_EMPOWER_DETAIL=false;
+ }
+
+ }
+ /**
+ * 瀹氭椂鏌ヨ鏉冮檺涓嬪彂浠诲姟杩涘害鎵ц缁撴灉
+ */
+ @Override
+ public void syncEmpowerResultData(){
+ if(Constants.DEALING_HK_EMPOWER_RESULT){
+ return ;
+ }
+ Constants.DEALING_HK_EMPOWER_RESULT=true;
+ try {
+ //鏌ヨ鎵�鏈夋墽琛屼腑寰楁暟鎹�
+ List<Empower> list = getIngTaskListResult();
+ if(list == null || list.size() ==0){
+ return;
+ }
+ for(Empower c : list){
+ TaskProgressRequest param = new TaskProgressRequest();
+ param.setTaskId(c.getHkId());
+ //鏌ヨ涓嬪彂鐘舵��
+ BaseResponse<TaskProgressNumResponse> response = HKService.taskProgressNum(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
+ && response.getData()!=null
+ && response.getData().getIsDownloadFinished() != null
+ && response.getData().getIsDownloadFinished() ){
+ //鏇存柊宸插畬鎴愪笅杞戒换鍔�
+ empowerMapper.update(null,new UpdateWrapper<Empower>()
+ .lambda()
+ .eq(Empower::getHkId,c.getHkId() )
+ .set(Empower::getSendStatus,Constants.EmpowerStatus.downloaded) );
+
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }finally {
+ Constants.DEALING_HK_EMPOWER_RESULT =false;
+ }
+
+ }
+
+
+
+ /**
+ * 澶勭悊浜哄憳鎺堟潈鏁版嵁锛屽畾鏃朵笅鍙�
+ */
+ @Override
+ public void syncEmpowerData() {
if(Constants.DEALING_HK_EMPOWER){
return ;
}
Constants.DEALING_HK_EMPOWER =true;
try {
- //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑浼佷笟鏁版嵁
-
- MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
- queryWrapper.selectAll(Empower.class);
- queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName)
- .select("t1.hk_id as receptMemberHkId")
- .leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
- queryWrapper.eq(Visits::getStatus,Constants.VisitStatus.pass)//瀹℃壒閫氳繃
- .eq(Visits::getHkStatus,Constants.ZERO)//鏈悓姝ュ埌娴峰悍
- .orderByAsc(Visits::getCreateDate);
- List<Empower> list = empowerJoinMapper.selectJoinList(Empower.class,queryWrapper);
- if(list ==null || list.size()==0){
- return;
- }
- Date date = new Date();
- for(Empower c : list) {
- //鍒犻櫎鐨勬暟鎹紝杩涜鍒犻櫎
- VisitAppointmentRequest request = new VisitAppointmentRequest();
- BaseResponse<VisitAppointmentResponse> response = HKService.visitAppiontment(request);
- if (response != null
- && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)
- &&response.getData()!=null
- &&StringUtils.isNotBlank(response.getData().getAppointRecordId())) {
- //娴峰悍涓嬪彂鎴愬姛
- c.setHkId( response.getData().getAppointRecordId());//棰勭害鏍囪瘑
- } else {
- //娴峰悍涓嬪彂鎴愬姛
- }
- empowerJoinMapper.updateById(c);
- }
+ //鍏堝垹闄ゆ墍鏈夐渶瑕佸彇娑堟巿鏉冪殑鏁版嵁
+// dealDelListTask(getDealList(Constants.ONE));
+ //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁
+ dealNewListTask(getDealList(Constants.ZERO));
}catch (Exception e){
e.printStackTrace();
}finally {
@@ -79,4 +157,241 @@
}
}
+ private void dealDelListTask(List<Empower> list) {
+ //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
+ if(list ==null || list.size()==0){
+ return;
+ }
+ Date date = new Date();
+ //鍒涘缓浠诲姟
+ String taskId = hkTaskAddtion();
+ List<Empower> successList = new ArrayList<>();
+ List<Empower> errorList = new ArrayList<>();
+ for(Empower c : list) {
+ //鍚戜换鍔℃坊鍔犱汉鍛樸�佽澶囦俊鎭暟鎹�
+ if(addTaskData(c,taskId,HKConstants.OPERA_TYPE.DEL.getKey())){
+ successList.add(c);
+ }else{
+ errorList.add(c);
+ }
+ }
+ if(successList.size()>0){
+ //寮�濮嬫墽琛屼笅鍙�
+ boolean status = startTask(taskId);
+ for(Empower model : successList){
+ Empower update = new Empower();
+ update.setId(model.getId());
+ update.setSendDate(date);
+ update.setEditDate(date);
+ update.setHkId(taskId);
+ update.setRemark(status?"涓嬪彂浠诲姟鎴愬姛":"涓嬪彂浠诲姟澶辫触");
+ //涓嬪彂涓�
+ update.setSendStatus(status?Constants.EmpowerStatus.ing:Constants.EmpowerStatus.fail);
+ }
+ }
+ for(Empower model : errorList){
+ Empower update = new Empower();
+ update.setId(model.getId());
+ update.setSendDate(date);
+ update.setEditDate(date);
+ update.setHkId(taskId);
+ update.setSendStatus(Constants.EmpowerStatus.fail);
+ update.setRemark( "娣诲姞涓嬪彂浠诲姟鏁版嵁鍒櫎鎺堟潈澶辫触");
+ empowerMapper.updateById(update);
+ }
+ }
+
+ private void dealNewListTask(List<Empower> list) {
+ //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
+ if(list ==null || list.size()==0){
+ return;
+ }
+ clearAllEmpowerFirst(list);
+ Date date = new Date();
+ //鍒涘缓浠诲姟
+ String taskId = hkTaskAddtion();
+ List<Empower> successList = new ArrayList<>();
+ List<Empower> errorList = new ArrayList<>();
+ for(Empower c : list) {
+ //鍚戜换鍔℃坊鍔犱汉鍛樸�佽澶囦俊鎭暟鎹�
+ if(addTaskData(c,taskId,HKConstants.OPERA_TYPE.ADD.getKey())){
+ successList.add(c);
+ }else{
+ errorList.add(c);
+ }
+ }
+ if(successList.size()>0){
+ //寮�濮嬫墽琛屼笅鍙�
+ boolean status = startTask(taskId);
+ for(Empower model : successList){
+ Empower update = new Empower();
+ update.setId(model.getId());
+ update.setSendDate(date);
+ update.setEditDate(date);
+ update.setHkId(taskId);
+ update.setRemark(status?"涓嬪彂浠诲姟鎴愬姛":"涓嬪彂浠诲姟澶辫触");
+ //涓嬪彂涓�
+ update.setSendStatus(status?Constants.EmpowerStatus.ing:Constants.EmpowerStatus.fail);
+ empowerMapper.updateById(update);
+ }
+ }
+
+ for(Empower model : errorList){
+ Empower update = new Empower();
+ update.setId(model.getId());
+ update.setSendDate(date);
+ update.setEditDate(date);
+ update.setHkId(taskId);
+ update.setSendStatus(Constants.EmpowerStatus.fail);
+ update.setRemark( "娣诲姞涓嬪彂浠诲姟鏁版嵁澶辫触");
+ empowerMapper.updateById(update);
+ }
+
+
+ }
+
+ private void clearAllEmpowerFirst(List<Empower> list) {
+ //鏌ヨ鍏ㄩ儴鏁版嵁
+ List<Device> allDevice = deviceMapper.selectList(new QueryWrapper<Device>().lambda().isNotNull(Device::getHkId));
+ //鍒涘缓浠诲姟
+ String taskId = hkTaskAddtion();
+ for(Empower c : list) {
+ //鍚戜换鍔℃坊鍔犱汉鍛樸�佽澶囦俊鎭暟鎹�
+ addTaskDataAll(c,taskId,allDevice);
+ }
+ startTask(taskId);
+ }
+
+ private boolean addTaskData(Empower c,String taskId,int type) {
+ if(StringUtils.isBlank(c.getMemberHkId() )
+ ||StringUtils.isBlank(c.getDeviceChannelNo())
+ ||StringUtils.isBlank(c.getDeviceType())
+ ||StringUtils.isBlank(c.getDeviceIndexCode())){
+ //蹇呭~鍙傛暟鏍¢獙
+ return false;
+ }
+ TaskDataAdditionRequest param = new TaskDataAdditionRequest();
+ param.setTaskId(taskId);
+ List<TaskDataAdditionResourceRequest> resourceInfos = new ArrayList<>();// object[] True 璧勬簮瀵硅薄
+ TaskDataAdditionResourceRequest res = new TaskDataAdditionResourceRequest();
+ res.setChannelNos(c.getDeviceChannelNo().split(","));
+ res.setResourceType(c.getDeviceType());
+ res.setResourceIndexCode(c.getDeviceIndexCode());
+ resourceInfos.add(res);
+ List<TaskDataAdditionPersonRequest> personInfos = new ArrayList<>();
+ TaskDataAdditionPersonRequest pinfo = new TaskDataAdditionPersonRequest();
+ pinfo.setName(c.getMemberName());
+ pinfo.setEndTime(DateUtil.getISO8601Timestamp(c.getEndTime()));
+ pinfo.setStartTime(DateUtil.getISO8601Timestamp(c.getStartTime()));
+ pinfo.setOperatorType(type);
+ pinfo.setPersonId(c.getMemberHkId());
+ param.setResourceInfos(resourceInfos);
+ param.setPersonInfos(personInfos);
+ BaseResponse response = HKService.taskDataAddition(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ return true;
+ }else{
+ return false;
+ }
+ }
+ private boolean addTaskDataAll(Empower c,String taskId,List<Device> deviceList) {
+ if(StringUtils.isBlank(c.getMemberHkId() )
+ ||StringUtils.isBlank(c.getDeviceChannelNo())
+ ||StringUtils.isBlank(c.getDeviceType())
+ ||StringUtils.isBlank(c.getDeviceIndexCode())){
+ //蹇呭~鍙傛暟鏍¢獙
+ return false;
+ }
+ TaskDataAdditionRequest param = new TaskDataAdditionRequest();
+ param.setTaskId(taskId);
+ List<TaskDataAdditionResourceRequest> resourceInfos = new ArrayList<>();// object[] True 璧勬簮瀵硅薄
+ for(Device d:deviceList){
+ TaskDataAdditionResourceRequest res = new TaskDataAdditionResourceRequest();
+ res.setChannelNos(d.getChannelNo().split(","));
+ res.setResourceType(d.getResourceType());
+ res.setResourceIndexCode(c.getDeviceIndexCode());
+ resourceInfos.add(res);
+ }
+ List<TaskDataAdditionPersonRequest> personInfos = new ArrayList<>();
+ TaskDataAdditionPersonRequest pinfo = new TaskDataAdditionPersonRequest();
+ pinfo.setName(c.getMemberName());
+ pinfo.setEndTime(DateUtil.getISO8601Timestamp(c.getEndTime()));
+ pinfo.setStartTime(DateUtil.getISO8601Timestamp(c.getStartTime()));
+ pinfo.setOperatorType(HKConstants.OPERA_TYPE.DEL.getKey());
+ pinfo.setPersonId(c.getMemberHkId());
+ param.setResourceInfos(resourceInfos);
+ param.setPersonInfos(personInfos);
+ BaseResponse response = HKService.taskDataAddition(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ private boolean startTask(String taskId) {
+ TaskProgressRequest param = new TaskProgressRequest();
+ param.setTaskId(taskId);
+ BaseResponse response = HKService.taskStart(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ private String hkTaskAddtion() {
+ TaskAdditionRequest param = new TaskAdditionRequest();
+ param.setTaskType(HKConstants.TASK_TYPE.FACE.getKey());
+ BaseResponse<TaskAdditionResponse> response = HKService.taskAddition(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)
+ && response.getData()!=null
+ && StringUtils.isNotBlank(response.getData().getTaskId())){
+ return response.getData().getTaskId();
+ }else{
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "娴峰悍鍒涘缓涓嬭浇浠诲姟澶辫触==================");
+ }
+ }
+
+ private List<Empower> getDealList(int del ) {
+ MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Empower.class);
+ queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
+ queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
+ queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
+ queryWrapper.selectAs(Device::getResourceType,Empower::getDeviceType);
+ queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
+ queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
+ queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.wait);
+// queryWrapper.eq( Empower::getIsdeleted,del);
+// queryWrapper.last("limit 100");//姣忔闄愬埗涓嬪彂100涓�
+ List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
+ return list;
+ }
+ private List<Empower> getDealListDetail() {
+ MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Empower.class);
+ queryWrapper.selectAs(Device::getChannelNo,Empower::getDeviceChannelNo);
+ queryWrapper.selectAs(Member::getHkId,Empower::getMemberHkId);
+ queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
+ queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
+ queryWrapper.selectAs(Device::getDevTypeCode,Empower::getDeviceType);
+ queryWrapper.leftJoin(Device.class,Device::getId,Empower::getDeviceId);
+ queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.downloaded);
+ List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
+ return list;
+ }
+ private List<Empower> getIngTaskListResult() {
+ MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Empower.class);
+ queryWrapper.eq(Empower::getSendStatus,Constants.EmpowerStatus.ing);
+ queryWrapper.groupBy(Empower::getHkId);
+ List<Empower> list = empowerMapper.selectJoinList(Empower.class,queryWrapper);
+ return list;
+ }
+
}
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 5a769c6..de60719 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
@@ -1,10 +1,13 @@
package com.doumee.service.business.impl.hksync;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.CarChargeAddRequest;
+import com.doumee.core.haikang.model.param.request.CarChargeDelRequest;
import com.doumee.core.haikang.model.param.request.ParkListRequest;
import com.doumee.core.haikang.model.param.respose.AcsDeviceInfoResponse;
import com.doumee.core.haikang.model.param.respose.AcsDeviceListResponse;
@@ -13,9 +16,12 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.DeviceMapper;
+import com.doumee.dao.business.ParkBookMapper;
import com.doumee.dao.business.ParksMapper;
-import com.doumee.dao.business.model.Device;
-import com.doumee.dao.business.model.Parks;
+import com.doumee.dao.business.join.ParkBookJoinMapper;
+import com.doumee.dao.business.join.ParksJoinMapper;
+import com.doumee.dao.business.model.*;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -34,7 +40,97 @@
@Autowired
private ParksMapper parksMapper;
+ @Autowired
+ private ParkBookJoinMapper parkBookMapper;
+ @Override
+ public void syncParkBookData() {
+ if(Constants.DEALING_HK_PARKBOOK){
+ return ;
+ }
+ Constants.DEALING_HK_PARKBOOK =true;
+ try {
+ //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁
+ List<ParkBook> list =getDealList ();
+ if(list ==null || list.size()==0){
+ return;
+ }
+ Date date = new Date();
+ //鍏堝嚭鎵�鏈夐渶瑕佸彇娑堝寘鏈熺殑鏁版嵁璁板綍
+ for(ParkBook c : list) {
+ if(Constants.equalsObject(c.getIsdeleted(),Constants.ONE)){
+ //濡傛灉鍙栨秷棰勭害锛屽垯杩涜鍙栨秷鍖呮湡
+ if(StringUtils.isNotBlank(c.getParkHkId())
+ && StringUtils.isNotBlank(c.getCarCode())){
+ boolean result = cancelParkBookHk(c);
+ c.setHkStatus(result?Constants.ONE:Constants.TWO);
+ }else{
+ c.setHkStatus(Constants.TWO);//涓嬪彂澶辫触
+ }
+ c.setHkDate(date);
+ parkBookMapper.updateById(c);
+ }
+ }
+ //澶勭悊鎵�鏈夐渶瑕佸寘鏈熺殑杞﹁締鏁版嵁璁板綍
+ for(ParkBook c : list) {
+ if(Constants.equalsObject(c.getIsdeleted(),Constants.ONE)) {
+ //鍒犻櫎鐨勫凡澶勭悊锛岃烦杩囧鐞�
+ continue;
+ }
+ //鏁版嵁涓嶅悎娉曪紝鐩存帴鎻愮ず涓嬪彂澶辫触
+ if(StringUtils.isNotBlank(c.getParkHkId())
+ && StringUtils.isNotBlank(c.getCarCode())){
+ boolean result = addParkBookHk(c);
+ c.setHkStatus(result?Constants.ONE:Constants.TWO);
+ }else{
+ c.setHkStatus(Constants.TWO);
+ }
+ c.setHkDate(date);
+ parkBookMapper.updateById(c);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }finally {
+ Constants.DEALING_HK_PARKBOOK =false;
+ }
+ }
+
+ private boolean addParkBookHk(ParkBook c) {
+ CarChargeAddRequest param = new CarChargeAddRequest();
+ param.setPlateNo(c.getCarCode());
+ param.setParkSyscode(c.getParkHkId());
+ param.setStartTime(DateUtil.getISO8601Timestamp(c.getStartTime()));
+ param.setEndTime(DateUtil.getISO8601Timestamp(c.getEndTime()));
+ BaseResponse response = HKService.carChargeAddtion(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ return true;
+ }else{
+ return false;
+ }
+ }
+ private boolean cancelParkBookHk(ParkBook c) {
+ CarChargeDelRequest param = new CarChargeDelRequest();
+ param.setPlateNo(c.getCarCode());
+ param.setParkSyscode(c.getParkHkId());
+ BaseResponse response = HKService.carChargeDeletion(param);
+ if(response!=null
+ && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ private List<ParkBook> getDealList() {
+ MPJLambdaWrapper<ParkBook> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(ParkBook.class);
+ queryWrapper.selectAs(Parks::getHkId,ParkBook::getParkHkId);
+ queryWrapper.leftJoin(Parks.class,Parks::getId,ParkBook::getParkId);
+ queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
+ List<ParkBook> list = parkBookMapper.selectJoinList(ParkBook.class,queryWrapper);
+ return list;
+ }
/**
* 鍚屾娴峰悍鍋滆溅搴撴暟鎹�
* @param param
@@ -43,36 +139,47 @@
@Override
// @Async
public String syncHkParks(ParkListRequest param){
- List<Parks> deleteList = new ArrayList<>();
- List<Parks> addList = new ArrayList<>();
- List<Parks> editList = new ArrayList<>();
- Date date = new Date();
- //鏌ヨ鍏ㄩ儴褰撳墠鏁版嵁
- List<Parks> allList = parksMapper.selectList(null);
+ if(Constants.DEALING_HK_SYNCPRIVILEGE){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鍚屾浠诲姟姝e湪鎵ц鍝︼紝璇风◢鍚庢煡鐪嬬粨鏋滐紒") ;
+ }
+ Constants.DEALING_HK_SYNCPRIVILEGE =true;
+ try {
+ List<Parks> deleteList = new ArrayList<>();
+ List<Parks> addList = new ArrayList<>();
+ List<Parks> editList = new ArrayList<>();
+ Date date = new Date();
+ //鏌ヨ鍏ㄩ儴褰撳墠鏁版嵁
+ List<Parks> allList = parksMapper.selectList(null);
//鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
- param = new ParkListRequest();
- BaseResponse<List<ParkListResponse>> response = HKService.parkList(param);
- if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
- throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
- }
- List<ParkListResponse> allHkList = response.getData();
- // 鑾峰彇澧炲垹鏀规暟鎹泦鍚�
- getDataChangeList(allList,allHkList,addList,editList,deleteList,date);
- if(deleteList.size()>0){
- //閫昏緫鍒犻櫎
- for(Parks d : deleteList){
- parksMapper.updateById(d);
+ param = new ParkListRequest();
+ BaseResponse<List<ParkListResponse>> response = HKService.parkList(param);
+ if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
}
- }
- if(addList.size()>0){
- parksMapper.insertBatchSomeColumn(addList);
- }
- if(editList.size()>0){
- for(Parks d : editList){
- parksMapper.updateById(d);
+ List<ParkListResponse> allHkList = response.getData();
+ // 鑾峰彇澧炲垹鏀规暟鎹泦鍚�
+ getDataChangeList(allList,allHkList,addList,editList,deleteList,date);
+ if(deleteList.size()>0){
+ //閫昏緫鍒犻櫎
+ for(Parks d : deleteList){
+ parksMapper.updateById(d);
+ }
}
+ if(addList.size()>0){
+ parksMapper.insertBatchSomeColumn(addList);
+ }
+ if(editList.size()>0){
+ for(Parks d : editList){
+ parksMapper.updateById(d);
+ }
+ }
+ return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+editList.size()+"銆戞潯锛屽垹闄ゃ��"+deleteList.size()+"銆戞潯";
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "鍚屾澶辫触锛�");
+ }finally {
+ Constants.DEALING_HK_SYNCPRIVILEGE =false;
}
- return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+editList.size()+"銆戞潯锛屽垹闄ゃ��"+deleteList.size()+"銆戞潯";
}
private void getDataChangeList(List<Parks> allList, List<ParkListResponse> allHkList, List<Parks> addList, List<Parks> editList,List<Parks> deleteList, Date date) {
if(allHkList!=null && allHkList.size()>0){
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 f8bd711..c8c8824 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
@@ -5,12 +5,16 @@
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.PrivilegeGroupRequest;
+import com.doumee.core.haikang.model.param.respose.AcsDeviceInfoResponse;
+import com.doumee.core.haikang.model.param.respose.AcsDeviceListResponse;
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.Device;
import com.doumee.dao.business.model.DeviceRole;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -38,59 +42,71 @@
@Override
// @Async
public String syncPrivilege(PrivilegeGroupRequest param){
- List<DeviceRole> deleteList = new ArrayList<>();
- List<DeviceRole> addList = new ArrayList<>();
- List<DeviceRole> editList = new ArrayList<>();
- List<PrivilegeGroupInfoResponse> allHkList = new ArrayList<>();
- Date date = new Date();
- //鏌ヨ鍏ㄩ儴鐜版湁鏁版嵁锛屽彧绠$悊鍚屾 璁垮缁�
- List<Integer> types = new ArrayList<>();
- types.add(Constants.DOOR_ROLE_TYPE.fk);
- types.add(Constants.DOOR_ROLE_TYPE.lw);
- List<DeviceRole> allList = DeviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda().in(DeviceRole::getType,types));
- boolean hasNext = true;
- int curTotal = 0;
- int curPage = 1;
- while (hasNext){
- //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
- param = new PrivilegeGroupRequest();
- param.setPageNo(curPage);
- param.setPageSize(100);
- BaseResponse<PrivilegeGroupListResponse> response = HKService.privilegeGroup(param);
- if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
- throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
- }
- PrivilegeGroupListResponse r = response.getData();
- curTotal += 100;
- if(curTotal >= r.getTotal()){
- hasNext = false;
- }
- if(r.getList() == null || r.getList().size()==0){
- hasNext =false;
- }else{
- allHkList.addAll(r.getList());
- }
- curPage ++;
+ if(Constants.DEALING_HK_SYNCDEVICE){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鍚屾浠诲姟姝e湪鎵ц鍝︼紝璇风◢鍚庢煡鐪嬬粨鏋滐紒") ;
}
- /**
- * 鑾峰彇澧炲垹鏀规暟鎹泦鍚�
- */
- getDataChangeList(allList,allHkList,addList,editList,deleteList,date);
- if(deleteList.size()>0){
- //閫昏緫鍒犻櫎
- for(DeviceRole d : deleteList){
- DeviceRoleMapper.updateById(d);
+ Constants.DEALING_HK_SYNCDEVICE =true;
+ try {
+ List<DeviceRole> deleteList = new ArrayList<>();
+ List<DeviceRole> addList = new ArrayList<>();
+ List<DeviceRole> editList = new ArrayList<>();
+ List<PrivilegeGroupInfoResponse> allHkList = new ArrayList<>();
+ Date date = new Date();
+ //鏌ヨ鍏ㄩ儴鐜版湁鏁版嵁锛屽彧绠$悊鍚屾 璁垮缁�
+ List<Integer> types = new ArrayList<>();
+ types.add(Constants.DOOR_ROLE_TYPE.fk);
+ types.add(Constants.DOOR_ROLE_TYPE.lw);
+ List<DeviceRole> allList = DeviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda().in(DeviceRole::getType,types));
+ boolean hasNext = true;
+ int curTotal = 0;
+ int curPage = 1;
+ while (hasNext){
+ //鍒嗛〉閬嶅巻寰幆鏌ヨ鎵�鏈夐棬绂佽澶囨暟鎹�
+ param = new PrivilegeGroupRequest();
+ param.setPageNo(curPage);
+ param.setPageSize(100);
+ BaseResponse<PrivilegeGroupListResponse> response = HKService.privilegeGroup(param);
+ if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝娴峰悍鍚屾鏁版嵁澶辫触~");
+ }
+ PrivilegeGroupListResponse r = response.getData();
+ curTotal += 100;
+ if(curTotal >= r.getTotal()){
+ hasNext = false;
+ }
+ if(r.getList() == null || r.getList().size()==0){
+ hasNext =false;
+ }else{
+ allHkList.addAll(r.getList());
+ }
+ curPage ++;
}
- }
- if(addList.size()>0){
- DeviceRoleMapper.insertBatchSomeColumn(addList);
- }
- if(editList.size()>0){
- for(DeviceRole d : editList){
- DeviceRoleMapper.updateById(d);
+ /**
+ * 鑾峰彇澧炲垹鏀规暟鎹泦鍚�
+ */
+ getDataChangeList(allList,allHkList,addList,editList,deleteList,date);
+ if(deleteList.size()>0){
+ //閫昏緫鍒犻櫎
+ for(DeviceRole d : deleteList){
+ DeviceRoleMapper.updateById(d);
+ }
}
+ if(addList.size()>0){
+ DeviceRoleMapper.insertBatchSomeColumn(addList);
+ }
+ if(editList.size()>0){
+ for(DeviceRole d : editList){
+ DeviceRoleMapper.updateById(d);
+ }
+ }
+ return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+editList.size()+"銆戞潯锛屽垹闄ゃ��"+deleteList.size()+"銆戞潯";
+ }catch (Exception e){
+ e.printStackTrace();
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "鍚屾澶辫触锛�");
+ }finally {
+ Constants.DEALING_HK_SYNCDEVICE =false;
}
- return "鍚屾鏁版嵁锛氭柊澧炪��"+addList.size()+"銆戞潯锛屾洿鏂般��"+editList.size()+"銆戞潯锛屽垹闄ゃ��"+deleteList.size()+"銆戞潯";
+
}
private void getDataChangeList(List<DeviceRole> allList, List<PrivilegeGroupInfoResponse> allHkList, List<DeviceRole> addList, List<DeviceRole> editList,List<DeviceRole> deleteList, Date date) {
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
index 174a8be..45c3843 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -118,6 +118,7 @@
* 鏍规嵁棰勭害杩斿洖鎺ュ彛灏佽鐢宠璁板綍鏇存柊瀛楁
* @param c
* @param date
+ * @param date
* @param type 0闇�瑕佺櫥璁� 1鍏嶇櫥璁�
*/
private void getUpdateModelByResponse( Visits c,Date date,String type,List<DeviceRole> roleList,String path ) {
diff --git a/server/pom.xml b/server/pom.xml
index 172d776..6044bf1 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -280,6 +280,8 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
+
+
</dependencies>
<build>
<plugins>
--
Gitblit v1.9.3