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 | 119 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 84 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/boying/controller/car/PlateServlet3.java b/src/main/java/com/boying/controller/car/PlateServlet3.java index 82b1f85..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()); @@ -359,6 +377,8 @@ if(tickets.size()>0){ enterPark.setStatus(1);//鍙戠幇鏈夎繚绔� } + enterPark.setIsPay(0); + enterPark.setPrice(0); enterParkService.deleteByCarNo(enterPark.getCarNo(),enterPark.getParkId()); enterParkService.save(enterPark); barrier.setType2(1); @@ -409,6 +429,15 @@ outPark.setTime(l/(1000*60)); toDayHrMinSec = DateUtilOther.millisToDayHrMinSec(l/(1000*60)); money = costRuleService.getMoney(one.getParkId(), outPark.getEnterTime(), outPark.getCreateTime(), 1); + + //鍏ュ満璁板綍淇濆瓨涓�涓� + if(one.getIsPay()==1){ + money = money - one.getPrice(); + }else { + one.setPrice(money); + one.setIsPay(0); + enterParkService.updateById(one); + } } catch (ParseException e) { e.printStackTrace(); } @@ -486,6 +515,8 @@ }else { enterParkService.deleteByCarNo(carNo,parkId); EnterPark enterPark = new EnterPark(); + enterPark.setIsPay(0); + enterPark.setPrice(0); enterPark.setCarNo(carNo); enterPark.setBarrierId(barrierId); enterPark.setParkId(parkId); @@ -528,6 +559,15 @@ outPark.setTime(l/(1000*60)); toDayHrMinSec = DateUtilOther.millisToDayHrMinSec(l/(1000*60)); money = costRuleService.getMoney(parkId, outPark.getEnterTime(), outPark.getCreateTime(), 1); + + //鍏ュ満璁板綍淇濆瓨涓�涓� + if(enterPark.getIsPay() != null && enterPark.getIsPay()==1){ + money = money - enterPark.getPrice(); + }else { + enterPark.setPrice(money); + enterPark.setIsPay(0); + enterParkService.updateById(enterPark); + } } catch (ParseException e) { e.printStackTrace(); } @@ -544,7 +584,7 @@ barrier.setCarNo(carNo); //led灞曠ず if(toDayHrMinSec == null){ - toDayHrMinSec = "涓嶈冻涓ゅ皬鏃�"; + toDayHrMinSec = "鍏ュ満璁板綍寮傚父,璇疯仈绯荤鐞嗗憳"; } //鍒ゆ柇鏄惁鍦ㄧ櫧鍚嶅崟 QueryWrapper<WhiteList> wrapper = new QueryWrapper<>(); @@ -556,7 +596,7 @@ if(w.getType()==0){ outLedShowYueZu(barrier.getCarNo(),"鏈堢杞�",parkId,request,response,0); OutPark byCarNoAndBarrierId = outParkService.findByCarNoAndBarrierId(carNo, barrierId); - byCarNoAndBarrierId.setStatus(1); + byCarNoAndBarrierId.setStatus(2); byCarNoAndBarrierId.setStatus2(1); outParkService.saveOrUpdate(byCarNoAndBarrierId); return 0.0; @@ -570,7 +610,7 @@ if(pid == outPark.getParkId() && System.currentTimeMillis()<w.getEndTime().getTime()){ outLedShowYueZu(barrier.getCarNo(),"鏈堢杞�",parkId,request,response,0); OutPark byCarNoAndBarrierId = outParkService.findByCarNoAndBarrierId(carNo, barrierId); - byCarNoAndBarrierId.setStatus(1); + byCarNoAndBarrierId.setStatus(2); byCarNoAndBarrierId.setStatus2(1); outParkService.saveOrUpdate(byCarNoAndBarrierId); return 0.0; @@ -591,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); @@ -771,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