From 43c7cf553e5c78d81b8f23a043901926c45eb0cf Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 30 十二月 2024 18:46:00 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java |   84 ++++++++++++++++++++++++++++++------------
 1 files changed, 60 insertions(+), 24 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index 98a540a..a3da3de 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -19,28 +19,21 @@
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.*;
+import com.doumee.dao.business.dao.MemberMapper;
 import com.doumee.dao.business.join.VisitsJoinMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.model.Member;
 import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
-import com.doumee.service.business.PlatformJobService;
 import com.doumee.service.business.impl.PlatformWarnEventServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.http.util.EntityUtils;
-import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
 import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -488,10 +481,12 @@
                 //濡傛灉鏄瀹㈢櫥璁帮紝褰曞叆浜哄憳鐨勫湪鍦烘暟鎹褰�
 //                retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType()));
                 //鏉ヨ鏃堕棿
-                inoutDayCount.setSigninVisitorNum(Constants.formatIntegerNum(inoutDayCount.getSigninVisitorNum())+1);
-                updateVistis.setStatus(Constants.VisitStatus.signin);
-                updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
-                updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime()));
+                if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess)){
+                    inoutDayCount.setSigninVisitorNum(Constants.formatIntegerNum(inoutDayCount.getSigninVisitorNum())+1);
+                    updateVistis.setStatus(Constants.VisitStatus.signin);
+                    updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
+                    updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime()));
+                }
                 //鏇存柊鏈�鏂版潵璁挎椂闂�
                 Member member = new Member();
                 member.setLastVisitDate(updateVistis.getInDate());
@@ -499,12 +494,14 @@
                 memberMapper.updateById(member);
             }else if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_OUT.getKey())  {
                 //濡傛灉鏄瀹㈢绂讳簨浠�
-                inoutDayCount.setLeaveVisitorNum(Constants.formatIntegerNum(inoutDayCount.getLeaveVisitorNum())+1);
-                updateVistis.setStatus(Constants.VisitStatus.signout);
-                updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
-                updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime()));
-                updateVistis.setOutType(Constants.ZERO);
-                updateVistis.setOutInfo("璁垮姝e父绛剧");
+                if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.signin)){
+                    inoutDayCount.setLeaveVisitorNum(Constants.formatIntegerNum(inoutDayCount.getLeaveVisitorNum())+1);
+                    updateVistis.setStatus(Constants.VisitStatus.signout);
+                    updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
+                    updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime()));
+                    updateVistis.setOutType(Constants.ZERO);
+                    updateVistis.setOutInfo("璁垮姝e父绛剧");
+                }
             }else{
                 //濡傛灉浜哄憳淇℃伅瀛樺湪锛屽垏鏄瀹㈤�氳锛屽垯鍒犻櫎涔嬪墠鐨勬墍鏈夎繘鍦烘暟鎹紙鏃犺姝ゆ鎺ㄩ�佹槸杩涘巶杩樻槸鍑哄満鎺ㄩ�佷簨浠讹級
                 delRetentionLis.add(visits.getMemberId());
@@ -834,6 +831,44 @@
             event.setPlatePicUrl(getHkImgUrl(request.getData().getPicUrl().getPlatePicUrl()));
         }
         if(StringUtils.isNotBlank(event.getPlateNos())){
+            Cars carModel = carsMapper.selectJoinOne(Cars.class,new MPJLambdaWrapper<Cars>()
+                            .selectAll(Cars.class )
+                            .selectAs(Company::getType,Cars::getCompanyType)
+                            .leftJoin(Company.class,Company::getId,Cars::getGroupId)
+                            .eq(Cars::getCode,event.getPlateNos())
+                            .eq(Cars::getIsdeleted,Constants.ZERO)
+                            .last(" limit 1"));
+            if(carModel!=null){
+                //0瀹夋嘲鍏姟杞� 1瀹夋嘲鑷湁鐗╂祦杞� 2鍏跺畠
+                event.setMemberId(carModel.getMemberId());
+                event.setCompanyId(carModel.getGroupId());
+                if(Constants.equalsInteger(carModel.getType(),Constants.ONE)){
+                    event.setCarType(Constants.RetentionCarType.selfTruck);
+                }else {
+                    if(Constants.equalsInteger(carModel.getCompanyType(),Constants.ONE)){
+                        event.setCarType(Constants.RetentionCarType.internal);//鍐呴儴杞﹁締
+                    }else{
+                        event.setCarType(Constants.RetentionCarType.relation);//鐩稿叧鏂硅溅杈�
+                    }
+                }
+            }
+            PlatformJob carTypeJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
+                            .eq(PlatformJob::getCarCodeFront,event.getPlateNos())
+                            .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+                            .orderByAsc(PlatformJob::getCreateDate)
+                            .last(" limit 1"));
+            if(carTypeJob!=null){
+                //浣滀笟绫诲瀷 0鑷湁杞﹀嵏璐� 1鑷湁杞﹁璐� 2澶栧崗杞﹀嵏璐� 3澶栧崗杞﹁璐� 4甯傚叕鍙稿鍗忚溅鍗歌揣
+                if(Constants.equalsInteger(carTypeJob.getType(),Constants.FOUR)){
+                    event.setCarType(Constants.RetentionCarType.cityComTruck);//甯傚叕鍙歌溅杈�
+                }else if(Constants.equalsInteger(carTypeJob.getType(),Constants.TWO)
+                        || Constants.equalsInteger(carTypeJob.getType(),Constants.THREE)){
+                    event.setCarType(Constants.RetentionCarType.outTruck);//澶栧崗杞�
+                }else{
+                    event.setCarType(Constants.RetentionCarType.selfTruck);//鑷湁杞�
+                }
+            }
+
             ParkBook cars = parkBookMapper.selectOne(new QueryWrapper<ParkBook>().lambda()
                     .eq(ParkBook::getCarCode,event.getPlateNos())
                             .eq(ParkBook::getIsdeleted,Constants.ZERO )
@@ -884,9 +919,6 @@
                         }
                     }
                 };
-
-
-
             }else{
                 Visits visits =  visitsMapper.selectOne(new QueryWrapper<Visits>().lambda()
                         .eq(Visits::getCarNos,event.getPlateNos())
@@ -898,12 +930,13 @@
                 if(visits!=null){
                     //鏈�杩戜娇鐢ㄨ杞︾殑鐢宠浜猴紙宸插埌杈撅級
                     event.setMemberId(visits.getMemberId());
+                    event.setCarType(Constants.RetentionCarType.visitor);
                 }
             }
             if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){
                 //濡傛灉鏄叆鍘傛斁琛�
                 delRetentionList.add(event.getPlateNos());
-                retentionList.add(getRetentionModelByParkRequest(request));
+                retentionList.add(getRetentionModelByParkRequest(request,event));
                 inoutDayCount.setInCarNum(Constants.formatIntegerNum(inoutDayCount.getInCarNum())+1);
             }else if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){
                 //濡傛灉鏄嚭鍦烘斁琛�
@@ -914,12 +947,15 @@
         return event;
     }
 
-    private Retention getRetentionModelByParkRequest(EventParkInfoRequest request) {
+    private Retention getRetentionModelByParkRequest(EventParkInfoRequest request,CarEvent event) {
         Retention retention = new Retention();
         retention.setIsdeleted(Constants.ZERO);
         retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
         retention.setCarNo(request.getData().getPlateNo());
         retention.setType(Constants.THREE);
+        retention.setMemberId(event.getMemberId());
+        retention.setCarType(event.getCarType());
+        retention.setCompanyId(event.getCompanyId());
 //        retention.setDeviceName(request.getSrcName());
 //        retention.setDeviceIndex(request.getSrcIndex());
         return retention;

--
Gitblit v1.9.3