From 973f7a2b420dddb06553489d72d4aa6fdea3c1c0 Mon Sep 17 00:00:00 2001
From: kongdeqiang <kongdeqiang960204@163.com>
Date: 星期三, 05 八月 2026 15:17:22 +0800
Subject: [PATCH] fix:提交
---
src/main/java/com/boying/controller/OrderRecordController.java | 58 +++++++-------
src/main/java/com/boying/service/impl/OutParkServiceImpl.java | 4 +
src/main/java/com/boying/controller/car/PlateServlet3.java | 64 ++++++++++++---
src/main/java/com/boying/Application.java | 17 ++--
src/main/java/com/boying/controller/BarrierController.java | 2
src/main/java/com/boying/controller/phone/YCPayController.java | 44 ++++++++++
6 files changed, 137 insertions(+), 52 deletions(-)
diff --git a/src/main/java/com/boying/Application.java b/src/main/java/com/boying/Application.java
index c8c7666..b29b9b3 100644
--- a/src/main/java/com/boying/Application.java
+++ b/src/main/java/com/boying/Application.java
@@ -2,7 +2,8 @@
import cn.hutool.core.io.resource.ClassPathResource;
-//import net.sf.jni4net.Bridge;
+import com.boying.common.SystemConfigProperties;
+import net.sf.jni4net.Bridge;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@@ -27,11 +28,11 @@
SpringApplication.run(Application.class, args);
}
-// @Bean
-// public static void getBean() throws IOException {
-// Bridge.setVerbose(true);
-// Bridge.init();
-// File loadDll = new File("LedShow.j4n.dll");
-// Bridge.LoadAndRegisterAssemblyFrom(loadDll);
-// }
+ @Bean
+ public static void getBean() throws IOException {
+ Bridge.setVerbose(true);
+ Bridge.init();
+ File loadDll = new File("LedShow.j4n.dll");
+ Bridge.LoadAndRegisterAssemblyFrom(loadDll);
+ }
}
diff --git a/src/main/java/com/boying/controller/BarrierController.java b/src/main/java/com/boying/controller/BarrierController.java
index 54144bd..430aa38 100644
--- a/src/main/java/com/boying/controller/BarrierController.java
+++ b/src/main/java/com/boying/controller/BarrierController.java
@@ -157,7 +157,7 @@
//鍙栨秷璁¤垂
OutPark outPark = outParkService.findByCarNoAndBarrierId(b.getCarNo(), b.getId());
if(outPark != null){
- outPark.setPrice(0);
+ //outPark.setPrice(0);
outPark.setUpdateTime(LocalDateTime.now());
outParkService.saveOrUpdate(outPark);
}
diff --git a/src/main/java/com/boying/controller/OrderRecordController.java b/src/main/java/com/boying/controller/OrderRecordController.java
index 9108b08..d03a7c3 100644
--- a/src/main/java/com/boying/controller/OrderRecordController.java
+++ b/src/main/java/com/boying/controller/OrderRecordController.java
@@ -101,37 +101,39 @@
@PostMapping("/findCountPage")
public Object findCountPage(Integer parkId,String startTime,String endTime) throws ParseException {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- QueryWrapper<OutPark> wrapper = new QueryWrapper<>();
- wrapper.lambda()
- .eq(parkId != null,OutPark::getParkId,parkId)
- .isNotNull(OutPark::getPayCode)
- .eq(OutPark::getStatus,1);
- if(startTime != null && endTime != null){
- wrapper.lambda().between(OutPark::getUpdateTime,DateUtil.beginOfDay(sdf.parse(startTime)), DateUtil.endOfDay(sdf.parse(endTime)));
- }
- List<OutPark> list = outParkService.list(wrapper);
+ List<OutParkVo> list = outParkService.getVoList(parkId,startTime,endTime);
List<Map<String,Object>> resultList = new ArrayList<>();
- if(list.size()>0){
- Map<Object, List<OutPark>> collect = list.stream().collect(
- Collectors.groupingBy(b -> b.getParkId()
- ));
- for (Map.Entry<Object, List<OutPark>> objectListEntry : collect.entrySet()) {
- Integer key = (Integer) objectListEntry.getKey();
- List<OutPark> value = objectListEntry.getValue();
- Double collect1 = value.stream().collect(Collectors.summingDouble(OutPark::getPrice));
- Map<String,Object> map = new HashMap<>();
- Park byId = parkService.getById(key);
- if(byId != null){
- map.put("parkName",byId.getName());
- }else {
- map.put("parkName","鏈煡鍋滆溅鍦�");
- }
- map.put("orderNum",value.size());
- map.put("orderMoney",collect1);
- resultList.add(map);
+
+ for (Map.Entry<Integer, List<OutParkVo>> entry : list.stream().collect(Collectors.groupingBy(item -> item.getParkId())).entrySet()) {
+ Integer pid = entry.getKey();
+ List<OutParkVo> vos = entry.getValue();
+ Map<String,Object> map = new HashMap<>();
+ Park byId = parkService.getById(pid);
+ if(byId != null){
+ map.put("parkName",byId.getName());
+ }else {
+ map.put("parkName","鏈煡鍋滆溅鍦�");
}
+ int sum = vos.stream().mapToInt(item -> item.getNum()).sum();
+ double price = vos.stream().mapToDouble(item -> item.getPrice()).sum();
+ map.put("orderNum",sum);
+ map.put("orderMoney",price);
+ resultList.add(map);
+
}
+
+// for (OutParkVo outParkVo : list) {
+// Map<String,Object> map = new HashMap<>();
+// Park byId = parkService.getById(outParkVo.getParkId());
+// if(byId != null){
+// map.put("parkName",byId.getName());
+// }else {
+// map.put("parkName","鏈煡鍋滆溅鍦�");
+// }
+// map.put("orderNum",outParkVo.getNum());
+// map.put("orderMoney",outParkVo.getPrice());
+// resultList.add(map);
+// }
return R.ok(resultList);
}
diff --git a/src/main/java/com/boying/controller/car/PlateServlet3.java b/src/main/java/com/boying/controller/car/PlateServlet3.java
index 2c10166..ed4f37f 100644
--- a/src/main/java/com/boying/controller/car/PlateServlet3.java
+++ b/src/main/java/com/boying/controller/car/PlateServlet3.java
@@ -226,12 +226,19 @@
outPark.setStatus2(1);
outParkService.saveOrUpdate(outPark);
- 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());
-
+ try {
+ 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());
+ }catch (Exception e){
+ String logs = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(new Date())+
+ " 杞︾墝鍙蜂负锛�"+outPark.getCarNo()+
+ ",淇敼鍑哄満鏃ュ織鎶ラ敊\n";
+ System.out.println(logs);
+ e.printStackTrace();
+ }
easyOpen(request,response);
}else {
@@ -890,10 +897,26 @@
noOpen(request,response,data1);
}
}else {
+ 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);
+ }
+
+ open(request,response,data1);
+
//缂撳瓨鍦╮edis閲�,蹇冭烦鎺ュ彛鍘绘姮鏉�
- String jsonValue = JSON.toJSONString(outPark);
- redisTemplate.opsForValue().set("outPark-"+outPark.getBarrierId(), jsonValue);
- redisTemplate.opsForValue().set("park_change_in_"+parkId,"true",1, TimeUnit.DAYS);
+// String jsonValue = JSON.toJSONString(outPark);
+// redisTemplate.opsForValue().set("outPark-"+outPark.getBarrierId(), jsonValue);
+// redisTemplate.opsForValue().set("park_change_in_"+parkId,"true",1, TimeUnit.DAYS);
}
}
}else {
@@ -924,10 +947,25 @@
String data1 = Base64.getMimeEncoder().encodeToString(dataX) + "=";
data1 = data1.replaceAll("\r\n", "");
if(type == 0){
- //缂撳瓨鍦╮edis閲�,蹇冭烦鎺ュ彛鍘绘姮鏉�
- String jsonValue = JSON.toJSONString(outPark);
- redisTemplate.opsForValue().set("outPark-"+outPark.getBarrierId(), jsonValue);
- redisTemplate.opsForValue().set("park_change_in_"+parkId,"true",1, TimeUnit.DAYS);
+ int i = Integer.parseInt(redisnum);
+ i--;
+ if(i<=0){
+ String s= "2."+carNo+"缂磋垂瀹屾垚锛屽満鍐呭仠杞︽暟涓�"+i+"\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);
+ }
+
+ open(request,response,data1);
+// //缂撳瓨鍦╮edis閲�,蹇冭烦鎺ュ彛鍘绘姮鏉�
+// String jsonValue = JSON.toJSONString(outPark);
+// redisTemplate.opsForValue().set("outPark-"+outPark.getBarrierId(), jsonValue);
+// redisTemplate.opsForValue().set("park_change_in_"+parkId,"true",1, TimeUnit.DAYS);
}else {
noOpen(request,response,data1);
}
diff --git a/src/main/java/com/boying/controller/phone/YCPayController.java b/src/main/java/com/boying/controller/phone/YCPayController.java
index d929281..c6e6dd3 100644
--- a/src/main/java/com/boying/controller/phone/YCPayController.java
+++ b/src/main/java/com/boying/controller/phone/YCPayController.java
@@ -715,8 +715,48 @@
outParkService.saveOrUpdate(outPark);
//缂撳瓨鍦╮edis閲�
String jsonValue = JSON.toJSONString(outPark);
- redisTemplate.opsForValue().set("outPark-"+outPark.getBarrierId(), jsonValue);
- redisTemplate.opsForValue().set("park_change_in_"+outPark.getParkId(),"true",1, TimeUnit.DAYS);
+ String redisKey = "outPark-"+outPark.getBarrierId();
+ String parkChangeKey = "park_change_in_"+outPark.getParkId();
+ int retryCount = 0;
+ int maxRetry = 3;
+ boolean cacheSuccess = false;
+
+ while(retryCount < maxRetry && !cacheSuccess){
+ try {
+ redisTemplate.opsForValue().set(redisKey, jsonValue);
+ redisTemplate.opsForValue().set(parkChangeKey,"true",1, TimeUnit.DAYS);
+ cacheSuccess = true;
+ String logs = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(new Date())+
+ " 杞︾墝鍙蜂负锛�"+outPark.getCarNo()+
+ ",Redis缂撳瓨璁剧疆鎴愬姛锛岄亾闂窱D锛�"+outPark.getBarrierId()+"\n";
+ writeTxt2(logs);
+ } catch (Exception e) {
+ retryCount++;
+ String errorLogs = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(new Date())+
+ " 杞︾墝鍙蜂负锛�"+outPark.getCarNo()+
+ ",Redis缂撳瓨璁剧疆澶辫触锛岀"+retryCount+"娆¢噸璇曪紝閿欒淇℃伅锛�"+e.getMessage()+"\n";
+ writeTxt2(errorLogs);
+ e.printStackTrace();
+ if(retryCount < maxRetry){
+ try {
+ Thread.sleep(100); // 绛夊緟100ms鍚庨噸璇�
+ } catch (InterruptedException ie) {
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+ }
+
+ if(!cacheSuccess){
+ String errorLogs = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(new Date())+
+ " 杞︾墝鍙蜂负锛�"+outPark.getCarNo()+
+ ",Redis缂撳瓨璁剧疆澶辫触锛屽凡閲嶈瘯"+maxRetry+"娆★紝璇锋鏌edis鏈嶅姟鐘舵�侊紒\n";
+ writeTxt2(errorLogs);
+ // 铏界劧Redis缂撳瓨澶辫触锛屼絾鏁版嵁搴撳凡鏇存柊锛屽績璺虫帴鍙e彲浠ラ�氳繃鏁版嵁搴撴煡璇㈣幏鍙栨暟鎹�
+ }
+
+// redisTemplate.opsForValue().set("outPark-"+outPark.getBarrierId(), jsonValue);
+// redisTemplate.opsForValue().set("park_change_in_"+outPark.getParkId(),"true",1, TimeUnit.DAYS);
}
}
}
diff --git a/src/main/java/com/boying/service/impl/OutParkServiceImpl.java b/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
index 58f67ff..079138e 100644
--- a/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
+++ b/src/main/java/com/boying/service/impl/OutParkServiceImpl.java
@@ -19,6 +19,7 @@
import org.springframework.stereotype.Service;
import java.io.IOException;
+import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@@ -130,6 +131,9 @@
return null;
}
} catch (Exception e) {
+ String errorLogs = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(new Date())+
+ " Redis鏌ヨ澶辫触锛岄亾闂窱D锛�"+bId+"锛岄敊璇俊鎭細"+e.getMessage()+"锛屽皢鏌ヨ鏁版嵁搴揬n";
+ System.out.println(errorLogs);
e.printStackTrace();
}
return null;
--
Gitblit v1.9.1