From bccd25039a08f8833b72ff906d156da63018db98 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期二, 19 三月 2024 15:10:13 +0800
Subject: [PATCH] 新增心跳缓存

---
 src/main/java/com/boying/controller/car/PlateServlet3.java |   93 ++++++++++++++++++++++++++++++----------------
 1 files changed, 60 insertions(+), 33 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..f921468 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;
@@ -59,6 +61,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,6 +142,7 @@
     @PostMapping("/status")
     public void heart(String serialno,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
         Barrier barrier = barrierService.findByCode(serialno);
+       // 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());
@@ -169,32 +174,45 @@
                 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);
+
+//                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());
@@ -566,7 +584,7 @@
         barrier.setCarNo(carNo);
         //led灞曠ず
         if(toDayHrMinSec == null){
-            toDayHrMinSec = "涓嶈冻涓ゅ皬鏃�";
+            toDayHrMinSec = "鍏ュ満璁板綍寮傚父,璇疯仈绯荤鐞嗗憳";
         }
         //鍒ゆ柇鏄惁鍦ㄧ櫧鍚嶅崟
         QueryWrapper<WhiteList> wrapper = new QueryWrapper<>();
@@ -613,6 +631,10 @@
             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);
             outLedShow(barrier.getCode(),barrier.getCarNo(),outPark.getPrice(),toDayHrMinSec,barrier.getParkId(),request,response,1);
         }
         barrierService.saveOrUpdate(barrier);
@@ -793,22 +815,27 @@
             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("璁板綍寮傚父")){
+                    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);
+                    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);

--
Gitblit v1.9.1