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 | 124 ++++++++++++++++++++++++++++++++++------
1 files changed, 104 insertions(+), 20 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..e5c929e 100644
--- a/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
+++ b/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
@@ -1,20 +1,24 @@
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.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;
+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 +34,9 @@
@AllArgsConstructor
public class OutParkServiceImpl extends ServiceImpl<OutParkMapper, OutPark> implements OutParkService {
private final OutParkMapper outParkMapper;
- private final RedisJsonUtil redisJsonUtil;
+ private final EnterParkMapper enterParkMapper;
+ 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,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