From fb050c0dafa5363a73540dd9e52b78487e25ba0a Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期二, 09 四月 2024 17:32:46 +0800
Subject: [PATCH] fix:新增手动抬杆记录

---
 src/main/java/com/boying/service/impl/OutParkServiceImpl.java |  102 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 85 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/boying/service/impl/OutParkServiceImpl.java b/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
index a18bfbc..c6ace3d 100644
--- a/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
+++ b/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
@@ -1,8 +1,10 @@
 package com.boying.service.impl;
 
 import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.boying.entity.Barrier;
 import com.boying.entity.OutPark;
 import com.boying.entity.Park;
 import com.boying.entity.Statistic;
@@ -11,10 +13,13 @@
 import com.boying.service.OutParkService;
 import com.boying.service.StatisticService;
 import com.boying.util.RedisJsonUtil;
+import com.boying.util.StringUtil;
 import lombok.AllArgsConstructor;
+import org.springframework.data.redis.core.StringRedisTemplate;
 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;
@@ -30,7 +35,8 @@
 @AllArgsConstructor
 public class OutParkServiceImpl extends ServiceImpl<OutParkMapper, OutPark> implements OutParkService {
     private final OutParkMapper outParkMapper;
-    private final RedisJsonUtil redisJsonUtil;
+    private StringRedisTemplate redisTemplate;
+
 
     @Override
     public int count1() {
@@ -115,28 +121,30 @@
     public OutPark count4(Integer bId) {
         OutPark outPark = null;
         try {
-            outPark =  redisJsonUtil.get("outPark-"+bId, OutPark.class);
-            if(outPark != null){
+            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){
-                    redisJsonUtil.set("outPark-"+bId, outParks.get(0));
-                    return outParks.get(0);
-                }else{
-                    return null;
-                }
+                return null;
             }
-        } catch (IOException e) {
+        } 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
@@ -183,6 +191,66 @@
     }
 
     @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 OutPark findBy10min(String carNo, Integer parkId,LocalDateTime dateTime,Integer outParkId) {
+        LocalDateTime localDateTime = dateTime.minusMinutes(10);
+        QueryWrapper<OutPark> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(OutPark::getCarNo,carNo)
+                .eq(OutPark::getParkId,parkId)
+                .ge(OutPark::getCreateTime,localDateTime)
+                .ge(OutPark::getPrice,0)
+                .ne(OutPark::getId,outParkId)
+                .isNotNull(OutPark::getPayCode)
+                .isNotNull(OutPark::getEnterTime);
+        List<OutPark> outParks = outParkMapper.selectList(wrapper);
+        if(outParks != null && outParks.size()>0){
+            return outParks.get(0);
+        }
+        return null;
+    }
+
+    @Override
+    public OutPark findBy5min2(String carNo, Integer parkId,LocalDateTime dateTime) {
+        LocalDateTime localDateTime = dateTime.minusMinutes(7);
+        QueryWrapper<OutPark> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(OutPark::getCarNo,carNo)
+                .eq(OutPark::getParkId,parkId)
+                .ge(OutPark::getCreateTime,localDateTime)
+                .ge(OutPark::getPrice,0)
+                .ne(OutPark::getStatus,1)
+                .isNotNull(OutPark::getPayCode)
+                .isNotNull(OutPark::getEnterTime);
+        List<OutPark> outParks = outParkMapper.selectList(wrapper);
+        if(outParks != null && outParks.size()>0){
+           return outParks.get(0);
+        }
+        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