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/impl/OutParkServiceImpl.java |   87 ++++++++++++++++++++++++-------------------
 1 files changed, 49 insertions(+), 38 deletions(-)

diff --git a/src/main/java/com/boying/service/impl/OutParkServiceImpl.java b/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
index affe3db..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;
@@ -118,45 +119,32 @@
 
     @Override
     public OutPark count4(Integer bId) {
-//        OutPark outPark = null;
-//        try {
-//            String s  =  redisTemplate.opsForValue().get("outPark-"+bId);
-//            if(!StringUtil.isNullOrEmpty(s)){
-//                outPark =  JSON.parseObject(s, OutPark.class);
-//                return outPark;
-//            }else {
-//                QueryWrapper<OutPark> wrapper = new QueryWrapper<>();
-//                wrapper.lambda()
-//                        .eq(OutPark::getBarrierId,bId)
-//                        .eq(OutPark::getStatus,1)
-//                        .eq(OutPark::getStatus2,0)
-//                        .orderByDesc(OutPark::getCreateTime);
-//                List<OutPark> outParks = outParkMapper.selectList(wrapper);
-//                if(outParks.size()>0){
-//                    String jsonValue = JSON.toJSONString(outParks.get(0));
-//                    redisTemplate.opsForValue().set("outPark-"+bId, jsonValue);
-//                    return outParks.get(0);
-//                }else{
-//                    return null;
-//                }
-//            }
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//        }
-//        return null;
-
-        QueryWrapper<OutPark> wrapper = new QueryWrapper<>();
-        wrapper.lambda()
-                .eq(OutPark::getBarrierId,bId)
-                .eq(OutPark::getStatus,1)
-                .eq(OutPark::getStatus2,0)
-                .orderByDesc(OutPark::getCreateTime);
-        List<OutPark> outParks = outParkMapper.selectList(wrapper);
-        if(outParks.size()>0){
-            return outParks.get(0);
-        }else{
-            return null;
+        OutPark outPark = null;
+        try {
+            String s  =  redisTemplate.opsForValue().get("outPark-"+bId);
+            if(!StringUtil.isNullOrEmpty(s)){
+                outPark =  JSON.parseObject(s, OutPark.class);
+                return outPark;
+            }else {
+                return null;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
         }
+        return null;
+//
+//        QueryWrapper<OutPark> wrapper = new QueryWrapper<>();
+//        wrapper.lambda()
+//                .eq(OutPark::getBarrierId,bId)
+//                .eq(OutPark::getStatus,1)
+//                .eq(OutPark::getStatus2,0)
+//                .orderByDesc(OutPark::getCreateTime);
+//        List<OutPark> outParks = outParkMapper.selectList(wrapper);
+//        if(outParks.size()>0){
+//            return outParks.get(0);
+//        }else{
+//            return null;
+//        }
     }
 
     @Override
@@ -203,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