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