From ea7140711e2f2aec1559049ee139d69dfbe1575d Mon Sep 17 00:00:00 2001
From: kongdeqiang <kongdeqiang960204@163.com>
Date: 星期四, 01 六月 2023 13:47:26 +0800
Subject: [PATCH] 提交更新

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

diff --git a/src/main/java/com/boying/service/impl/BarrierServiceImpl.java b/src/main/java/com/boying/service/impl/BarrierServiceImpl.java
index b8a2b76..4e6a807 100644
--- a/src/main/java/com/boying/service/impl/BarrierServiceImpl.java
+++ b/src/main/java/com/boying/service/impl/BarrierServiceImpl.java
@@ -1,17 +1,27 @@
 package com.boying.service.impl;
 
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
 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.EnterPark;
+import com.boying.entity.OutPark;
+import com.boying.entity.Park;
 import com.boying.mapper.BarrierMapper;
 import com.boying.mapper.EnterParkMapper;
+import com.boying.mapper.OutParkMapper;
+import com.boying.mapper.ParkMapper;
 import com.boying.service.BarrierService;
 import com.boying.service.EnterParkService;
 import lombok.AllArgsConstructor;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 
+import java.time.ZoneId;
+import java.util.Date;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 /**
  * @author kdq
@@ -23,6 +33,10 @@
 @Service
 @AllArgsConstructor
 public class BarrierServiceImpl extends ServiceImpl<BarrierMapper, Barrier> implements BarrierService {
+    private EnterParkMapper enterParkMapper;
+    private OutParkMapper outParkMapper;
+    private StringRedisTemplate redisTemplate;
+    private ParkMapper parkMapper;
     @Override
     public Barrier findByCode(String code) {
         QueryWrapper<Barrier> wrapper = new QueryWrapper<>();
@@ -35,4 +49,53 @@
             return null;
         }
     }
+
+    @Override
+    public boolean getDateDifIn(Integer barrierId) {
+        QueryWrapper<EnterPark> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(EnterPark::getBarrierId,barrierId)
+                .orderByDesc(EnterPark::getId)
+                .last(" limit 1");
+        EnterPark enterPark = enterParkMapper.selectOne(wrapper);
+        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;
+        }
+
+
+    }
+
+    @Override
+    public boolean getDateDifOut(Integer barrierId) {
+        QueryWrapper<OutPark> wrapper = new QueryWrapper<>();
+        wrapper.lambda()
+                .eq(OutPark::getBarrierId,barrierId)
+                .orderByDesc(OutPark::getId)
+                .last(" limit 1");
+        OutPark outPark = outParkMapper.selectOne(wrapper);
+        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