From d6aa1029a1c538cd2227f0026ad5adbaa1739726 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期一, 25 三月 2024 16:24:16 +0800
Subject: [PATCH] 出场车辆5分钟之内有正常出场记录的抬杆

---
 src/main/java/com/boying/service/OutParkService.java          |    3 +++
 src/main/java/com/boying/service/impl/OutParkServiceImpl.java |   24 ++++++++++++++++++++++++
 src/main/java/com/boying/controller/car/PlateServlet3.java    |   23 ++++++++++++++++++++++-
 3 files changed, 49 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/boying/controller/car/PlateServlet3.java b/src/main/java/com/boying/controller/car/PlateServlet3.java
index 3aaf2e4..ae6f6cc 100644
--- a/src/main/java/com/boying/controller/car/PlateServlet3.java
+++ b/src/main/java/com/boying/controller/car/PlateServlet3.java
@@ -845,7 +845,28 @@
                 noOpen(request,response,data1);
             }else {
                 if(timeStamp.contains("璁板綍寮傚父")){
-                    noOpen(request,response,data1);
+                    OutPark by5min = outParkService.findBy5min(carNo, parkId, LocalDateTime.now());
+                    if(by5min != null){
+                        //寮�闂�
+                        open(request,response,data1);
+                        enterParkService.deleteByCarNo(carNo, parkId);
+                        redisTemplate.opsForValue().set("park_change_in_"+parkId,"true",1, TimeUnit.DAYS);
+                        int i = Integer.parseInt(redisnum);
+                        i--;
+                        if(i<0){
+                            String s= "2."+carNo+"锛屽満鍐呭仠杞︽暟涓�0\n";
+                            writeTxt2(s);
+                            redisTemplate.opsForValue().set("car_park_" + parkId,"0",30, TimeUnit.DAYS);
+                            redisTemplate.opsForValue().set("park_up_" + parkId,"true",30, TimeUnit.DAYS);
+                        }else {
+                            String s= "2."+carNo+"锛屽満鍐呭仠杞︽暟涓�"+i+"\n";
+                            writeTxt2(s);
+                            redisTemplate.opsForValue().set("car_park_" + parkId,Integer.toString(i),30, TimeUnit.DAYS);
+                            redisTemplate.opsForValue().set("park_up_" + parkId,"true",30, TimeUnit.DAYS);
+                        }
+                    }else {
+                        noOpen(request,response,data1);
+                    }
                 }else {
                     //寮�闂�
                     open(request,response,data1);
diff --git a/src/main/java/com/boying/service/OutParkService.java b/src/main/java/com/boying/service/OutParkService.java
index 57aba40..c7ef06f 100644
--- a/src/main/java/com/boying/service/OutParkService.java
+++ b/src/main/java/com/boying/service/OutParkService.java
@@ -4,6 +4,7 @@
 import com.boying.entity.OutPark;
 import com.boying.entity.Statistic;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -41,5 +42,7 @@
 
     OutPark findByOrderId(String txnOrderId);
 
+    OutPark findBy5min(String carNo, Integer parkId, LocalDateTime dateTime);
+
 
 }
diff --git a/src/main/java/com/boying/service/impl/OutParkServiceImpl.java b/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
index bd3bbbc..960318c 100644
--- a/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
+++ b/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
@@ -19,6 +19,7 @@
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
+import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -190,6 +191,29 @@
     }
 
     @Override
+    public OutPark findBy5min(String carNo, Integer parkId,LocalDateTime dateTime) {
+        LocalDateTime localDateTime = dateTime.minusMinutes(5);
+        QueryWrapper<OutPark> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(OutPark::getCarNo,carNo)
+                .eq(OutPark::getParkId,parkId)
+                .ge(OutPark::getCreateTime,localDateTime)
+                .isNotNull(OutPark::getEnterTime);
+        List<OutPark> outParks = outParkMapper.selectList(wrapper);
+        if(outParks != null && outParks.size()>0){
+            for (OutPark outPark : outParks) {
+                if(outPark.getPrice() == 0){
+                    return outPark;
+                }
+                if(outPark.getPrice() != 0 && outPark.getStatus() == 1){
+                    return outPark;
+                }
+            }
+        }
+        return null;
+    }
+
+    @Override
     public List<OutPark> getList(long current, long size, String carNo, Long parkId, String payCode, String date) {
         return outParkMapper.getList((current-1)*size,size,carNo,parkId,payCode,date);
     }

--
Gitblit v1.9.1