From ffa5f49a2bcb6311486d00777b3629538eb3e6f0 Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期一, 18 三月 2024 17:28:19 +0800 Subject: [PATCH] 新增心跳缓存 --- src/main/java/com/boying/controller/car/PlateServlet3.java | 62 +++++++++++++++++++------------ 1 files changed, 38 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/boying/controller/car/PlateServlet3.java b/src/main/java/com/boying/controller/car/PlateServlet3.java index fc8ce0c..c9ec120 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; @@ -61,6 +62,7 @@ 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"; /** @@ -140,7 +142,7 @@ @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()); + Park park = parkService.getOneById(barrier.getParkId()); String redis = redisTemplate.opsForValue().get("park_up_" + park.getId()); String redisnum = redisTemplate.opsForValue().get("car_park_" + park.getId()); if(barrier!=null){ @@ -171,37 +173,49 @@ barrier.setStatus(0); barrier.setUpdateTime(LocalDateTime.now()); barrierService.saveOrUpdate(barrier); + try { + redisJsonUtil.set("barrier-"+barrier.getCode(),barrier); + } catch (IOException e) { + e.printStackTrace(); + } 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); + try { + redisJsonUtil.set("barrier-"+barrier.getCode(),barrier); + } catch (IOException e) { + e.printStackTrace(); + } + 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()); + redisJsonUtil.del("outPark-"+outPark.getBarrierId()); } - outPark.setStatus2(1); - outParkService.saveOrUpdate(outPark); - easyOpen(request,response); - easyOpen(request,response); - OutParkLog byOutPark = outParkLogService.getByOutPark(outPark.getCarNo(), outPark.getId()); - byOutPark.setOpenTime(LocalDateTime.now()); - outParkLogService.saveOrUpdate(byOutPark); - enterParkService.deleteByCarNo(outPark.getCarNo(), barrier.getParkId()); } if(barrier.getType() == 1){ boolean in = barrierService.getDateDifIn(barrier.getId()); -- Gitblit v1.9.1