From f8cdd23c14a35c267eae84892dd1ead2ac846adf Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期六, 28 九月 2024 10:16:34 +0800 Subject: [PATCH] fix : 新增修改车数日志 --- src/main/java/com/boying/controller/car/PlateServlet3.java | 144 ++++++++++++++++++++++++++++++++++------------- 1 files changed, 103 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/boying/controller/car/PlateServlet3.java b/src/main/java/com/boying/controller/car/PlateServlet3.java index c9ec120..a75da04 100644 --- a/src/main/java/com/boying/controller/car/PlateServlet3.java +++ b/src/main/java/com/boying/controller/car/PlateServlet3.java @@ -34,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; @@ -62,7 +63,7 @@ private final FileInfoService fileInfoService; private final TicketBlackService ticketBlackService; private final OutParkLogService outParkLogService; - private final RedisJsonUtil redisJsonUtil; + // private final RedisJsonUtil redisJsonUtil; private final String LEDURL = "http://192.168.31.212:9988/LedShow/IGetResultDataAllLine"; /** @@ -131,6 +132,14 @@ out.close(); } + protected void easyOpen2(HttpServletRequest request, HttpServletResponse response) throws IOException { + response.setContentType("text/json"); + PrintWriter out = response.getWriter(); + out.println("{\"Response_AlarmInfoPlate\":{\"ivs_ioctrl\":{\"delay\":1000,\"io\":0,\"value\":2}}}"); + out.flush(); + out.close(); + } + protected void easyNoOpen(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("text/json"); PrintWriter out = response.getWriter(); @@ -143,8 +152,12 @@ public void heart(String serialno,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { Barrier barrier = barrierService.findByCode(serialno); Park park = parkService.getOneById(barrier.getParkId()); - String redis = redisTemplate.opsForValue().get("park_up_" + park.getId()); + // 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){ //寰呭紑闂� @@ -173,22 +186,24 @@ barrier.setStatus(0); barrier.setUpdateTime(LocalDateTime.now()); barrierService.saveOrUpdate(barrier); - try { - redisJsonUtil.set("barrier-"+barrier.getCode(),barrier); - } catch (IOException e) { - e.printStackTrace(); - } + + 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); - try { - redisJsonUtil.set("barrier-"+barrier.getCode(),barrier); - } catch (IOException e) { - e.printStackTrace(); + 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){ @@ -214,11 +229,11 @@ byOutPark.setOpenTime(LocalDateTime.now()); outParkLogService.saveOrUpdate(byOutPark); enterParkService.deleteByCarNo(outPark.getCarNo(), barrier.getParkId()); - redisJsonUtil.del("outPark-"+outPark.getBarrierId()); + redisTemplate.delete("outPark-"+outPark.getBarrierId()); } } if(barrier.getType() == 1){ - boolean in = barrierService.getDateDifIn(barrier.getId()); + boolean in = barrierService.getDateDifIn(park.getId()); if(in){ inLedShowDefault(park.getId(),request,response); } @@ -324,8 +339,8 @@ inLedFullShow(code, license,barrier.getParkId(),request,response); }else { //led鏄剧ず - inLedShow(code, license,barrier.getParkId(),request,response); enterPark(license,barrier.getId(),barrier.getParkId(),fileInfo); + inLedShow(code, license,barrier.getParkId(),request,response); s+=license+"-淇濆瓨鍏ュ満璁板綍\n"; } } @@ -370,7 +385,7 @@ if(one == null){ return R.failed("鏈煡璇㈠埌杞﹁締瀛樺湪"); }else { - if(one.getCarNo().equals("鏃犵墝杞�")){ + if(one.getCarNo().equals("_鏃燺")){ enterPark.setCreateTime(LocalDateTime.now()); QueryWrapper<Ticket> wrapper = new QueryWrapper<>(); wrapper.lambda() @@ -536,6 +551,9 @@ enterPark.setImgId(fileInfo.getId()); } enterParkService.saveOrUpdate(enterPark); + String jsonValue = JSON.toJSONString(enterPark); + redisTemplate.opsForValue().set("enterPark_dif_"+ parkId, jsonValue); + } } @@ -602,6 +620,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())){ @@ -616,6 +639,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; } } @@ -624,11 +652,16 @@ } } } + 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); - outLedShow(barrier.getCode(),barrier.getCarNo(),outPark.getPrice(),toDayHrMinSec,barrier.getParkId(),request,response,0); + String jsonValue = JSON.toJSONString(outPark); + redisTemplate.opsForValue().set("outPark_dif_"+ barrierId, jsonValue); + outLedShow(outPark,barrier.getCode(),barrier.getCarNo(),outPark.getPrice(),toDayHrMinSec,barrier.getParkId(),request,response,0); }else { //闇�瑕佺即璐规垨鑰呮湁杩濈珷 System.out.println(outPark.getCarNo()+"璇ヨ溅闇�瑕佺即璐�"+outPark.getPrice()); @@ -638,9 +671,10 @@ byOutPark.setOutTime(outPark.getCreateTime()); byOutPark.setParkId(outPark.getParkId()); outParkLogService.saveOrUpdate(byOutPark); - outLedShow(barrier.getCode(),barrier.getCarNo(),outPark.getPrice(),toDayHrMinSec,barrier.getParkId(),request,response,1); + String jsonValue = JSON.toJSONString(outPark); + redisTemplate.opsForValue().set("outPark_dif_"+ barrierId, jsonValue); + outLedShow(outPark,barrier.getCode(),barrier.getCarNo(),outPark.getPrice(),toDayHrMinSec,barrier.getParkId(),request,response,1); } - barrierService.saveOrUpdate(barrier); return money; } @@ -714,9 +748,9 @@ } } } - if(StringUtils.isBlank(carDay) && !carNo.equals("鏃犺溅鐗�")){ + if(StringUtils.isBlank(carDay) && !carNo.equals("_鏃燺")){ carDay = "娆㈣繋鍏変复"; - }else if(StringUtils.isBlank(carDay) && carNo.equals("鏃犺溅鐗�")){ + }else if(StringUtils.isBlank(carDay) && carNo.equals("_鏃燺")){ carDay = "鎷掔粷椹跺叆"; } @@ -740,7 +774,7 @@ String data1 = Base64.getMimeEncoder().encodeToString(dataX) + "="; data1 = data1.replaceAll("\r\n", ""); - if(!carNo.equals("鏃犺溅鐗�")){ + if(!carNo.equals("_鏃燺")){ open(request,response,data1);//鍏ュ満寮�闂� }else { noOpen(request,response,data1); @@ -792,7 +826,7 @@ noOpen(request,response,data1);//鍏ュ満寮�闂� } - public void outLedShow(String ledId,String carNo,Double price,String timeStamp,Integer parkId,HttpServletRequest request, HttpServletResponse response,int type) throws ServletException, IOException { + public void outLedShow(OutPark outPark,String ledId,String carNo,Double price,String timeStamp,Integer parkId,HttpServletRequest request, HttpServletResponse response,int type) throws ServletException, IOException { String redisnum = redisTemplate.opsForValue().get("car_park_" + parkId); Park park = parkService.getById(parkId); LedBean ledBean = new LedBean(); @@ -815,28 +849,55 @@ String data1 = Base64.getMimeEncoder().encodeToString(dataX) + "="; data1 = data1.replaceAll("\r\n", ""); if(type == 0){ - if(carNo.equals("鏃犺溅鐗�")){ + if(carNo.equals("_鏃燺")){ noOpen(request,response,data1); }else { if(timeStamp.contains("璁板綍寮傚父")){ - noOpen(request,response,data1); + 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 { //寮�闂� - open(request,response,data1); + // open(request,response,data1); + + //缂撳瓨鍦╮edis閲�,蹇冭烦鎺ュ彛鍘绘姮鏉� + String jsonValue = JSON.toJSONString(outPark); + redisTemplate.opsForValue().set("outPark-"+outPark.getBarrierId(), jsonValue); + + //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); - } +// 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); +// } } } @@ -870,6 +931,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