From cf2758071b5f344ec5b65dcdbc51f4ed9bda1407 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 26 二月 2024 18:35:25 +0800
Subject: [PATCH] 整理

---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |   69 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 7 deletions(-)

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 3ec0b8d..d872e52 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
@@ -50,6 +50,8 @@
     @Autowired
     private CarsMapper carsMapper;
     @Autowired
+    private ParkBookMapper parkBookMapper;
+    @Autowired
     private DeviceEventMapper deviceEventMapper;
     @Autowired
     private MemberMapper memberMapper;
@@ -307,7 +309,9 @@
         EventVisitDataRequest model = request.getData();
         MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper.selectAll(Visits.class);
+        queryWrapper.selectAs(Member::getType,Visits::getMemberType);
         queryWrapper.eq(Visits::getHkId,model.getVisitorId() );
+        queryWrapper.leftJoin(Member.class,Member::getId,Visits::getMemberId );
         queryWrapper.last("limit 1");
         Visits visits = visitsMapper.selectJoinOne(Visits.class,queryWrapper);
         if(visits !=null){
@@ -321,9 +325,11 @@
                 //鏉ヨ鏃堕棿
                 updateVistis.setStatus(Constants.VisitStatus.signin);
                 updateVistis.setInDate(DateUtil.getISO8601DateByStr(model.getStartTime()));
+                updateVistis.setOutDate(DateUtil.getISO8601DateByStr(model.getEndTime()));
             }else {
                 //濡傛灉鏄瀹㈢绂讳簨浠�
                 updateVistis.setStatus(Constants.VisitStatus.signout);
+                updateVistis.setInDate(DateUtil.getISO8601DateByStr(model.getStartTime()));
                 updateVistis.setOutDate(DateUtil.getISO8601DateByStr(model.getEndTime()));
                 updateVistis.setOutType(Constants.ZERO);
                 updateVistis.setOutInfo("璁垮姝e父绛剧");
@@ -343,7 +349,9 @@
         event.setVisitorCode(request.getData().getVisitorCode());
         event.setTimeout(request.getTimeout());
         event.setSvrIndexCode(request.getData().getSvrIndexCode());
+        event.setHappenTime(request.getHappenTime());
         event.setStatus(request.getStatus());
+        event.setEndTime(request.getData().getEndTime());
         event.setStartTime(request.getData().getStartTime());
         event.setSrcType(request.getSrcType());
         event.setSrcParentIndex(request.getSrcParentIndex());
@@ -352,8 +360,23 @@
         event.setSignOrg(request.getData().getSignOrg());
         event.setSex(request.getData().getSex());
         event.setPurpose(request.getData().getPurpose());
+        event.setPhone(request.getData().getPhone());
+        event.setBeVisitedPersonId(request.getData().getBeVisitedPersonId());
+        event.setBeVisitedPersonName(request.getData().getBeVisitedPersonName());
+        event.setBeVisitedPersonOrg(request.getData().getBeVisitedPersonOrg());
+        event.setBeVisitedPersonOrgId(request.getData().getBeVisitedPersonOrgId());
+        event.setVisitorWorkUint(request.getData().getVisitorWorkUint());
         event.setPhotoUrl(getHkImgUrl(request.getData().getPhotoUrl()));
         event.setPersonName(request.getData().getPersonName());
+        event.setCarNo(request.getData().getCarNo());
+        event.setCaptureUrl(request.getData().getCaptureUrl());
+        if(StringUtils.isNotBlank(request.getData().getCaptureUrl())){
+            event.setCaptureUrl(HKConstants.IMG_INDEX+request.getData().getCaptureUrl());
+        }
+        if(StringUtils.isNotBlank(request.getData().getPhotoUrl())){
+
+            event.setPhotoUrl(HKConstants.IMG_INDEX+request.getData().getPhotoUrl());
+        }
         event.setIdType(request.getData().getIdType());
         String idnum =request.getData().getIdNo();
         if(StringUtils.isNotBlank(idnum)){
@@ -364,8 +387,6 @@
         }
         event.setEventType(request.getEventType());
         event.setEventId(request.getEventId());
-        event.setHappenTime(event.getHappenTime());
-
         return event;
     }
 
@@ -411,16 +432,28 @@
             //闂ㄧ浜嬩欢闆嗗悎
             List<EventParkInfoRequest> events  = param.getParams().getEvents();
             List<CarEvent> list = new ArrayList<>();
+            List<Retention> retentionList = new ArrayList<>();
+            List<String> delRetentionList = new ArrayList<>();
             for(EventParkInfoRequest request : events){
                 if(request.getData() ==null ||StringUtils.isBlank(request.getData().getPlateNo())){
                     continue;
                 }
                 //灏佽浜嬩欢淇℃伅琛ㄥ璞�
-                list.add(getParkEventModelByRequest(request));
+                list.add(getParkEventModelByRequest(request,delRetentionList,retentionList));
             }
             if(list.size()>0){
                 //鎻掑叆闂ㄧ璁板綍
                 carEventMapper.insertBatchSomeColumn(list);
+            }
+            if(delRetentionList.size()>0){
+                //鍏堝垹闄ゅ師鏈夌殑鍦ㄥ満浜哄憳(鍐呴儴浜哄憳锛�
+                retentionMapper.delete(new UpdateWrapper<Retention>().lambda()
+                        .eq(Retention::getType,Constants.THREE)
+                        .in(Retention::getCarNo,delRetentionList));
+            }
+            if(retentionList.size()>0){
+                //鍐嶆彃鍏ユ渶鏂扮殑鍦ㄥ巶浜哄憳
+                retentionMapper.insertBatchSomeColumn(retentionList);
             }
             log.error("銆愭捣搴峰仠杞﹀満浜嬩欢鎺ㄩ�併��========鎴愬姛=======");
         }catch (Exception e){
@@ -436,7 +469,7 @@
      * @param request
      * @return
      */
-    private CarEvent getParkEventModelByRequest(EventParkInfoRequest request) {
+    private CarEvent getParkEventModelByRequest(EventParkInfoRequest request, List<String> delRetentionList , List<Retention> retentionList ) {
         CarEvent event = new CarEvent();
         event.setIsdeleted(Constants.ZERO);
         event.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
@@ -490,18 +523,40 @@
             event.setPlatePicUrl(getHkImgUrl(request.getData().getPicUrl().getPlatePicUrl()));
         }
         if(StringUtils.isNotBlank(event.getPlateNos())){
-                Cars cars = carsMapper.selectOne(new QueryWrapper<Cars>().lambda()
-                        .eq(Cars::getCode,event.getPlateNos())
-                                .eq(Cars::getIsdeleted,Constants.ONE )
+                ParkBook cars = parkBookMapper.selectOne(new QueryWrapper<ParkBook>().lambda()
+                        .eq(ParkBook::getCarCode,event.getPlateNos())
+                                .eq(ParkBook::getIsdeleted,Constants.ONE )
                         .last("limit 1" ));
                 if(cars!=null){
                     event.setMemberId(cars.getMemberId());
                 }
+
+            if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){
+                //濡傛灉鏄叆鍘傛斁琛�
+                delRetentionList.add(event.getPlateNos());
+                retentionList.add(getRetentionModelByParkRequest(request));
+            }else if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){
+                //濡傛灉鏄嚭鍦烘斁琛�
+                delRetentionList.add(event.getPlateNos());
+            }
         }
+
         return event;
 
     }
 
+    private Retention getRetentionModelByParkRequest(EventParkInfoRequest request) {
+        Retention retention = new Retention();
+        retention.setIsdeleted(Constants.ZERO);
+        retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
+        retention.setCarNo(request.getData().getPlateNo());
+        retention.setType(Constants.THREE);
+//        retention.setDeviceName(request.getSrcName());
+//        retention.setDeviceIndex(request.getSrcIndex());
+
+        return retention;
+    }
+
     private void saveInterfaceLog(Object param, String path,String result) {
         InterfaceLog hkMonitoryLogDO=new InterfaceLog();
         hkMonitoryLogDO.setType(1);

--
Gitblit v1.9.3