From 05e0bb9b28295d1e80c6c47783e53d6879285198 Mon Sep 17 00:00:00 2001
From: kongdeqiang <kongdeqiang960204@163.com>
Date: 星期一, 18 十二月 2023 16:17:14 +0800
Subject: [PATCH] 提交更新

---
 src/main/java/com/boying/service/impl/BarrierServiceImpl.java |   53 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 36 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/boying/service/impl/BarrierServiceImpl.java b/src/main/java/com/boying/service/impl/BarrierServiceImpl.java
index 26419ed..1d83789 100644
--- a/src/main/java/com/boying/service/impl/BarrierServiceImpl.java
+++ b/src/main/java/com/boying/service/impl/BarrierServiceImpl.java
@@ -21,6 +21,7 @@
 import java.time.ZoneId;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 /**
  * @author kdq
@@ -50,6 +51,19 @@
     }
 
     @Override
+    public Barrier findByCode2(String code) {
+        QueryWrapper<Barrier> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(Barrier::getCode2,code);
+        List<Barrier> list = list(wrapper);
+        if(list.size()>0){
+            return list.get(0);
+        }else {
+            return null;
+        }
+    }
+
+    @Override
     public boolean getDateDifIn(Integer barrierId) {
         QueryWrapper<EnterPark> wrapper = new QueryWrapper<>();
         wrapper.lambda()
@@ -57,23 +71,24 @@
                 .orderByDesc(EnterPark::getId)
                 .last(" limit 1");
         EnterPark enterPark = enterParkMapper.selectOne(wrapper);
-        long dif = DateUtil.between(Date.from( enterPark.getCreateTime().atZone( ZoneId.systemDefault()).toInstant()), new Date(), DateUnit.SECOND, false);
-        if(dif >= 5 && dif <= 7){
-            return true;
-        }else {
-            //鍒ゆ柇鍋滆溅鍦烘槸鍚︽湁浜嗚溅浣�
-            String num = redisTemplate.opsForValue().get("car_park_" +  enterPark.getParkId());
-            if(num == null){
-                num = "0";
-            }
-            Park byId = parkMapper.selectById(enterPark.getParkId());
-            int i = byId.getNum() - Integer.parseInt(num);
-            if(i<=0){
-                return false;
-            }else {
+        if(enterPark != null){
+            long dif = DateUtil.between(Date.from( enterPark.getCreateTime().atZone( ZoneId.systemDefault()).toInstant()), new Date(), DateUnit.SECOND, false);
+            if(dif >= 5 && dif <= 7){
                 return true;
+            }else {
+                //鍒ゆ柇鍋滆溅鍦烘槸鍚︽湁浜嗚溅浣�
+                String s = redisTemplate.opsForValue().get("park_change_in_" + enterPark.getParkId());
+                if("true".equals(s)){
+                    redisTemplate.opsForValue().set("park_change_in_"+enterPark.getParkId(),"false",1, TimeUnit.DAYS);
+                    return true;
+                }else {
+                    return false;
+                }
             }
+        }else {
+            return false;
         }
+
 
     }
 
@@ -85,9 +100,13 @@
                 .orderByDesc(OutPark::getId)
                 .last(" limit 1");
         OutPark outPark = outParkMapper.selectOne(wrapper);
-        long dif = DateUtil.between(Date.from( outPark.getCreateTime().atZone( ZoneId.systemDefault()).toInstant()), new Date(), DateUnit.SECOND, false);
-        if(dif >= 20 && dif <= 23){
-            return true;
+        if(outPark != null){
+            long dif = DateUtil.between(Date.from( outPark.getCreateTime().atZone( ZoneId.systemDefault()).toInstant()), new Date(), DateUnit.SECOND, false);
+            if(dif >= 20 && dif <= 23){
+                return true;
+            }else {
+                return false;
+            }
         }else {
             return false;
         }

--
Gitblit v1.9.1