From d6aa1029a1c538cd2227f0026ad5adbaa1739726 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期一, 25 三月 2024 16:24:16 +0800
Subject: [PATCH] 出场车辆5分钟之内有正常出场记录的抬杆
---
src/main/java/com/boying/controller/car/PlateServlet3.java | 159 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 119 insertions(+), 40 deletions(-)
diff --git a/src/main/java/com/boying/controller/car/PlateServlet3.java b/src/main/java/com/boying/controller/car/PlateServlet3.java
index 612d1e5..ae6f6cc 100644
--- a/src/main/java/com/boying/controller/car/PlateServlet3.java
+++ b/src/main/java/com/boying/controller/car/PlateServlet3.java
@@ -12,6 +12,7 @@
import com.boying.service.*;
import com.boying.util.DateUtilOther;
import com.boying.util.FileUtil;
+import com.boying.util.RedisJsonUtil;
import com.boying.util.StringUtil;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
@@ -19,6 +20,7 @@
import ledshow.LedBean;
import ledshow.ResultData;
import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
@@ -32,6 +34,7 @@
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.time.Duration;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Base64;
@@ -59,6 +62,8 @@
private final WhiteListService whiteListService;
private final FileInfoService fileInfoService;
private final TicketBlackService ticketBlackService;
+ private final OutParkLogService outParkLogService;
+ // private final RedisJsonUtil redisJsonUtil;
private final String LEDURL = "http://192.168.31.212:9988/LedShow/IGetResultDataAllLine";
/**
@@ -138,9 +143,13 @@
@PostMapping("/status")
public void heart(String serialno,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
Barrier barrier = barrierService.findByCode(serialno);
- Park park = parkService.getById(barrier.getParkId());
- String redis = redisTemplate.opsForValue().get("park_up_" + park.getId());
+ Park park = parkService.getOneById(barrier.getParkId());
+ // Park park = parkService.getById(barrier.getParkId());
+ // String redis = redisTemplate.opsForValue().get("park_up_" + park.getId());
String redisnum = redisTemplate.opsForValue().get("car_park_" + park.getId());
+ if(StringUtils.isBlank(redisnum)){
+ redisnum = "0";
+ }
if(barrier!=null){
if(barrier.getType2()==1){
//寰呭紑闂�
@@ -169,35 +178,54 @@
barrier.setStatus(0);
barrier.setUpdateTime(LocalDateTime.now());
barrierService.saveOrUpdate(barrier);
+
+ String jsonValue = JSON.toJSONString(barrier);
+ redisTemplate.opsForValue().set("barrier-"+barrier.getCode(), jsonValue);
easyOpen(request,response);
}else {
//涓嶉渶寮�闂�
- barrier.setStatus(0);
- barrier.setUpdateTime(LocalDateTime.now());
- barrierService.saveOrUpdate(barrier);
- OutPark outPark = outParkService.count4(barrier.getId());
- if(outPark!=null){
- if(barrier.getType() == 0){
- int i = Integer.parseInt(redisnum);
- i--;
- if(i<0){
- String s= "2."+outPark.getCarNo()+"缂磋垂瀹屾垚锛屽満鍐呭仠杞︽暟涓�"+i+"\n";
- writeTxt2(s);
- redisTemplate.opsForValue().set("car_park_" + park.getId(),"0",30, TimeUnit.DAYS);
- redisTemplate.opsForValue().set("park_up_" + park.getId(),"true",30, TimeUnit.DAYS);
- }else {
- String s= "2."+outPark.getCarNo()+"缂磋垂瀹屾垚锛屽満鍐呭仠杞︽暟涓�"+i+"\n";
- writeTxt2(s);
- redisTemplate.opsForValue().set("car_park_" + park.getId(),Integer.toString(i),30, TimeUnit.DAYS);
- redisTemplate.opsForValue().set("park_up_" + park.getId(),"true",30, TimeUnit.DAYS);
+ LocalDateTime now = LocalDateTime.now();
+ LocalDateTime updateTime = barrier.getUpdateTime();
+ Duration duration = Duration.between(updateTime,now);
+ long minutes = duration.toMinutes();
+ if(minutes>=2){
+ barrier.setStatus(0);
+ barrier.setUpdateTime(LocalDateTime.now());
+ barrierService.saveOrUpdate(barrier);
+ }
+
+ String jsonValue = JSON.toJSONString(barrier);
+ redisTemplate.opsForValue().set("barrier-"+barrier.getCode(), jsonValue);
+ if(barrier.getType() == 0){
+ OutPark outPark = outParkService.count4(barrier.getId());
+ if(outPark!=null){
+ if(barrier.getType() == 0){
+ int i = Integer.parseInt(redisnum);
+ i--;
+ if(i<0){
+ String s= "2."+outPark.getCarNo()+"缂磋垂瀹屾垚锛屽満鍐呭仠杞︽暟涓�"+i+"\n";
+ writeTxt2(s);
+ redisTemplate.opsForValue().set("car_park_" + park.getId(),"0",30, TimeUnit.DAYS);
+ redisTemplate.opsForValue().set("park_up_" + park.getId(),"true",30, TimeUnit.DAYS);
+ }else {
+ String s= "2."+outPark.getCarNo()+"缂磋垂瀹屾垚锛屽満鍐呭仠杞︽暟涓�"+i+"\n";
+ writeTxt2(s);
+ redisTemplate.opsForValue().set("car_park_" + park.getId(),Integer.toString(i),30, TimeUnit.DAYS);
+ redisTemplate.opsForValue().set("park_up_" + park.getId(),"true",30, TimeUnit.DAYS);
+ }
}
+ outPark.setStatus2(1);
+ outParkService.saveOrUpdate(outPark);
+ easyOpen(request,response);
+ OutParkLog byOutPark = outParkLogService.getByOutPark(outPark.getCarNo(), outPark.getId());
+ byOutPark.setOpenTime(LocalDateTime.now());
+ outParkLogService.saveOrUpdate(byOutPark);
+ enterParkService.deleteByCarNo(outPark.getCarNo(), barrier.getParkId());
+ redisTemplate.delete("outPark-"+outPark.getBarrierId());
}
- outPark.setStatus2(1);
- outParkService.saveOrUpdate(outPark);
- easyOpen(request,response);
}
if(barrier.getType() == 1){
- boolean in = barrierService.getDateDifIn(barrier.getId());
+ boolean in = barrierService.getDateDifIn(park.getId());
if(in){
inLedShowDefault(park.getId(),request,response);
}
@@ -515,6 +543,9 @@
enterPark.setImgId(fileInfo.getId());
}
enterParkService.saveOrUpdate(enterPark);
+ String jsonValue = JSON.toJSONString(enterPark);
+ redisTemplate.opsForValue().set("enterPark_dif_"+ parkId, jsonValue);
+
}
}
@@ -566,7 +597,7 @@
barrier.setCarNo(carNo);
//led灞曠ず
if(toDayHrMinSec == null){
- toDayHrMinSec = "涓嶈冻涓ゅ皬鏃�";
+ toDayHrMinSec = "鍏ュ満璁板綍寮傚父,璇疯仈绯荤鐞嗗憳";
}
//鍒ゆ柇鏄惁鍦ㄧ櫧鍚嶅崟
QueryWrapper<WhiteList> wrapper = new QueryWrapper<>();
@@ -581,6 +612,11 @@
byCarNoAndBarrierId.setStatus(2);
byCarNoAndBarrierId.setStatus2(1);
outParkService.saveOrUpdate(byCarNoAndBarrierId);
+ barrierService.saveOrUpdate(barrier);
+ String jsonValue2 = JSON.toJSONString(barrier);
+ redisTemplate.opsForValue().set("barrier-"+barrier.getCode(), jsonValue2);
+ String jsonValue = JSON.toJSONString(byCarNoAndBarrierId);
+ redisTemplate.opsForValue().set("outPark_dif_"+ barrierId, jsonValue);
return 0.0;
}else{
if(StringUtils.isNotBlank(w.getParkIds())){
@@ -595,6 +631,11 @@
byCarNoAndBarrierId.setStatus(2);
byCarNoAndBarrierId.setStatus2(1);
outParkService.saveOrUpdate(byCarNoAndBarrierId);
+ barrierService.saveOrUpdate(barrier);
+ String jsonValue2 = JSON.toJSONString(barrier);
+ redisTemplate.opsForValue().set("barrier-"+barrier.getCode(), jsonValue2);
+ String jsonValue = JSON.toJSONString(byCarNoAndBarrierId);
+ redisTemplate.opsForValue().set("outPark_dif_"+ barrierId, jsonValue);
return 0.0;
}
}
@@ -603,19 +644,29 @@
}
}
}
+ barrierService.saveOrUpdate(barrier);
+ String jsonValue2 = JSON.toJSONString(barrier);
+ redisTemplate.opsForValue().set("barrier-"+barrier.getCode(), jsonValue2);
if(outPark.getPrice()==0&&outPark.getStatus3()==0){
System.out.println(outPark.getCarNo()+"璇ヨ溅涓嶉渶瑕佺即璐�");
String s= "1."+barrier.getCarNo()+"璇ヨ溅涓嶉渶瑕佺即璐筡n";
writeTxt2(s);
+ String jsonValue = JSON.toJSONString(outPark);
+ redisTemplate.opsForValue().set("outPark_dif_"+ barrierId, jsonValue);
outLedShow(barrier.getCode(),barrier.getCarNo(),outPark.getPrice(),toDayHrMinSec,barrier.getParkId(),request,response,0);
}else {
//闇�瑕佺即璐规垨鑰呮湁杩濈珷
System.out.println(outPark.getCarNo()+"璇ヨ溅闇�瑕佺即璐�"+outPark.getPrice());
String s= "1."+barrier.getCarNo()+"璇ヨ溅闇�瑕佺即璐筡n";
writeTxt2(s);
+ OutParkLog byOutPark = outParkLogService.getByOutPark(outPark.getCarNo(), outPark.getId());
+ byOutPark.setOutTime(outPark.getCreateTime());
+ byOutPark.setParkId(outPark.getParkId());
+ outParkLogService.saveOrUpdate(byOutPark);
+ String jsonValue = JSON.toJSONString(outPark);
+ redisTemplate.opsForValue().set("outPark_dif_"+ barrierId, jsonValue);
outLedShow(barrier.getCode(),barrier.getCarNo(),outPark.getPrice(),toDayHrMinSec,barrier.getParkId(),request,response,1);
}
- barrierService.saveOrUpdate(barrier);
return money;
}
@@ -793,22 +844,49 @@
if(carNo.equals("鏃犺溅鐗�")){
noOpen(request,response,data1);
}else {
- //寮�闂�
- open(request,response,data1);
- redisTemplate.opsForValue().set("park_change_in_"+parkId,"true",1, TimeUnit.DAYS);
- int i = Integer.parseInt(redisnum);
- i--;
- if(i<0){
- String s= "2."+carNo+"锛屽満鍐呭仠杞︽暟涓�0\n";
- writeTxt2(s);
- redisTemplate.opsForValue().set("car_park_" + parkId,"0",30, TimeUnit.DAYS);
- redisTemplate.opsForValue().set("park_up_" + parkId,"true",30, TimeUnit.DAYS);
+ if(timeStamp.contains("璁板綍寮傚父")){
+ OutPark by5min = outParkService.findBy5min(carNo, parkId, LocalDateTime.now());
+ if(by5min != null){
+ //寮�闂�
+ open(request,response,data1);
+ enterParkService.deleteByCarNo(carNo, parkId);
+ redisTemplate.opsForValue().set("park_change_in_"+parkId,"true",1, TimeUnit.DAYS);
+ int i = Integer.parseInt(redisnum);
+ i--;
+ if(i<0){
+ String s= "2."+carNo+"锛屽満鍐呭仠杞︽暟涓�0\n";
+ writeTxt2(s);
+ redisTemplate.opsForValue().set("car_park_" + parkId,"0",30, TimeUnit.DAYS);
+ redisTemplate.opsForValue().set("park_up_" + parkId,"true",30, TimeUnit.DAYS);
+ }else {
+ String s= "2."+carNo+"锛屽満鍐呭仠杞︽暟涓�"+i+"\n";
+ writeTxt2(s);
+ redisTemplate.opsForValue().set("car_park_" + parkId,Integer.toString(i),30, TimeUnit.DAYS);
+ redisTemplate.opsForValue().set("park_up_" + parkId,"true",30, TimeUnit.DAYS);
+ }
+ }else {
+ noOpen(request,response,data1);
+ }
}else {
- String s= "2."+carNo+"锛屽満鍐呭仠杞︽暟涓�"+i+"\n";
- writeTxt2(s);
- redisTemplate.opsForValue().set("car_park_" + parkId,Integer.toString(i),30, TimeUnit.DAYS);
- redisTemplate.opsForValue().set("park_up_" + parkId,"true",30, TimeUnit.DAYS);
+ //寮�闂�
+ open(request,response,data1);
+ enterParkService.deleteByCarNo(carNo, parkId);
+ redisTemplate.opsForValue().set("park_change_in_"+parkId,"true",1, TimeUnit.DAYS);
+ int i = Integer.parseInt(redisnum);
+ i--;
+ if(i<0){
+ String s= "2."+carNo+"锛屽満鍐呭仠杞︽暟涓�0\n";
+ writeTxt2(s);
+ redisTemplate.opsForValue().set("car_park_" + parkId,"0",30, TimeUnit.DAYS);
+ redisTemplate.opsForValue().set("park_up_" + parkId,"true",30, TimeUnit.DAYS);
+ }else {
+ String s= "2."+carNo+"锛屽満鍐呭仠杞︽暟涓�"+i+"\n";
+ writeTxt2(s);
+ redisTemplate.opsForValue().set("car_park_" + parkId,Integer.toString(i),30, TimeUnit.DAYS);
+ redisTemplate.opsForValue().set("park_up_" + parkId,"true",30, TimeUnit.DAYS);
+ }
}
+
}
}else {
noOpen(request,response,data1);
@@ -840,6 +918,7 @@
if(type == 0){
//寮�闂�
open(request,response,data1);
+ enterParkService.deleteByCarNo(carNo,parkId);
redisTemplate.opsForValue().set("park_change_in_"+parkId,"true",1, TimeUnit.DAYS);
int i = Integer.parseInt(redisnum);
i--;
--
Gitblit v1.9.1