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