From 7156119e51320afd0ffdd0723cd983fd415d61d9 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期四, 26 九月 2024 11:17:34 +0800
Subject: [PATCH] fix : 新增修改车数日志

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

diff --git a/src/main/java/com/boying/service/impl/OutParkServiceImpl.java b/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
index bd3bbbc..e5c929e 100644
--- a/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
+++ b/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
@@ -4,14 +4,13 @@
 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;
+import com.boying.entity.*;
+import com.boying.mapper.EnterParkMapper;
 import com.boying.mapper.OutParkMapper;
 import com.boying.mapper.StatisticMapper;
 import com.boying.service.OutParkService;
 import com.boying.service.StatisticService;
+import com.boying.util.PlateComparator;
 import com.boying.util.RedisJsonUtil;
 import com.boying.util.StringUtil;
 import lombok.AllArgsConstructor;
@@ -19,6 +18,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;
@@ -34,6 +34,7 @@
 @AllArgsConstructor
 public class OutParkServiceImpl extends ServiceImpl<OutParkMapper, OutPark> implements OutParkService {
     private final OutParkMapper outParkMapper;
+    private final EnterParkMapper enterParkMapper;
     private StringRedisTemplate redisTemplate;
 
 
@@ -190,6 +191,82 @@
     }
 
     @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 List<Map<String, Object>> getLikeCar(String carNo, Integer parkId, LocalDateTime dateTime) {
+        QueryWrapper<EnterPark> wrapper = new QueryWrapper<>();
+        wrapper.select(" id,car_no,park_id,create_time ");
+        wrapper.lambda()
+                .eq(EnterPark::getParkId,parkId)
+                .lt(EnterPark::getCreateTime,dateTime);
+        List<EnterPark> enterParks = enterParkMapper.selectList(wrapper);
+        if(enterParks !=null && enterParks.size()>0){
+            List<Map<String, Object>> list = PlateComparator.getList(carNo, enterParks);
+            return list;
+        }else {
+            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