From 9645ca1ea0ca880eff9bb0ba2138fad2b012f3e1 Mon Sep 17 00:00:00 2001
From: lishuai <260038442@qq.com>
Date: 星期一, 18 十二月 2023 17:30:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java | 5
server/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java | 10
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java | 36 +
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java | 2
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java | 83 +++
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/erp/ErpSyncServiceImpl.java | 130 +++++
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/OrgOrUserAddSuccessResponse.java | 1
server/dmvisit_service/src/main/java/com/doumee/dao/business/join/EmpowerJoinMapper.java | 13
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java | 172 +++++++
server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java | 3
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java | 82 +++
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/EmpowerServiceImpl.java | 132 ++---
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Empower.java | 112 +++-
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/DoorEventListResponse.java | 2
server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java | 7
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/VisitAppointmentMDJResponse.java | 2
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncBaseServiceImpl.java | 6
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java | 10
server/dmvisit_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java | 131 ++++++
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/UserDelRequest.java | 13
server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/UserListRespone.java | 5
server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java | 11
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java | 2
server/dmvisit_service/src/main/java/com/doumee/service/business/HkSyncService.java | 3
server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java | 5
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 28
server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java | 2
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java | 220 ++++++++++
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java | 12
server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java | 12
server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberMapper.java | 3
31 files changed, 1,076 insertions(+), 179 deletions(-)
diff --git a/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java b/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java
index 890a6af..355479e 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/api/business/VisitsController.java
@@ -87,4 +87,11 @@
public ApiResponse findById(@PathVariable Integer id) {
return ApiResponse.success(visitsService.findById(id));
}
+
+ @ApiOperation("婊炵暀浜哄憳")
+ @PostMapping("/retentionPage")
+ // @RequiresPermissions("business:visits:query")
+ public ApiResponse<PageData<Visits>> retentionPage (@RequestBody PageWrap<Visits> pageWrap) {
+ return ApiResponse.success(visitsService.retentionPage(pageWrap));
+ }
}
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 3ad095e..8818ff7 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
@@ -3,6 +3,7 @@
import com.doumee.service.business.impl.hksync.HkSyncImgServiceImpl;
import com.doumee.service.business.impl.hksync.HkSyncOrgUserServiceImpl;
+import com.doumee.service.business.impl.hksync.HkSyncVisitServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.EnableScheduling;
@@ -23,6 +24,8 @@
private HkSyncImgServiceImpl hkSyncImgService;
@Autowired
private HkSyncOrgUserServiceImpl hkSyncOrgUserService;
+ @Autowired
+ private HkSyncVisitServiceImpl hkSyncVisitService;
/**
* 鏄惁寮�鍙戣��
*/
@@ -47,6 +50,14 @@
hkSyncOrgUserService.syncOrgData();
}
/**
+ * 瀹氭椂鍚屾缁勭粐淇℃伅鍒版捣搴风郴缁�
+ * @throws Exception
+ */
+ @Scheduled(fixedDelay= 60*1000)
+ public void syncVisitData() {
+ hkSyncVisitService.syncVisitData();
+ }
+ /**
* 瀹氭椂鍚屾鐢ㄦ埛淇℃伅鍒版捣搴风郴缁�
* @throws Exception
*/
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java
index 5f60374..e82c1a1 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/request/UserUpdateRequest.java
@@ -43,5 +43,8 @@
private List<String> cardList;
@ApiModelProperty(value = "鎺堟潈闂ㄧ缁勭紪鐮侀泦鍚�,銆愯瀹㈢銆戝敮涓�鏍囪瘑" )
private Integer[] roleIds;
-
+ @ApiModelProperty(value = "鎺堟潈鏈夋晥鏈燂紙寮�濮嬫椂闂达級锛屼负绌烘椂榛樿闀挎湡鏈夋晥锛屽2023-11-24 11:39:23" )
+ private Date validStartTime;
+ @ApiModelProperty(value = "鎺堟潈鏈夋晥鏈燂紙鎴鏃堕棿锛夛紝涓虹┖鏃堕粯璁ら暱鏈熸湁鏁堬紝濡�2023-11-24 11:39:23" )
+ private Date validEndTime;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/DoorEventListResponse.java b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/DoorEventListResponse.java
index 4acbb65..e8d7889 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/DoorEventListResponse.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/DoorEventListResponse.java
@@ -14,7 +14,7 @@
public class DoorEventListResponse {
@ApiModelProperty(value = "鍞竴鏍囪瘑" ,example = "1")
- private Integer eventId;
+ private String eventId;
@ApiModelProperty(value = "浜嬩欢绫诲瀷 0-浜鸿劯璁よ瘉閫氳繃锛�196893锛� 1-鍒峰崱璁よ瘉閫氳繃锛�198915锛�" )
private String eventType;
@ApiModelProperty(value = "鎬у埆 1-鐢� 2-濂�" ,example = "1")
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/UserListRespone.java b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/UserListRespone.java
index 165f570..2b7159f 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/UserListRespone.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/erp/model/openapi/response/erp/UserListRespone.java
@@ -22,7 +22,7 @@
@ApiModel("浜哄憳淇℃伅鍚屾杩斿洖淇℃伅")
public class UserListRespone {
@ApiModelProperty(value = "鍞竴鏍囪瘑" ,example = "1")
- private Integer id;
+ private String id;
@ApiModelProperty(value = "濮撳悕" )
private String name;
@ApiModelProperty(value = "韬唤璇佸彿" )
@@ -40,12 +40,11 @@
@ApiModelProperty(value = "鏇存柊鏃堕棿,濡�2023-11-24 09:47:36")
private Date editDate;
@ApiModelProperty(value = "鎵�灞炵粍缁囩紪鐮�")
- private String orgId;
+ private Integer orgId;
@ApiModelProperty(value = "浜鸿劯鐓х墖鍦板潃,鍥剧墖鍏綉璁块棶鍦板潃")
private String faceImg;
@ApiModelProperty(value = "宸ュ彿")
private String code;
-
@ApiModelProperty(value = "鎵嬫満鍙�" , required = true)
private String phone;
@ApiModelProperty(value = "鍗″彿闆嗗悎" )
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 9d6d3c8..74a05c3 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
@@ -9,7 +9,8 @@
public class HKConstants {
public static final String IMG_INDEX ="HKIMG=" ;
public static final String IMG_INDEX_ERROR ="HKIMG_ERROR=" ;
- public static final String RES_INDEX = "DM_";
+ public static final String RES_ORG_INDEX = "DMO";
+ public static final String RES_USER_INDEX = "DMU";
private Logger logger = LoggerFactory.getLogger(HKConstants.class);
//娴峰悍骞冲彴鏍规嵁鐜板満鐜閰嶇疆http杩樻槸https
public static final String RESPONSE_SUCCEE = "0";
@@ -102,6 +103,39 @@
}
}
+ public enum ReturnCode {
+
+ PARK_LINE_IN("0x00072001", "璧勬簮淇℃伅涓嶅瓨鍦�" )
+ ;
+ // 鎴愬憳鍙橀噺
+ private String name;
+ private String key;
+
+ // 鏋勯�犳柟娉�
+ ReturnCode(String 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 String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ }
/**
* 椤旇壊鏋氫妇
*/
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/UserDelRequest.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/UserDelRequest.java
new file mode 100644
index 0000000..50b72ea
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/UserDelRequest.java
@@ -0,0 +1,13 @@
+package com.doumee.core.haikang.model.param.request;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 鐢ㄦ埛鏂板璇锋眰鍙傛暟
+ */
+@Data
+public class UserDelRequest {
+ private String[] personIds;// string[] True 浜哄憳Id锛屽崟娆℃搷浣滀笂闄愪负1000鏉°�� 鑾峰彇浜哄憳鍒楄〃v2 鎺ュ彛鑾峰彇杩斿洖鍙傛暟personId
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/OrgOrUserAddSuccessResponse.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/OrgOrUserAddSuccessResponse.java
index 2902311..dd1c680 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/OrgOrUserAddSuccessResponse.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/OrgOrUserAddSuccessResponse.java
@@ -7,4 +7,5 @@
private String clientId;// number False 璋冪敤鏂规寚瀹欼d
private String orgIndexCode;// string False 鏈嶅姟绔敓鎴愮殑鍞竴鏍囪瘑
+ private String personId;// string False 鏈嶅姟绔敓鎴愮殑鍞竴鏍囪瘑
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/VisitAppointmentVistorResponse.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/VisitAppointmentMDJResponse.java
similarity index 95%
rename from server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/VisitAppointmentVistorResponse.java
rename to server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/VisitAppointmentMDJResponse.java
index a611d64..65f7e11 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/VisitAppointmentVistorResponse.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/VisitAppointmentMDJResponse.java
@@ -3,7 +3,7 @@
import lombok.Data;
@Data
-public class VisitAppointmentVistorResponse {
+public class VisitAppointmentMDJResponse {
private String visitorName ;//string False 璁垮濮撳悕锛屾敮鎸佷腑鑻辨枃瀛楃锛屼笉鑳藉寘鍚� 鈥� / \ : * ? " < >
private String appointRecordId ;// string False 棰勭害璁板綍ID
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 d7ae35b..488cfb3 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
@@ -151,13 +151,13 @@
*鎵归噺鍒犻櫎浜哄憳淇℃伅
* @return
*/
- public static BaseResponse<OrgOrUserAddFailureResponse> delBatchUser(List<UserAddRequest> param){
+ public static BaseResponse<List<UserDelResponse>> delBatchUser(UserDelRequest param){
log.info("銆愭捣搴锋壒閲忔柊澧炰汉鍛樸��================寮�濮�===="+JSONObject.toJSONString(param));
try {
String res = HKTools.delBatchUser(JSONObject.toJSONString(param));
TypeReference typeReference =
new TypeReference< BaseResponse<OrgOrUserAddFailureResponse>>(){};
- BaseResponse<OrgOrUserAddFailureResponse> result = JSONObject.parseObject(res, typeReference.getType());
+ BaseResponse<List<UserDelResponse >> result = JSONObject.parseObject(res, typeReference.getType());
logResult(result,"娴峰悍鎵归噺鏂板浜哄憳");
return result;
}catch (Exception e){
@@ -446,13 +446,13 @@
*璁垮鍏嶇櫥璁伴绾�
* @return
*/
- public static BaseResponse<VisitAppointmentVistorResponse> visitAppiontmentMDJ(VisitAppointmentMDJRequest param){
+ public static BaseResponse<VisitAppointmentMDJResponse> visitAppiontmentMDJ(VisitAppointmentMDJRequest param){
log.info("銆愭捣搴疯瀹㈠厤鐧昏棰勭害銆�================寮�濮�===="+JSONObject.toJSONString(param));
try {
String res = HKTools.visitAppiontmentMDJ(JSONObject.toJSONString(param));
TypeReference typeReference =
- new TypeReference< BaseResponse<VisitAppointmentVistorResponse> >(){};
- BaseResponse<VisitAppointmentVistorResponse> result = JSONObject.parseObject(res, typeReference.getType());
+ new TypeReference< BaseResponse<VisitAppointmentMDJResponse> >(){};
+ BaseResponse<VisitAppointmentMDJResponse> result = JSONObject.parseObject(res, typeReference.getType());
logResult(result,"娴峰悍璁垮鍏嶇櫥璁伴绾�");
return result;
}catch (Exception e){
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 4fe02c2..643d8cc 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
@@ -66,6 +66,8 @@
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;
// ERP鎺ュ彛閰嶇疆
public static final String ERP_CONFIG = "ERP_CONFIG";
// ERP ACCESS_KEY
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java
new file mode 100644
index 0000000..327f16c
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/ImageBase64Util.java
@@ -0,0 +1,131 @@
+package com.doumee.core.utils;
+
+import org.apache.commons.codec.binary.Base64;
+import sun.misc.BASE64Decoder;
+import sun.misc.BASE64Encoder;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+public class ImageBase64Util {
+
+ /**
+ * 灏嗗浘鐗囪浆鎹㈡垚Base64缂栫爜
+ * @param imgFile 寰呭鐞嗗浘鐗�
+ * @return
+ */
+ public static String getImgStr(String imgFile) {
+ // 灏嗗浘鐗囨枃浠惰浆鍖栦负瀛楄妭鏁扮粍瀛楃涓诧紝骞跺鍏惰繘琛孊ase64缂栫爜澶勭悊
+
+ InputStream in = null;
+ byte[] data = null;
+ // 璇诲彇鍥剧墖瀛楄妭鏁扮粍
+ try {
+ in = new FileInputStream(imgFile);
+ data = new byte[in.available()];
+ in.read(data);
+ in.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return Base64.encodeBase64String(data);
+ }
+
+ /**
+ * 瀵瑰瓧鑺傛暟缁勫瓧绗︿覆杩涜Base64瑙g爜骞剁敓鎴愬浘鐗�
+ * @param imgStr 鍥剧墖鏁版嵁
+ * @param imgFilePath 淇濆瓨鍥剧墖鍏ㄨ矾寰勫湴鍧�
+ * @return
+ */
+ public static boolean generateImage(String imgStr, String imgFilePath) {
+ //
+ if (imgStr == null) // 鍥惧儚鏁版嵁涓虹┖
+ return false;
+ BASE64Decoder decoder = new BASE64Decoder();
+ try {
+ // Base64瑙g爜
+ byte[] b = decoder.decodeBuffer(imgStr);
+ for (int i = 0; i < b.length; ++i) {
+ if (b[i] < 0) {// 璋冩暣寮傚父鏁版嵁
+ b[i] += 256;
+ }
+ }
+ // 鐢熸垚jpg鍥剧墖
+ OutputStream out = new FileOutputStream(imgFilePath);
+ out.write(b);
+ out.flush();
+ out.close();
+ return true;
+ } catch (Exception e) {
+ return false;
+ }
+ }
+
+
+ /**
+ * 杩滅▼璇诲彇image杞崲涓築ase64瀛楃涓�
+ * @param imgUrl
+ * @return
+ */
+ public static String Image2Base64(String imgUrl) {
+ URL url = null;
+ InputStream is = null;
+ ByteArrayOutputStream outStream = null;
+ HttpURLConnection httpUrl = null;
+ try{
+ url = new URL(imgUrl);
+ httpUrl = (HttpURLConnection) url.openConnection();
+ httpUrl.connect();
+ httpUrl.getInputStream();
+ is = httpUrl.getInputStream();
+
+ outStream = new ByteArrayOutputStream();
+ //鍒涘缓涓�涓狟uffer瀛楃涓�
+ byte[] buffer = new byte[1024];
+ //姣忔璇诲彇鐨勫瓧绗︿覆闀垮害锛屽鏋滀负-1锛屼唬琛ㄥ叏閮ㄨ鍙栧畬姣�
+ int len = 0;
+ //浣跨敤涓�涓緭鍏ユ祦浠巄uffer閲屾妸鏁版嵁璇诲彇鍑烘潵
+ while( (len=is.read(buffer)) != -1 ){
+ //鐢ㄨ緭鍑烘祦寰�buffer閲屽啓鍏ユ暟鎹紝涓棿鍙傛暟浠h〃浠庡摢涓綅缃紑濮嬭锛宭en浠h〃璇诲彇鐨勯暱搴�
+ outStream.write(buffer, 0, len);
+ }
+ // 瀵瑰瓧鑺傛暟缁凚ase64缂栫爜
+ return new BASE64Encoder().encode(outStream.toByteArray());
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
+ finally{
+ if(is != null)
+ {
+ try {
+ is.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ if(outStream != null)
+ {
+ try {
+ outStream.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ if(httpUrl != null)
+ {
+ httpUrl.disconnect();
+ }
+ }
+ return null;
+ }
+
+ public static void main(String[] args) {
+ String url= "http://doumeetest.oss-cn-beijing.aliyuncs.com/member/20210515/de923f81-b417-47fc-a702-472d60d7870a.png";// 寰呭鐞嗙殑鍥剧墖
+ String imgbese = Image2Base64(url);
+ System.out.println(imgbese);
+
+// String url= "D:\\1.jpg";// 鏂扮敓鎴愮殑鍥剧墖
+// generateImage(imgbese, url);
+ }
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberMapper.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberMapper.java
index 951d47b..8ef6f07 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberMapper.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/MemberMapper.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.doumee.dao.admin.response.MemberInfoDTO;
+import com.doumee.dao.business.model.CarEvent;
import com.doumee.dao.business.model.Member;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -28,5 +29,5 @@
IPage<MemberInfoDTO> getPage(IPage<MemberInfoDTO> page, @Param(Constants.WRAPPER) Wrapper wrapper);
-
+ void insertBatchSomeColumn(List<Member> list);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/join/EmpowerJoinMapper.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/join/EmpowerJoinMapper.java
new file mode 100644
index 0000000..7b7548b
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/join/EmpowerJoinMapper.java
@@ -0,0 +1,13 @@
+package com.doumee.dao.business.join;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.Empower;
+import com.github.yulichang.base.mapper.MPJJoinMapper;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+public interface EmpowerJoinMapper extends MPJJoinMapper<Empower> {
+
+}
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 41e5093..a174a5c 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
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -22,95 +23,130 @@
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "涓婚敭", example = "1")
- @ExcelColumn(name="涓婚敭")
private Integer id;
@ApiModelProperty(value = "鍒涘缓浜虹紪鐮�")
- @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
private String creator;
- @ApiModelProperty(value = "鍒涘缓鏃堕棿")
- @ExcelColumn(name="鍒涘缓鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
- private Date createDate;
+
@ApiModelProperty(value = "鏇存柊浜虹紪鐮�")
- @ExcelColumn(name="鏇存柊浜虹紪鐮�")
private String edirot;
@ApiModelProperty(value = "鏇存柊鏃堕棿")
- @ExcelColumn(name="鏇存柊鏃堕棿")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date editDate;
@ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
- @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
private Integer isdeleted;
@ApiModelProperty(value = "澶囨敞")
- @ExcelColumn(name="澶囨敞")
private String remark;
@ApiModelProperty(value = "棰勭害鏍囪瘑", example = "1")
- @ExcelColumn(name="棰勭害鏍囪瘑")
private String hkId;
@ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
- @ExcelColumn(name="鎺掑簭鐮�")
private Integer sortnum;
@ApiModelProperty(value = "浜哄憳缂栫爜", example = "1")
- @ExcelColumn(name="浜哄憳缂栫爜")
private Integer memberId;
- @ApiModelProperty(value = "闂ㄧ鏈夋晥鏈熷紑濮�")
- @ExcelColumn(name="闂ㄧ鏈夋晥鏈熷紑濮�")
- private Date startTime;
- @ApiModelProperty(value = "闂ㄧ鏈夋晥鏈熺粨鏉�", example = "1")
- @ExcelColumn(name="闂ㄧ鏈夋晥鏈熺粨鏉�")
- private Date endTime;
@ApiModelProperty(value = "瀵煎叆鐘舵��", example = "1")
- @ExcelColumn(name="瀵煎叆鐘舵��")
private Integer importStatus;
@ApiModelProperty(value = "瀵煎叆澶囨敞")
- @ExcelColumn(name="瀵煎叆澶囨敞")
private String importInfo;
- @ApiModelProperty(value = "涓嬪彂鐘舵�� 0寰呬笅鍙� 1宸蹭笅鍙� 2宸插彇娑�", example = "1")
- @ExcelColumn(name="涓嬪彂鐘舵�� 0寰呬笅鍙� 1宸蹭笅鍙� 2宸插彇娑�")
- private Integer sendStatus;
- @ApiModelProperty(value = "涓嬪彂绫诲瀷 0瀹炴椂 1瀹氭椂 ", example = "1")
- @ExcelColumn(name="涓嬪彂绫诲瀷 0瀹炴椂 1瀹氭椂 ")
- private Integer sendType;
- @ApiModelProperty(value = "涓嬪彂澶囨敞")
- @ExcelColumn(name="涓嬪彂澶囨敞")
- private String sendInfo;
- @ApiModelProperty(value = "涓嬪彂鏃堕棿")
- @ExcelColumn(name="涓嬪彂鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd")
- private Date sendDate;
@ApiModelProperty(value = "涓嬪彂浜哄憳", example = "1")
- @ExcelColumn(name="涓嬪彂浜哄憳")
private Integer sendUserId;
@ApiModelProperty(value = "鍙栨秷浜哄憳", example = "1")
- @ExcelColumn(name="鍙栨秷浜哄憳")
private Integer cancelUserId;
@ApiModelProperty(value = "鍙栨秷鏃堕棿")
- @ExcelColumn(name="鍙栨秷鏃堕棿")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date cancelDate;
@ApiModelProperty(value = "鍙栨秷澶囨敞")
- @ExcelColumn(name="鍙栨秷澶囨敞")
private String cANCElInfo;
+ @ApiModelProperty(value = "鎵�灞炲叕鍙哥紪鐮�")
+ @TableField(exist = false)
+ private String companyId;
+
+ @ApiModelProperty(value = "濮撳悕")
+ @ExcelColumn(name="濮撳悕",index = 1)
+ @TableField(exist = false)
+ private String memberName;
+
+ @ApiModelProperty(value = "鎵嬫満鍙�")
+ @ExcelColumn(name="鎵嬫満鍙�" ,index = 2)
+ @TableField(exist = false)
+ private String memberPhone;
+
+ @ApiModelProperty(value = "韬唤璇�")
+ @ExcelColumn(name="韬唤璇�",index= 3)
+ @TableField(exist = false)
+ private String memberidCard;
+
+ @ApiModelProperty(value = "鎵�灞炲叕鍙�")
+ @ExcelColumn(name="鎵�灞炲叕鍙�",index= 4)
+ @TableField(exist = false)
+ private String companyName;
+
+ @ApiModelProperty(value = "闂ㄧ鏈夋晥鏈熷紑濮�")
+ @ExcelColumn(name="闂ㄧ鏈夋晥鏈熷紑濮�",index= 5,dateFormat = "yyyy-MM-dd")
+ private Date startTime;
+
+ @ApiModelProperty(value = "闂ㄧ鏈夋晥鏈熺粨鏉�", example = "1")
+ @ExcelColumn(name="闂ㄧ鏈夋晥鏈熺粨鏉�",index= 6,dateFormat = "yyyy-MM-dd")
+ private Date endTime;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿",index= 7,dateFormat = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鎿嶄綔浜�")
+ @ExcelColumn(name="鎿嶄綔浜�",index= 7)
+ @TableField(exist = false)
+ private String createrName;
+
+ @ApiModelProperty(value = "涓嬪彂鐘舵�� 0寰呬笅鍙� 1宸蹭笅鍙� 2宸插彇娑�", example = "1")
+ @ExcelColumn(name="涓嬪彂鐘舵��",index= 8,valueMapping ="0=寰呬笅鍙�;1=宸蹭笅鍙�;2=宸插彇娑�" )
+ private Integer sendStatus;
+
+ @ApiModelProperty(value = "涓嬪彂绫诲瀷 0瀹炴椂 1瀹氭椂 ", example = "1")
+ @ExcelColumn(name="涓嬪彂绫诲瀷",index= 9,valueMapping ="0=瀹炴椂;1=瀹氭椂" )
+ private Integer sendType;
+
+
+
+ @ApiModelProperty(value = "涓嬪彂鏃堕棿")
+ @ExcelColumn(name="涓嬪彂鏃堕棿",index= 10,dateFormat = "yyyy-MM-dd")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date sendDate;
+
+ @ApiModelProperty(value = "涓嬪彂澶囨敞")
+ @ExcelColumn(name="涓嬪彂澶囨敞",index= 11)
+ private String sendInfo;
+
+ @ApiModelProperty(value = "涓嬪彂寮�濮嬫椂闂�")
+ @TableField(exist = false)
+ private String sendStartDate;
+ @ApiModelProperty(value = "涓嬪彂缁撴潫鏃堕棿")
+ @TableField(exist = false)
+ private String sendEndDate;
+
+ @ApiModelProperty(value = "鏃堕棿娈�0锛�7,30")
+ @TableField(exist = false)
+ private Integer timeDn;
+
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
index de1a53f..2dd81ff 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -106,9 +106,9 @@
@ExcelColumn(name="宸ュ彿")
private String code;
- @ApiModelProperty(value = "鐝")
- @ExcelColumn(name="鐝")
- private String classes;
+ @ApiModelProperty(value = "鐝 0鐧界彮 1澶滅彮")
+ @ExcelColumn(name="鐝 0鐧界彮 1澶滅彮")
+ private Integer classes;
@ApiModelProperty(value = "鐘舵�� 0姝e父 1绂佺敤 2鎷夐粦/鍐荤粨", example = "1")
@ExcelColumn(name="鐘舵�� 0姝e父 1绂佺敤 2鎷夐粦/鍐荤粨")
@@ -203,5 +203,7 @@
@ApiModelProperty(value = "缁勭粐鍚嶇О")
@TableField(exist = false)
private String companyName;
-
+ @ApiModelProperty(value = "缁勭粐娴峰悍缂栫爜")
+ @TableField(exist = false)
+ private String companyHkId;
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java
index 9b97e1d..7e9d836 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/dao/business/model/MemberRole.java
@@ -59,4 +59,16 @@
@ExcelColumn(name="瑙掕壊缂栫爜锛堝叧鑱攄oor_role)")
private String roleId;
+ @ApiModelProperty(value = "娴峰悍鏍囪瘑")
+ @ExcelColumn(name="娴峰悍鏍囪瘑")
+ private String hkId;
+
+ @ApiModelProperty(value = "娴峰悍鍚屾鐘舵�� 0鏈悓姝� 1宸插悓姝�")
+ @ExcelColumn(name="娴峰悍鍚屾鐘舵�� 0鏈悓姝� 1宸插悓姝�")
+ private Integer hkStatus;
+
+ @ApiModelProperty(value = "娴峰悍鏈�杩戝悓姝ユ椂闂�")
+ @ExcelColumn(name="娴峰悍鏈�杩戝悓姝ユ椂闂�")
+ private Date hkDate;
+
}
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 62fb83f..984e2f4 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
@@ -95,7 +95,7 @@
@ApiModelProperty(value = "鐝")
@ExcelColumn(name="鐝")
- private String classes;
+ private Integer classes;
@ApiModelProperty(value = "娴峰悍闂ㄧ鍚嶇О")
@ExcelColumn(name="娴峰悍闂ㄧ鍚嶇О")
private String deviceName;
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 f9866dc..be60fde 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
@@ -218,8 +218,8 @@
@ApiModelProperty(value = "鏅�氳瀹㈢敵璇烽殢璁夸汉鍛�")
@TableField(exist = false)
private List<Visits> withUserList;
- @ApiModelProperty(value = "鐝")
- private String memberClasses;
+// @ApiModelProperty(value = "鐝")
+// private String memberClasses;
@ApiModelProperty(value = "绫诲瀷 0鍔冲姟璁垮 1鏅�氳瀹� 2鍐呴儴浜哄憳", example = "1")
@TableField(exist = false)
@@ -232,6 +232,10 @@
@ExcelColumn(name="琚浜哄憳濮撳悕")
@TableField(exist = false)
private String receptMemberName;
+ @ApiModelProperty(value = "琚浜哄憳娴峰悍缂栫爜", example = "1")
+ @ExcelColumn(name="琚浜哄憳濮撳悕")
+ @TableField(exist = false)
+ private String receptMemberHkId;
@ApiModelProperty(value = "琚浜哄憳閮ㄩ棬", example = "1")
@ExcelColumn(name="琚浜哄憳閮ㄩ棬")
@@ -248,4 +252,8 @@
@TableField(exist = false)
private List<Visits> visitsList;
+ @ApiModelProperty(value = "瓒呮椂鏃堕暱", example = "1")
+ @TableField(exist = false)
+ private Integer timeOut;
+
}
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 89b0912..7d6c554 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
@@ -57,4 +57,7 @@
void syncOrgData();
void syncUserData();
+
+ void syncVisitData();
+ void syncEmpowerData();
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
index 9ecbab1..0d0e2f9 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/VisitsService.java
@@ -19,6 +19,7 @@
* @return Integer
*/
Integer create(Visits visits);
+
Integer createFk(Visits visits);
/**
@@ -88,6 +89,8 @@
*/
PageData<Visits> findPage(PageWrap<Visits> pageWrap);
+ PageData<Visits> retentionPage(PageWrap<Visits> pageWrap);
+
/**
* 鏉′欢缁熻
*
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/EmpowerServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/EmpowerServiceImpl.java
index a5bceb9..d75a56b 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/EmpowerServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/EmpowerServiceImpl.java
@@ -2,19 +2,31 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Date;
import com.doumee.core.utils.Utils;
+import com.doumee.dao.admin.response.MemberInfoDTO;
import com.doumee.dao.business.EmpowerMapper;
+import com.doumee.dao.business.join.EmpowerJoinMapper;
+import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.Empower;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.system.model.SystemUser;
import com.doumee.service.business.EmpowerService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.List;
+import java.util.Objects;
/**
* 浜哄憳鎺堟潈瀵煎叆璁板綍Service瀹炵幇
@@ -26,6 +38,10 @@
@Autowired
private EmpowerMapper empowerMapper;
+
+ @Autowired
+ private EmpowerJoinMapper empowerJoinMapper;
+
@Override
public Integer create(Empower empower) {
@@ -87,86 +103,46 @@
@Override
public PageData<Empower> findPage(PageWrap<Empower> pageWrap) {
IPage<Empower> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
- QueryWrapper<Empower> queryWrapper = new QueryWrapper<>();
- Utils.MP.blankToNull(pageWrap.getModel());
- if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(Empower::getId, pageWrap.getModel().getId());
- }
- if (pageWrap.getModel().getCreator() != null) {
- queryWrapper.lambda().eq(Empower::getCreator, pageWrap.getModel().getCreator());
- }
- if (pageWrap.getModel().getCreateDate() != null) {
- queryWrapper.lambda().ge(Empower::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
- queryWrapper.lambda().le(Empower::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
- }
- if (pageWrap.getModel().getEdirot() != null) {
- queryWrapper.lambda().eq(Empower::getEdirot, pageWrap.getModel().getEdirot());
- }
- if (pageWrap.getModel().getEditDate() != null) {
- queryWrapper.lambda().ge(Empower::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
- queryWrapper.lambda().le(Empower::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
- }
- if (pageWrap.getModel().getIsdeleted() != null) {
- queryWrapper.lambda().eq(Empower::getIsdeleted, pageWrap.getModel().getIsdeleted());
- }
- if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(Empower::getRemark, pageWrap.getModel().getRemark());
- }
- if (pageWrap.getModel().getHkId() != null) {
- queryWrapper.lambda().eq(Empower::getHkId, pageWrap.getModel().getHkId());
- }
- if (pageWrap.getModel().getSortnum() != null) {
- queryWrapper.lambda().eq(Empower::getSortnum, pageWrap.getModel().getSortnum());
- }
- if (pageWrap.getModel().getMemberId() != null) {
- queryWrapper.lambda().eq(Empower::getMemberId, pageWrap.getModel().getMemberId());
- }
- if (pageWrap.getModel().getStartTime() != null) {
- queryWrapper.lambda().eq(Empower::getStartTime, pageWrap.getModel().getStartTime());
- }
- if (pageWrap.getModel().getEndTime() != null) {
- queryWrapper.lambda().eq(Empower::getEndTime, pageWrap.getModel().getEndTime());
- }
- if (pageWrap.getModel().getImportStatus() != null) {
- queryWrapper.lambda().eq(Empower::getImportStatus, pageWrap.getModel().getImportStatus());
- }
- if (pageWrap.getModel().getImportInfo() != null) {
- queryWrapper.lambda().eq(Empower::getImportInfo, pageWrap.getModel().getImportInfo());
- }
- if (pageWrap.getModel().getSendStatus() != null) {
- queryWrapper.lambda().eq(Empower::getSendStatus, pageWrap.getModel().getSendStatus());
- }
- if (pageWrap.getModel().getSendType() != null) {
- queryWrapper.lambda().eq(Empower::getSendType, pageWrap.getModel().getSendType());
- }
- if (pageWrap.getModel().getSendInfo() != null) {
- queryWrapper.lambda().eq(Empower::getSendInfo, pageWrap.getModel().getSendInfo());
- }
- if (pageWrap.getModel().getSendDate() != null) {
- queryWrapper.lambda().ge(Empower::getSendDate, Utils.Date.getStart(pageWrap.getModel().getSendDate()));
- queryWrapper.lambda().le(Empower::getSendDate, Utils.Date.getEnd(pageWrap.getModel().getSendDate()));
- }
- if (pageWrap.getModel().getSendUserId() != null) {
- queryWrapper.lambda().eq(Empower::getSendUserId, pageWrap.getModel().getSendUserId());
- }
- if (pageWrap.getModel().getCancelUserId() != null) {
- queryWrapper.lambda().eq(Empower::getCancelUserId, pageWrap.getModel().getCancelUserId());
- }
- if (pageWrap.getModel().getCancelDate() != null) {
- queryWrapper.lambda().ge(Empower::getCancelDate, Utils.Date.getStart(pageWrap.getModel().getCancelDate()));
- queryWrapper.lambda().le(Empower::getCancelDate, Utils.Date.getEnd(pageWrap.getModel().getCancelDate()));
- }
- if (pageWrap.getModel().getCANCElInfo() != null) {
- queryWrapper.lambda().eq(Empower::getCANCElInfo, pageWrap.getModel().getCANCElInfo());
- }
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
- if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
- queryWrapper.orderByDesc(sortData.getProperty());
- } else {
- queryWrapper.orderByAsc(sortData.getProperty());
+ MPJLambdaWrapper<Empower> queryWrapper = new MPJLambdaWrapper<>();
+
+ queryWrapper.selectAll(Empower.class);
+ queryWrapper.selectAs(Member::getName,Empower::getMemberName);
+ queryWrapper.selectAs(Member::getPhone,Empower::getMemberPhone);
+ queryWrapper.selectAs(Member::getIdcardNo,Empower::getMemberidCard);
+ queryWrapper.selectAs(Company::getName,Empower::getCompanyName);
+ queryWrapper.selectAs(SystemUser::getUsername,Empower::getCreaterName);
+ queryWrapper.leftJoin(Member.class,Member::getId,Empower::getMemberId);
+ queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
+ queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Empower::getCreator);
+
+ queryWrapper.eq(Empower::getIsdeleted, Constants.ZERO)
+ .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
+ .or().like(Member::getPhone,pageWrap.getModel().getCompanyName()));
+ queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getSendStatus()),Empower::getSendStatus,pageWrap.getModel().getSendStatus());
+ queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getCompanyId()),Company::getId,pageWrap.getModel().getCompanyId());
+ queryWrapper.ge(Objects.nonNull(pageWrap.getModel().getSendStartDate()),Empower::getSendDate,pageWrap.getModel().getSendStartDate());
+ queryWrapper.le(Objects.nonNull(pageWrap.getModel().getSendEndDate()),Empower::getSendDate,pageWrap.getModel().getSendEndDate());
+
+ SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
+ Calendar cal=Calendar.getInstance();
+ if(Objects.nonNull(pageWrap.getModel().getTimeDn())){
+ if(Constants.equalsInteger(pageWrap.getModel().getTimeDn(),0)){
+ String now=format.format(cal.getTime())+" :00:00:00";
+ queryWrapper.ge(Empower::getSendDate,now);
+ }
+ if(Constants.equalsInteger(pageWrap.getModel().getTimeDn(),7)){
+
+ cal.add(Calendar.DAY_OF_MONTH,-7);
+ queryWrapper.ge(Empower::getSendDate,cal.getTime());
+ }
+ if(Constants.equalsInteger(pageWrap.getModel().getTimeDn(),30)){
+ cal.add(Calendar.DAY_OF_MONTH,-30);
+ queryWrapper.ge(Empower::getSendDate,cal.getTime());
}
}
- return PageData.from(empowerMapper.selectPage(page, queryWrapper));
+ queryWrapper.orderByDesc(Empower::getCreateDate);
+ IPage<Empower> result = empowerJoinMapper.selectJoinPage(page, Empower.class,queryWrapper);
+ return PageData.from(result);
}
@Override
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 9677c71..d962bf3 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -524,19 +524,23 @@
if (!CollectionUtils.isEmpty(memberIPage.getRecords())){
memberIPage.getRecords().forEach(s->s.setSex(IdcardUtil.getGenderByIdCard(s.getIdcardDecode())));
}*/
- IPage<MemberInfoDTO> memberIPage = memberMapper.getPage(pageWrap.toPage(),new QueryWrapper<MemberInfoDTO>()
- .in(Objects.nonNull(pageWrap.getModel().getCompanyIds())&&pageWrap.getModel().getCompanyIds().size()>0,"m.COMPANY_ID",pageWrap.getModel().getCompanyIds())
- .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),ms->ms.like("m.ohone",pageWrap.getModel().getKeyWords())
- .or().like("m.name",pageWrap.getModel().getKeyWords())
- .or().like("m.code",pageWrap.getModel().getKeyWords()))
- .isNull(Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ZERO),"m.FACE_ID")
- .isNotNull(Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ONE),"m.FACE_ID")
- .eq(Objects.nonNull(pageWrap.getModel().getCanVisit()),"m.CAN_VISIT",pageWrap.getModel().getCanVisit())
- .eq(Objects.nonNull(pageWrap.getModel().getStatus()),"m.CAN_VISIT",pageWrap.getModel().getStatus())
- .eq("m.ISDELETED",0)
- .orderByDesc("m.CREATE_DATE")
- );
+ IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Member.class);
+ queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
+ queryWrapper.in(Objects.nonNull(pageWrap.getModel().getCompanyIds())&&pageWrap.getModel().getCompanyIds().size()>0,Member::getCompanyId,pageWrap.getModel().getCompanyIds())
+ .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),ms->ms.like(Member::getPhone,pageWrap.getModel().getKeyWords())
+ .or().like(Member::getName,pageWrap.getModel().getKeyWords())
+ .or().like(Member::getCode,pageWrap.getModel().getKeyWords()))
+ .isNull(Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ZERO),Member::getFaceId)
+ .isNotNull(Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ONE),Member::getFaceId)
+ .eq(Objects.nonNull(pageWrap.getModel().getCanVisit()),Member::getCanVisit,pageWrap.getModel().getCanVisit())
+ .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Member::getCanVisit,pageWrap.getModel().getStatus())
+ .eq(Member::getIsdeleted,0)
+ .orderByDesc(Member::getCreateDate);
+
+ IPage<MemberInfoDTO> memberIPage = memberJoinMapper.selectJoinPage(page, MemberInfoDTO.class,queryWrapper);
return PageData.from(memberIPage);
}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index af53c9d..1ba1259 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -3,7 +3,11 @@
import cn.hutool.core.util.IdcardUtil;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.erp.ErpConstants;
import com.doumee.core.erp.ErpTool;
+import com.doumee.core.erp.model.openapi.request.erp.ApproveAddRequest;
+import com.doumee.core.erp.model.openapi.request.erp.UserInfoRequest;
+import com.doumee.core.erp.model.openapi.response.erp.ApproveInfoResponse;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
import com.doumee.core.haikang.model.HKTools;
@@ -32,6 +36,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -40,6 +45,7 @@
import org.springframework.util.DigestUtils;
import java.util.*;
+import java.util.stream.Collectors;
/**
* 璁垮鐢宠淇℃伅琛⊿ervice瀹炵幇
@@ -86,7 +92,7 @@
//鑾峰彇鐢宠鐨勬捣搴疯闂棬绂佺粍淇℃伅
String[] hkIds = getHkDeviceRoles(visits);
//妫�楠屾嫓璁夸汉鏄惁鍚堟硶
- isValideVisitedUser(visits.getReceptMemberId());
+ Member visitMember = isValideVisitedUser(visits.getReceptMemberId());
if(Constants.equalsInteger(Constants.ZERO, visits.getIdcardType()) &&!IdcardUtil.isValidCard(visits.getIdcardNo())){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
}
@@ -96,9 +102,9 @@
//鍒濆鍖栬瀹俊鎭�
initVisitInfo(visits,date);
//鍙戣捣ERP瀹℃壒鐢宠
- String erpid = startSendErpCheck(visits);
- if(StringUtils.isNotBlank(erpid)){
- visits.setErpId(erpid);
+ String erpId = startSendErpCheck(visits,visitMember);
+ if(StringUtils.isNotBlank(erpId)){
+ visits.setErpId(erpId);
}else{
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵逛笉璧凤紝鍙戣捣鎷滆瀹℃壒鐢宠澶辫触锛�");
}
@@ -196,9 +202,43 @@
visits.setCreateDate(date);
}
- private String startSendErpCheck(Visits visits) {
- //TODO ------------RK--------------
-// ErpTool.submitApprove()
+ private String startSendErpCheck(Visits visits,Member visitMember) {
+ ApproveAddRequest param = new ApproveAddRequest();
+ List<Visits> withUserVisitsList = visits.getWithUserList();
+ List<UserInfoRequest> withUserList = new ArrayList<>();
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(withUserVisitsList)){
+ for (Visits v:withUserVisitsList) {
+ UserInfoRequest userInfoRequest = new UserInfoRequest();
+ userInfoRequest.setName(v.getName());
+ userInfoRequest.setIdNo(v.getIdcardNo());
+ userInfoRequest.setSex(v.getSex());
+ userInfoRequest.setPhone(v.getPhone());
+ userInfoRequest.setFaceImg(v.getFaceImg());
+ userInfoRequest.setHealthImg(v.getImgurl());
+ withUserList.add(userInfoRequest);
+ }
+ param.setWithUserList(withUserList);
+ }
+ param.setId(visits.getId());
+ param.setBeVisitedUserId(visitMember.getErpId());
+ param.setVisitorWorkUint(visits.getCompanyName());
+ param.setPurpose(visits.getReason());
+ param.setStartTime(DateUtil.getDate(visits.getStarttime(),"yyyy-MM-dd HH:mm:ss"));
+ param.setEndTime(DateUtil.getDate(visits.getEndtime(),"yyyy-MM-dd HH:mm:ss"));
+ if(StringUtils.isNotBlank(visits.getCarNos())){
+ param.setCarNo(Arrays.asList(visits.getCarNos().split(",")));
+ }
+ if(StringUtils.isNotBlank(visits.getDoors())){
+ List<DeviceRole> deviceRoleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda().in(DeviceRole::getId,Arrays.asList(visits.getDoors().split(","))));
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(deviceRoleList)){
+ param.setRoleIds(deviceRoleList.stream().map(m->m.getId()).collect(Collectors.toList()));
+ param.setRoleNames(deviceRoleList.stream().map(m->m.getName()).collect(Collectors.toList()));
+ }
+ }
+ ApproveInfoResponse response = ErpTool.submitApprove(ErpConstants.approveUrl,param);
+ if(!Objects.isNull(response)){
+ return response.getId().toString();
+ }
return null;
}
@@ -525,4 +565,33 @@
QueryWrapper<Visits> wrapper = new QueryWrapper<>(visits);
return visitsMapper.selectCount(wrapper);
}
+
+
+ @Override
+ public PageData<Visits> retentionPage(PageWrap<Visits> pageWrap) {
+ IPage<Visits> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+
+ queryWrapper.selectAll(Visits.class);
+ queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName);
+ queryWrapper.select("TIMESTAMPDIFF(MINUTE,t.ENDTIME , NOW()) AS timeOut");
+ queryWrapper.selectAs(Member::getType,Visits::getMemberType);
+ queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment);
+ queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
+ queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
+
+ queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO);
+ queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Visits::getType,pageWrap.getModel().getType());
+ queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Visits::getPhone,pageWrap.getModel().getName())
+ .or().like(Visits::getPhone,pageWrap.getModel().getName()))
+ .eq(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Visits::getIdcardNo,StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()))
+ .eq(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Visits::getCompanyName,pageWrap.getModel().getCompanyName())
+ .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Visits::getStatus,pageWrap.getModel().getStatus());
+ queryWrapper.isNull(Visits::getOutDate);
+ queryWrapper.orderByDesc(Visits::getEditDate);
+ IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper);
+
+ return PageData.from(result);
+ }
+
}
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 88c30a0..8dd1de3 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
@@ -251,17 +251,127 @@
return null;
}
+
+
+
/**
* 鍚屾ERP浜哄憳淇℃伅
* @param param
* @return
*/
@Override
- public String syncUsers(UserListRequest param){
- //TODO----------------RK------------------
- List<UserListRespone> allList = ErpTool.getErpUserList(ErpConstants.userListUrl,param);
+ public String syncUsers(UserListRequest param){
+ List<UserListRespone> list = ErpTool.getErpUserList(ErpConstants.userListUrl,param);
+ if(list !=null && list.size()>0) {
+ List<Member> addList = new ArrayList<>();
+ List<Member> updateList = new ArrayList<>();
+ List<Integer> delIds = new ArrayList<>();
+ List<Member> allList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .eq(Member::getType, Constants.memberType.internal));
+ dealUserChangeList(list,addList,updateList,delIds,allList);
+
+ if(addList.size()>0){
+ memberMapper.insertBatchSomeColumn(addList);
+ }
+ if(updateList.size()>0){
+ for(Member c : updateList){
+ memberMapper.updateById(c);
+ }
+ }
+ if(delIds.size()>0){
+ //鍒犻櫎鎵�鏈夐渶瑕佸垹闄ょ殑缁勭粐淇℃伅(閫昏緫鍒犻櫎锛�
+ memberMapper.update(null,new UpdateWrapper<Member>().lambda().set(Member::getHkStatus,Constants.ZERO)
+ .set(Member::getIsdeleted, Constants.ONE).in(Member::getId,delIds));
+ }
+
+ }else{
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "鍚屾ERP鏁版嵁涓虹┖锛�");
+ }
return null;
}
+
+ private void dealUserChangeList(List<UserListRespone> list, List<Member> addList, List<Member> updateList, List<Integer> delIds, List<Member> allList) {
+ Date date = new Date();
+ for(UserListRespone response : list){
+ //鏍规嵁 erpId 鏌ヨ鐢ㄦ埛淇℃伅锛屽垽鏂槸鏂板杩樻槸鏇存柊
+ Member member = findUserByERPId(allList,response.getId());
+ if(member == null){
+ //濡傛灉鏄柊澧�
+ if(Constants.formatIntegerNum(response.getIsdeleted()) == Constants.ONE){
+ continue;
+ }
+ //灏佽鏂板缁勭粐瀵硅薄鏁版嵁
+ addList.add(getAddMemberModel(response,date));
+ }else{
+ //濡傛灉鏄洿鏂�
+ if(Constants.formatIntegerNum(response.getIsdeleted()) == Constants.ONE){
+ //濡傛灉宸插垹闄わ紝鍔犲叆鍒犻櫎闆嗗悎涓�
+ delIds.add(member.getId());
+ continue;
+ }
+ updateList.add(addUpdateMemberModel(response,member,date));
+ }
+ }
+ if(allList!=null && allList.size()>0){
+ for(Member c : allList){
+ if(isUserDeleted(c,list)){
+ delIds.add(c.getId());
+ }
+ }
+ }
+ }
+
+ private Member getAddMemberModel(UserListRespone param, Date date) {
+ Member member = new Member();
+ BeanUtils.copyProperties(param,member);
+ member.setCreateDate(new Date());
+ member.setHkStatus(Constants.ZERO);
+ member.setErpStatus(Constants.ONE);
+ member.setErpDate(new Date());
+ member.setErpId(param.getId());
+ member.setFsStatus(Constants.ZERO);
+ member.setType(Constants.memberType.internal);
+ String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo());
+ member.setIdcardNo(encryptIdNo);
+ member.setIdcardDecode(Constants.getTuominStr(param.getIdNo()));
+ member.setCompanyId(param.getOrgId());
+ member.setHkStatus(Constants.ZERO);
+ return member;
+ }
+
+ private Member addUpdateMemberModel(UserListRespone param,Member member,Date date) {
+ BeanUtils.copyProperties(param,member);
+ String encryptIdNo = DESUtil.encrypt(Constants.EDS_PWD,param.getIdNo());
+ member.setIdcardNo(encryptIdNo);
+ member.setIdcardDecode(Constants.getTuominStr(param.getIdNo()));
+ member.setCompanyId(param.getOrgId());
+ member.setEditDate(new Date());
+ member.setErpDate(new Date());
+ member.setHkStatus(Constants.ZERO);
+ return member;
+ }
+
+ private boolean isUserDeleted(Member c, List<UserListRespone> list) {
+ for(UserListRespone m : list){
+ if(StringUtils.equals(c.getErpId(),m.getId().toString())){
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private Member findUserByERPId(List<Member> allList, String id) {
+ if(allList!=null){
+ for(Member com :allList){
+ if(StringUtils.equals(com.getErpId(),id)){
+ return com;
+ }
+ }
+ }
+ return null;
+ }
+
/**
@@ -572,21 +682,29 @@
Company company = companyMapper.selectOne(new QueryWrapper<Company>().lambda().eq(Company::getErpId,param.getId()).last("limit 1"));
if(Objects.isNull(company)){
company = new Company();
- BeanUtils.copyProperties(param,company);
+// BeanUtils.copyProperties(param,company);
company.setId(null);
company.setCreateDate(new Date());
company.setHkStatus(Constants.ZERO);
company.setErpStatus(Constants.ONE);
company.setErpDate(new Date());
company.setErpId(param.getId());
+ company.setErpParentId(param.getParentId());
company.setFsStatus(Constants.ZERO);
company.setType(Constants.ONE);
+ company.setLinkName(param.getLinkName());
+ company.setLinkPhone(param.getLinkPhone());
companyMapper.insert(company);
//TODO 娴峰悍鏁版嵁鍒涘缓
}else{
- BeanUtils.copyProperties(param,company);
+// BeanUtils.copyProperties(param,company);
company.setEditDate(new Date());
+ company.setErpId(param.getId());
+ company.setHkStatus(Constants.ZERO);
company.setErpDate(new Date());
+ company.setErpParentId(param.getParentId());
+ company.setLinkName(param.getLinkName());
+ company.setLinkPhone(param.getLinkPhone());
companyMapper.updateById(company);
//TODO 娴峰悍鏁版嵁鏇存柊
}
@@ -632,7 +750,6 @@
member.setIdcardDecode(Constants.getTuominStr(param.getIdNo()));
member.setCompanyId(param.getOrgId());
memberMapper.insert(member);
-
//TODO 娴峰悍鏁版嵁鍒涘缓
}else{
BeanUtils.copyProperties(param,member);
@@ -711,6 +828,7 @@
visitsList.forEach(i->{
i.setStatus(param.getStatus().equals(Constants.ZERO)?Constants.VisitStatus.pass:Constants.VisitStatus.noPass);
i.setEndCheckDate(DateUtil.StringToDate(param.getApproveDate(),"yyyy-MM-dd HH:mm:ss"));
+ i.setHkStatus(Constants.ZERO);
visitsMapper.updateById(i);
});
}
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 5e03224..e243cd2 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
@@ -79,5 +79,11 @@
@Override
public void syncOrgData( ){
}
+ @Override
+ public void syncVisitData() {
+ }
+ @Override
+ public void syncEmpowerData() {
+ }
}
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
new file mode 100644
index 0000000..2e89198
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -0,0 +1,82 @@
+package com.doumee.service.business.impl.hksync;
+
+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.service.HKService;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
+import com.doumee.dao.business.join.EmpowerJoinMapper;
+import com.doumee.dao.business.join.VisitsJoinMapper;
+import com.doumee.dao.business.model.Empower;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.Visits;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 娴峰悍闂ㄧ鎺堟潈涓氬姟Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Service
+@Slf4j
+public class HkSyncEmpowerServiceImpl extends HkSyncBaseServiceImpl {
+ @Autowired
+ private EmpowerJoinMapper empowerJoinMapper;
+
+ /**
+ * 鍚屾娴峰悍缁勭粐淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭�
+ */
+ @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);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }finally {
+ Constants.DEALING_HK_EMPOWER =false;
+ }
+ }
+
+}
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
index 9aea7de..6f4a268 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncOrgUserServiceImpl.java
@@ -4,26 +4,28 @@
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.erp.model.openapi.request.erp.UserFailRequest;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.HKTools;
import com.doumee.core.haikang.model.param.BaseResponse;
-import com.doumee.core.haikang.model.param.request.OrgAddRequest;
-import com.doumee.core.haikang.model.param.request.OrgDelRequest;
-import com.doumee.core.haikang.model.param.request.ParkListRequest;
-import com.doumee.core.haikang.model.param.respose.OrgOrUserAddResponse;
-import com.doumee.core.haikang.model.param.respose.OrgOrUserAddSuccessResponse;
-import com.doumee.core.haikang.model.param.respose.OrgUpdateFailureResponse;
-import com.doumee.core.haikang.model.param.respose.ParkListResponse;
+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.core.utils.ImageBase64Util;
import com.doumee.dao.business.CompanyMapper;
+import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.ParksMapper;
import com.doumee.dao.business.join.CompanyJoinMapper;
import com.doumee.dao.business.model.Company;
+import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Parks;
+import com.doumee.service.business.ERPSyncService;
import com.github.yulichang.query.MPJQueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
+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;
@@ -35,21 +37,24 @@
import java.util.UUID;
/**
- * 娴峰悍鍋滆溅搴撳悓姝ervice瀹炵幇
+ * 娴峰悍缁勭粐浜哄憳閫氳繃姝ervice瀹炵幇
* @author 姹熻箘韫�
* @date 2023/11/30 15:33
*/
@Service
+@Slf4j
public class HkSyncOrgUserServiceImpl extends HkSyncBaseServiceImpl {
-
@Autowired
private CompanyMapper companyMapper;
+ @Autowired
+ private MemberMapper memberMapper;
+ @Autowired
+ private ERPSyncService erpSyncService;
@Autowired
private SystemDictDataBiz systemDictDataBiz;
/**
- * 鍚屾娴峰悍缁勭粐淇℃伅
- * @return
+ * 鍚屾娴峰悍缁勭粐淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭�
*/
@Override
public void syncOrgData(){
@@ -64,7 +69,7 @@
.select("*,(select b.hk_id from company b where company.erp_parent_id = b.id limit 1) as hkParentId")
.lambda()
.eq(Company::getHkStatus,Constants.ZERO)
- .orderByDesc(Company::getErpDate));
+ .orderByAsc(Company::getErpDate));
if(list ==null || list.size()==0){
return;
}
@@ -124,6 +129,7 @@
*/
private void doHkAddOrg(List<Company> updateList, List<OrgAddRequest> addList) {
Date date = new Date();
+
BaseResponse<OrgOrUserAddResponse> result = HKService.addBatchOrg(addList);
if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
OrgOrUserAddResponse data = result.getData();
@@ -156,10 +162,10 @@
private OrgAddRequest getOrgAddModel(Company c,String rootOrgId) {
OrgAddRequest model = new OrgAddRequest();
- model.setOrgIndexCode(HKConstants.RES_INDEX+UUID.randomUUID().toString());
+ model.setOrgIndexCode(HKConstants.RES_ORG_INDEX+UUID.randomUUID().toString().replace("-",""));
model.setOrgName(c.getName());
- model.setOrgCode(c.getCode());
- model.setOrgIndexCode(c.getHkParentId());
+// model.setOrgCode(c.getCode());
+ model.setParentIndexCode(c.getHkParentId());
return model;
}
@@ -170,14 +176,20 @@
* @param date
*/
private void doHkDeleteOrg(List<Integer> delIds,List<String> delHkIds, Date date) {
+ if(delHkIds.size() == 0){
+ return;
+ }
OrgDelRequest request = new OrgDelRequest();
- request.setIndexCodes((String[]) delHkIds.toArray());
+ request.setIndexCodes( delHkIds.toArray(new String[]{}));
BaseResponse<List<OrgUpdateFailureResponse>> result = HKService.delBatchOrg(request);
if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
List<String> fIds = new ArrayList<>();
if(result.getData()!=null){
for(OrgUpdateFailureResponse r : result.getData()){
- fIds.add(r.getOrgIndexCode());//鍒犻櫎澶辫触鐨勬暟鎹泦鍚�
+ if(!r.getCode().equals("0x00072001")){
+ //涓嶅瓨鍦ㄧ殑涔熺畻鍒犻櫎鎴愬姛
+ fIds.add(r.getOrgIndexCode());//鍒犻櫎澶辫触鐨勬暟鎹泦鍚�
+ }
}
}
//鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
@@ -195,7 +207,133 @@
*/
@Override
public void syncUserData(){
+ if(Constants.DEALING_HK_USER){
+ return ;
+ }
+ Constants.DEALING_HK_USER =true;
+ try {
+ //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑浼佷笟鏁版嵁
+ List<Member> list = memberMapper.selectList(new QueryWrapper<Member>()
+ .lambda()
+ .eq(Member::getHkStatus,Constants.ZERO)
+ .orderByAsc(Member::getErpDate));
+ if(list ==null || list.size()==0){
+ return;
+ }
+ Date date = new Date();
+ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
+ +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
+ for(Member c : list){
+ if( c.getCompanyId() == null){
+ //濡傛灉娌℃湁缁勭粐涓嶅仛澶勭悊
+ continue;
+ }
+ UserAddRequest addHkModel = new UserAddRequest();
+ if(StringUtils.isBlank(c.getHkId())){
+ //濡傛灉鏂板鍚屾鏁告摎
+ if(Constants.equalsInteger(Constants.ONE,c.getIsdeleted())){
+ //鍒犻櫎鐨勭粍缁囷紝涓嶅仛澶勭悊,娴峰悍鐘舵�佹洿鏂颁负涓嶅鐞嗭紝涓嬫涓嶅啀澶勭悊杩欎釜璁板綍
+ c.setHkStatus(Constants.TWO);
+ memberMapper.updateById(c);
+ continue ;
+ }
+ addHkModel = getUserAddModel(c,path);
+ c.setHkId(addHkModel.getPersonId());
+ }else{
+ //鍒犻櫎娴峰悍鍘熸湁鐨勬暟鎹紝鍐嶆柊澧炵粍缁�
+ addHkModel = getUserAddModel(c,path);
+ c.setHkId(addHkModel.getPersonId());
+ }
+ if(addHkModel == null){
+ //濡傛灉浜鸿劯鏁版嵁涓嶆纭紝涓嬭浇澶辫触绛夊師鍥�
+ noticeErpFail(c,Constants.ZERO,"浜鸿劯鐓х墖涓嶅瓨鍦紝鑾峰彇澶辫触锛�");
+ continue;
+ }
+ //澶勭悊鍒犻櫎鏁版嵁锛堝垹闄や箣鍓嶄笅鍙戠殑娴峰悍浜哄憳淇℃伅锛岀劧鍚庢柊澧烇級
+ doHkDeleteUser(c.getId(),c.getHkId(),date);
+ //澶勭悊鏂板鏁版嵁
+ BaseResponse<UserAddResponse> result = HKService.addUser(addHkModel);
+ if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
+ c.setFaceId(result.getData().getFaceId());
+ memberMapper.updateById(c);
+ }else{
+ noticeErpFail(c,Constants.ZERO,"浜哄憳淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃淇鍚庨噸璇曪紒"+result.getCode()+result.getMsg());
+ }
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }finally {
+ Constants.DEALING_HK_USER =false;
+ }
+ }
+
+ /**
+ * 閫氱煡erp绯荤粺锛屼汉鍛樹笅鍙戝悓姝ヤ俊鎭姸鎬佸け璐�
+ * @param c
+ * @param type
+ * @param s
+ */
+ private void noticeErpFail(Member c, int type, String s) {
+ UserFailRequest r = new UserFailRequest();
+ r.setUserId(c.getErpId());
+ r.setInfo(s);
+ r.setType(type);
+ //閫氱煡ERP浜鸿劯鏁版嵁涓嶆纭�
+ erpSyncService.noticeUserFail(r);
+ }
+
+ /**
+ * 瀵规捣搴峰垹闄ょ粍缁囦俊鎭�
+ * @param id
+ * @param date
+ */
+ private void doHkDeleteUser(Integer id,String delHkIds, Date date) {
+ if(StringUtils.isBlank(delHkIds)){
+ return;
+ }
+ UserDelRequest request = new UserDelRequest();
+ request.setPersonIds(new String[]{delHkIds});
+ BaseResponse<List<UserDelResponse>> result = HKService.delBatchUser(request);
+ if(StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE)){
+ List<String> fIds = new ArrayList<>();
+ if(result.getData()!=null && result.getData().size()>0){
+ log.info("娴峰悍鍒犻櫎鐢ㄦ埛澶辫触锛�==============="+result.getData().get(0).getPersonId());
+ /* for(UserDelResponse r : result.getData()){
+ if(!r.getCode().equals("0x00072001")){
+ //涓嶅瓨鍦ㄧ殑涔熺畻鍒犻櫎鎴愬姛
+ fIds.add(r.getPersonId());//鍒犻櫎澶辫触鐨勬暟鎹泦鍚�
+ }
+ }}*/
+ }else{
+ //鏍囪鍒犻櫎鎴愬姛鐨勬暟鎹紙娴峰悍瀵规帴鐘舵�佷负宸插悓姝ワ紝锛屽悓姝ュけ璐ョ殑浠嶄负寰呭悓姝ワ紝绛変笅涓�娆$户缁鐞嗭紝鐭ラ亾鍏ㄩ儴鍒犻櫎瀹屾瘯锛�
+ companyMapper.update(null,new UpdateWrapper<Company>().lambda()
+ .set(Company::getHkStatus,Constants.ONE)
+ .set(Company::getHkDate,date)
+ .in(Company::getId, id));
+ }
+ }
+ }
+
+ private UserAddRequest getUserAddModel(Member c,String path) {
+ UserAddRequest model = new UserAddRequest();
+ model.setOrgIndexCode(c.getCompanyHkId());
+ model.setPersonId(HKConstants.RES_USER_INDEX+UUID.randomUUID().toString().replace("-", ""));
+ model.setGender(Constants.formatIntegerNum(c.getSex())+"");
+ model.setPersonName(c.getName());
+ if(StringUtils.isNotBlank(c.getFaceImg())){
+ model.setFaces(new ArrayList<>());
+ UserAddFaceRequest face = new UserAddFaceRequest();
+ String imageBase = ImageBase64Util.Image2Base64(path+c.getFaceImg());
+ if(face.getFaceData() == null){
+ //浜鸿劯鏁版嵁涓嶆纭紝
+ return null;
+ }
+ model.getFaces().add(face);
+
+ }
+ return model;
}
+
}
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 c8884e4..144216f 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
@@ -368,7 +368,7 @@
Retention retention = new Retention();
retention.setIsdeleted(Constants.ZERO);
retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
- retention.setClasses(visits.getMemberClasses());
+ retention.setClasses(visits.getClasses());
retention.setCode(visits.getCode());
retention.setIdcardNo(visits.getIdcardNo());
retention.setIdcardDecode(visits.getIdcardDecode());
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
new file mode 100644
index 0000000..b9aa525
--- /dev/null
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncVisitServiceImpl.java
@@ -0,0 +1,220 @@
+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.biz.system.SystemDictDataBiz;
+import com.doumee.core.erp.model.openapi.request.erp.UserFailRequest;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseResponse;
+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.core.utils.ImageBase64Util;
+import com.doumee.dao.business.CompanyMapper;
+import com.doumee.dao.business.DeviceRoleMapper;
+import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.VisitsMapper;
+import com.doumee.dao.business.join.VisitsJoinMapper;
+import com.doumee.dao.business.model.Company;
+import com.doumee.dao.business.model.DeviceRole;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.Visits;
+import com.doumee.service.business.ERPSyncService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * 娴峰悍璁垮涓氬姟Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2023/11/30 15:33
+ */
+@Service
+@Slf4j
+public class HkSyncVisitServiceImpl extends HkSyncBaseServiceImpl {
+ @Autowired
+ private VisitsJoinMapper visitsMapper;
+ @Autowired
+ private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private DeviceRoleMapper deviceRoleMapper;
+
+ /**
+ * 鍚屾娴峰悍缁勭粐淇℃伅,鏍规嵁erp鍚屾缁勭粐缁撴灉锛屽畾鏃舵鏌ラ渶瑕佷笅鍙戝埌娴峰悍鐨勭粍缁囦俊鎭�
+ */
+ @Override
+ public void syncVisitData(){
+ if(Constants.DEALING_HK_VISIT){
+ return ;
+ }
+ Constants.DEALING_HK_VISIT =true;
+ List<DeviceRole> roleList = deviceRoleMapper.selectList(new QueryWrapper<DeviceRole>().lambda()
+ .eq(DeviceRole::getType, Constants.ONE));
+ //鏍囪鏄惁璧板厤鐧昏棰勭害
+ String applyType =systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.MDJ_VISIT_REQUIRED).getCode();
+ String applyLwType =systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.MDJ_LW_REQUIRED).getCode();
+ try {
+ //鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁
+ List<Visits> alllist = getVisitList();
+ //鎸夌収鐖剁骇鐢宠鍒嗘壒澶勭悊姣忔鐢宠鏁版嵁
+ List<Visits> list = getParentList(alllist);
+ if(list ==null || list.size()==0){
+ return;
+ }
+ Date date = new Date();
+ for(Visits c : list) {
+ //鍙戣捣娴峰悍棰勭害鎺ュ彛锛堥渶瑕佺櫥璁帮級锛屾牴鎹绾﹁繑鍥炴帴鍙e皝瑁呯敵璇疯褰曟洿鏂板瓧娈�
+ String type = Constants.equalsInteger(c.getType(),Constants.ONE)?applyType:applyLwType;
+ getUpdateModelByResponse(c,date,type,roleList);
+ visitsMapper.updateById(c);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }finally {
+ Constants.DEALING_HK_VISIT =false;
+ }
+ }
+
+ private List<Visits> getParentList(List<Visits> alllist) {
+ if(alllist ==null || alllist.size()==0){
+ return null;
+ }
+ List<Visits> list = new ArrayList<>();
+
+ for (Visits v : alllist){
+ if(v.getParentId() == null){
+ v.setVisitsList(getChildListByParentId(v.getId(),alllist));
+ list.add(v);
+ }
+ }
+ return list;
+ }
+
+ private List<Visits> getChildListByParentId(Integer id, List<Visits> alllist) {
+
+ List<Visits> list = new ArrayList<>();
+
+ for (Visits v : alllist){
+ if(Constants.equalsInteger(v.getParentId(),id)){
+ list.add(v);
+ }
+ }
+ return list;
+ }
+
+ /**
+ * 鏍规嵁棰勭害杩斿洖鎺ュ彛灏佽鐢宠璁板綍鏇存柊瀛楁
+ * @param c
+ * @param date
+ * @param type 0闇�瑕佺櫥璁� 1鍏嶇櫥璁�
+ */
+ private void getUpdateModelByResponse( Visits c,Date date,String type,List<DeviceRole> roleList ) {
+ String code = null;
+ String id = null;
+ //鍙戣捣娴峰悍棰勭害鎺ュ彛
+ if(StringUtils.equals(type,"0")){
+ //锛堥渶瑕佺櫥璁帮級
+ BaseResponse<VisitAppointmentResponse> response = HKService.visitAppiontment(getHkRequestPara(c,roleList));
+ }else{
+ //鍏嶇櫥璁�
+ BaseResponse<VisitAppointmentMDJResponse> response = HKService.visitAppiontmentMDJ(getHkMDJRequestPara(c) );
+ }
+
+ if (code!= null && id!=null) {
+ //娴峰悍涓嬪彂鎴愬姛
+ c.setHkId( id);//棰勭害鏍囪瘑
+ c.setStatus(Constants.VisitStatus.xfSuccess);//涓嬪彂娴峰悍鎴愬姛
+ } else {
+ //娴峰悍涓嬪彂鎴愬姛
+ c.setStatus(Constants.VisitStatus.xfFail);//涓嬪彂娴峰悍澶辫触
+ }
+ c.setHkStatus(Constants.ONE);
+ c.setHkDate(date);
+ }
+
+ private VisitAppointmentMDJRequest getHkMDJRequestPara(Visits c) {
+ return null;
+ }
+
+ private VisitAppointmentRequest getHkRequestPara(Visits c,List<DeviceRole> roleList ) {
+ VisitAppointmentRequest request = new VisitAppointmentRequest();
+ request.setVisitStartTime(DateUtil.getISO8601Timestamp(c.getStarttime()));
+ request.setVisitEndTime(DateUtil.getISO8601Timestamp(c.getEndtime()));
+ request.setReceptionistId(c.getReceptMemberHkId());//琚浜烘捣搴风紪鐮�
+ request.setVisitPurpose(c.getReason());
+ request.setVisitorPermissionSet(new VisitAppointmentPermissonRequest());
+ //鑾峰彇鏉冮檺缁勯泦鍚�
+ String[] roles = getHkRoles(c.getDoors(),roleList);
+ if(roles==null || roles.length ==0){
+ //浣跨敤榛樿璁垮鏉冮檺缁�
+ request.getVisitorPermissionSet().setDefaultPrivilegeGroupFlag(Constants.ONE+"");
+ }else{
+ //鎸囧畾鏈夋晥娴峰悍璁垮鏉冮檺缁勬暟鎹�
+ request.getVisitorPermissionSet().setDefaultPrivilegeGroupFlag(Constants.ZERO+"");
+ request.getVisitorPermissionSet().setPrivilegeGroupIds(roles);
+ }
+ List<VisitAppointmentVistorRequest> infolist = new ArrayList<>();
+ //鐢宠浜�
+ infolist.add(getRequestInfoByVisit(c));
+ if(c.getVisitsList() != null){
+ //闅忚浜�
+ for(Visits v : c.getVisitsList()){
+ infolist.add(getRequestInfoByVisit(v));
+ }
+ }
+ request.setVisitorInfoList(infolist);
+ return request;
+ }
+
+ private VisitAppointmentVistorRequest getRequestInfoByVisit(Visits c) {
+ VisitAppointmentVistorRequest info = new VisitAppointmentVistorRequest();
+ info.setVisitorName(c.getName());
+ info.setVisitorWorkUnit(c.getCompanyName());
+ info.setPhoneNo(c.getPhone());
+
+ return info;
+ }
+
+ private String[] getHkRoles(String doors, List<DeviceRole> roleList) {
+ if(StringUtils.isBlank(doors) || roleList.size()==0|| roleList.size()==0){
+ return null;
+ }
+ String[] ids = doors.split(",");
+ List<String> roles = new ArrayList<>();
+ for (String s : ids){
+ for(DeviceRole r : roleList){
+ if(StringUtils.isNotBlank(r.getHkId()) && StringUtils.equals(s,r.getId().toString())){
+ roles.add(r.getHkId());
+ }
+ }
+ }
+ return roles.toArray(new String[]{});
+ }
+
+ /**
+ * 鏌ヨ鎵�鏈夐渶瑕佸悓姝ョ殑鏁版嵁
+ * @return
+ */
+ private List<Visits> getVisitList() {
+ MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
+ queryWrapper.selectAll(Visits.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<Visits> list = visitsMapper.selectJoinList(Visits.class,queryWrapper);
+ return list;
+ }
+
+}
diff --git a/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java b/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
index b98b733..6dd7a94 100644
--- a/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
+++ b/server/dmvisit_web/src/main/java/com/doumee/api/web/VisitorController.java
@@ -7,11 +7,13 @@
import com.doumee.dao.web.response.MemberVO;
import com.doumee.dao.web.response.WxAuthorizeVO;
import com.doumee.service.business.MemberService;
+import com.doumee.service.business.VisitsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
+import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -34,6 +36,9 @@
@Autowired
private MemberService memberService;
+ @Autowired
+ private VisitsService visitsService;
+
@ApiOperation(value = "璁垮寰俊鎺堟潈", notes = "璁垮寰俊鎺堟潈鑾峰彇openId")
@GetMapping("/wxAuthorize")
--
Gitblit v1.9.3