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