From 61fae74b4c77a51e77588c741a70f0872ba34ceb Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期四, 21 九月 2023 16:10:28 +0800 Subject: [PATCH] 修改 --- src/main/java/com/boying/service/impl/BarrierServiceImpl.java | 76 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 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..1d83789 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,66 @@ return null; } } + + @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() + .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