From acf352921487e857810a943b008121e33404e9ae Mon Sep 17 00:00:00 2001
From: kongdeqiang <kongdeqiang960204@163.com>
Date: 星期二, 15 四月 2025 16:56:50 +0800
Subject: [PATCH] fix:白名单新增bug
---
src/main/java/com/boying/controller/car/PlateServlet3.java | 36 +++++++++++++++++++++++++++++++++---
1 files changed, 33 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/boying/controller/car/PlateServlet3.java b/src/main/java/com/boying/controller/car/PlateServlet3.java
index d1c87f8..dde6393 100644
--- a/src/main/java/com/boying/controller/car/PlateServlet3.java
+++ b/src/main/java/com/boying/controller/car/PlateServlet3.java
@@ -41,6 +41,8 @@
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
@@ -151,6 +153,9 @@
@PostMapping("/status")
public void heart(String serialno,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
Barrier barrier = barrierService.findByCode(serialno);
+ if(barrier == null){
+ return;
+ }
Park park = parkService.getOneById(barrier.getParkId());
// Park park = parkService.getById(barrier.getParkId());
// String redis = redisTemplate.opsForValue().get("park_up_" + park.getId());
@@ -364,6 +369,15 @@
@PostMapping("/inParkByPhone" )
@ResponseBody
public Object inParkByPhone( EnterPark enterPark){
+ if(redisTemplate.hasKey("PHONE_"+enterPark.getParkId() + "_" + enterPark.getCarNo())){
+ return R.failed(null,"璇锋眰棰戠箒");
+ }
+ Pattern pattern = Pattern.compile("^1[3-9]\\d{9}$");
+ Matcher matcher = pattern.matcher(enterPark.getCarNo());
+ System.out.println();
+ if(matcher.matches()==false){
+ return R.failed(null,"杈撳叆闈炴硶鏁版嵁");
+ }
Barrier barrier = barrierService.getById(enterPark.getBarrierId());
if(barrier!=null){
String num = redisTemplate.opsForValue().get("car_park_" + barrier.getParkId());
@@ -386,6 +400,7 @@
return R.failed("鏈煡璇㈠埌杞﹁締瀛樺湪");
}else {
if(one.getCarNo().equals("_鏃燺") || one.getCarNo().equals("鏃犵墝杞�")){
+ redisTemplate.opsForValue().set("PHONE_"+enterPark.getParkId() + "_" + enterPark.getCarNo(),"true",2,TimeUnit.SECONDS);
enterPark.setCreateTime(LocalDateTime.now());
// QueryWrapper<Ticket> wrapper = new QueryWrapper<>();
// wrapper.lambda()
@@ -399,6 +414,7 @@
enterPark.setIsPay(0);
enterPark.setPrice(0);
enterParkService.deleteByCarNo(enterPark.getCarNo(),enterPark.getParkId());
+ enterParkService.deleteByCarNo(one.getCarNo(),enterPark.getParkId());
enterParkService.save(enterPark);
barrier.setType2(1);
String jsonValue = JSON.toJSONString(barrier);
@@ -421,12 +437,23 @@
@PostMapping("/outParkByPhone" )
@ResponseBody
public Object outParkByPhone(String code2,String carNo){
+ Pattern pattern = Pattern.compile("^1[3-9]\\d{9}$");
+ Matcher matcher = pattern.matcher(carNo);
+ System.out.println();
+ if(matcher.matches()==false){
+ return R.failed(null,"杈撳叆闈炴硶鏁版嵁");
+ }
Barrier byCode2 = barrierService.findByCode2(code2);
QueryWrapper<EnterPark> wrapper =new QueryWrapper<>();
wrapper.lambda()
.eq(EnterPark::getParkId,byCode2.getParkId())
- .eq(EnterPark::getCarNo,carNo);
- EnterPark one = enterParkService.getOne(wrapper);
+ .eq(EnterPark::getCarNo,carNo)
+ .orderByDesc(EnterPark::getId);
+ List<EnterPark> list = enterParkService.list(wrapper);
+ EnterPark one = null;
+ if(list !=null && list.size()>0){
+ one = list.get(0);
+ }
if(one != null){
double money = 0.0;
String toDayHrMinSec = null;
@@ -474,7 +501,8 @@
String s= "1."+byCode2.getCarNo()+"璇ヨ溅涓嶉渶瑕佺即璐筡n";
writeTxt2(s);
byCode2.setType2(1);
- barrierService.updateById(byCode2);
+ String jsonValue = JSON.toJSONString(byCode2);
+ redisTemplate.opsForValue().set("barrier-"+byCode2.getCode(), jsonValue);
return R.ok(outPark);
}else {
//闇�瑕佺即璐规垨鑰呮湁杩濈珷
@@ -482,6 +510,8 @@
String s= "1."+byCode2.getCarNo()+"璇ヨ溅闇�瑕佺即璐筡n";
writeTxt2(s);
barrierService.updateById(byCode2);
+ String jsonValue = JSON.toJSONString(byCode2);
+ redisTemplate.opsForValue().set("barrier-"+byCode2.getCode(), jsonValue);
return R.ok(outPark);
}
--
Gitblit v1.9.1