From d0ed3bf68c62fc4c5177c5a91f72b141f643a12a Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期日, 18 九月 2022 18:01:47 +0800
Subject: [PATCH] 修改规则和出场日志

---
 src/main/java/com/boying/controller/car/PlateServlet2.java  |   45 +++++++++++++++-------
 src/main/java/com/boying/dao/EnterParkDao.java              |    5 +-
 src/main/resources/systemconfig.properties                  |    4 +
 src/main/java/com/boying/controller/OutParkController.java  |   43 +++++++++++++++++----
 src/main/java/com/boying/common/SystemConfigProperties.java |    5 ++
 src/main/java/com/boying/service/EnterParkService.java      |    2 
 6 files changed, 76 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/boying/common/SystemConfigProperties.java b/src/main/java/com/boying/common/SystemConfigProperties.java
index 143c14c..ed3ba7b 100644
--- a/src/main/java/com/boying/common/SystemConfigProperties.java
+++ b/src/main/java/com/boying/common/SystemConfigProperties.java
@@ -29,6 +29,9 @@
 	@Value("${server.ip3}")
 	private String ip3;
 
+	@Value("${server.logPath}")
+	private String logPath;
+
 	public String getUploadImgPath() {
 		return uploadImgPath;
 	}
@@ -60,4 +63,6 @@
 	public String getIp3() {
 		return ip3;
 	}
+
+	public String getLogPath(){return logPath;}
 }
diff --git a/src/main/java/com/boying/controller/OutParkController.java b/src/main/java/com/boying/controller/OutParkController.java
index 73e75fb..6d9e5c3 100644
--- a/src/main/java/com/boying/controller/OutParkController.java
+++ b/src/main/java/com/boying/controller/OutParkController.java
@@ -1,6 +1,7 @@
 package com.boying.controller;
 
 import com.boying.common.BaseController;
+import com.boying.common.SystemConfigProperties;
 import com.boying.common.util.DateUtil;
 import com.boying.common.util.StringUtil;
 import com.boying.entity.*;
@@ -20,7 +21,10 @@
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import java.beans.Transient;
+import java.io.BufferedWriter;
+import java.io.FileWriter;
 import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 import static com.boying.common.util.DateUtil.getMinute;
@@ -37,6 +41,8 @@
     private BarrierService barrierService;
     @Autowired
     private TicketService ticketService;
+    @Autowired
+    private SystemConfigProperties systemConfigProperties;
 
     @Autowired
     private CostRuleService costRuleService;
@@ -215,8 +221,7 @@
 
     @PostMapping("outPark2")
     public Object outPark(String carNo,Long barrierId,Long parkId,String code2) {
-        String s = "寮�濮嬫墽琛屽嚭鍦烘帴鍙�------>";
-        System.out.println(s);
+        String s = "寮�濮嬫墽琛屽嚭鍦烘帴鍙�------>\n";
         Barrier barrier1 = findBarrier(code2);
         barrierId = barrier1.getId();
         parkId = barrier1.getParkId();
@@ -226,24 +231,23 @@
         outPark.setBarrierId(barrierId);
         outPark.setCreateTime(new Date());
         outPark.setCode(System.currentTimeMillis()+"");
-        EnterPark enterPark = enterParkService.findByCarNo(carNo);
+        EnterPark enterPark = enterParkService.findByCarNo(carNo).get(0);
 
         if(enterPark==null){
-            String s1 = "鏈彂鐜板叆鍦鸿溅杈嗭細"+carNo;
-            System.out.println(s1);
+           s += "鏈彂鐜板叆鍦鸿溅杈嗭細"+carNo+"\n";
+            writeTxt(s);
             return error("鏃犺繘鍦鸿褰曟垨鎵嬫満鍙疯繘鍑鸿緭鍏ヤ笉涓�鑷�",null);
         }else{
-            String s1 = "鍙戠幇鍏ュ満杞﹁締: "+enterPark.getCarNo()+",閬撻椄id涓猴細"+enterPark.getBarrierId()+",鍋滆溅鍦篿d锛�"+enterPark.getParkId()+",杩濈珷鏍囪瘑锛�"+enterPark.getStatus();
-            System.out.println(s1);
+            s += "鍙戠幇鍏ュ満杞﹁締: "+enterPark.getCarNo()+",閬撻椄id涓猴細"+enterPark.getBarrierId()+",鍋滆溅鍦篿d锛�"+enterPark.getParkId()+",杩濈珷鏍囪瘑锛�"+enterPark.getStatus()+"\n";
             outPark.setEnterTime(enterPark.getCreateTime());
         }
         long l = outPark.getCreateTime().getTime() - enterPark.getCreateTime().getTime();
-        System.out.println("鍦哄唴鏃堕暱涓猴細"+l+"姣,鍚堣涓�: "+l/(1000*60)+"绉�");
+        s+= "鍦哄唴鏃堕暱涓猴細"+l+"姣,鍚堣涓�: "+l/(1000*60)+"绉抃n";
         outPark.setTime(l/(1000*60));
         double money = 0;
         try {
             money = costRuleService.getMoney(parkId, enterPark.getCreateTime(), outPark.getCreateTime(), 1);
-            System.out.println("閲戦涓猴細"+money);
+            s+="閲戦涓猴細"+money+"\n";
         } catch (ParseException e) {
             e.printStackTrace();
         }
@@ -256,8 +260,12 @@
         barrier.setCarNo(carNo);
         if(outPark.getPrice()==0&&outPark.getStatus3()==0){
             barrier.setType2(1);
+        }else {
+            barrier.setType2(0);
         }
         barrierService.save(barrier);
+        s += "\n";
+        writeTxt(s);
         return success("璇锋眰鎴愬姛",outPark);
     }
 
@@ -305,4 +313,21 @@
 //        }
 //        return success("淇濆瓨鎴愬姛");
 //    }
+
+    private void writeTxt( String txt)
+    {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        try
+        {
+            FileWriter f = new FileWriter(systemConfigProperties.getLogPath()+sdf.format(new Date())+".txt",true);
+            BufferedWriter bw=new BufferedWriter(f);
+            bw.write(txt);
+            bw.newLine();
+            bw.close();
+        }
+        catch(Exception e)
+        {
+            System.out.println("鎵撳嵃閿欒");
+        }
+    }
 }
diff --git a/src/main/java/com/boying/controller/car/PlateServlet2.java b/src/main/java/com/boying/controller/car/PlateServlet2.java
index 2b7c455..8fd430c 100755
--- a/src/main/java/com/boying/controller/car/PlateServlet2.java
+++ b/src/main/java/com/boying/controller/car/PlateServlet2.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.boying.common.SystemConfigProperties;
 import com.boying.common.util.DateUtil;
 import com.boying.common.util.StringUtil;
 import com.boying.entity.Barrier;
@@ -30,6 +31,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 import static com.boying.common.util.DateUtil.getMinute;
@@ -41,6 +43,8 @@
 @RequestMapping("/car")
 public class PlateServlet2 extends HttpServlet {
 	private static final long serialVersionUID = 1L;
+	@Autowired
+	private SystemConfigProperties systemConfigProperties;
 
 	/**
 	 * 鍥炲寮�闂�
@@ -107,7 +111,7 @@
 	 */
 	@PostMapping("/PlateServlet")
 	protected void info(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
+		String s= "";
 		BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream(),"UTF-8"));
 		String str = "";
 		String lineStr = "";
@@ -153,50 +157,61 @@
 				}
 
 				String serialno = jsonInfoPlate.get("serialno").getAsString();//鎽勫儚鏈哄簭鍒楀彿
-				if( license == null || license == "" ) {
+				if( serialno == null || serialno == "" ) {
 					break;
 				}
 
 				System.out.println("缂栧彿锛�"+serialno+"璁惧璇嗗埆鍒颁簡锛�"+license);
+				s+="杞︾墝鍙蜂负锛�"+license+",serialno涓猴細"+code+"\n";
 
 				Barrier barrier = barrierService.findByCode(code);
 				if(barrier==null){
-
+					s+="鏌ヨ閬撻椄涓虹┖\n";
 				}else{
 					if(barrier.getType()==0){
 						outPark(license, barrier.getId(), barrier.getParkId());
+						s+=license+"淇濆瓨鍑哄満璁板綍\n";
 					}else{
 						open(request, response);//鎶潌
 						enterPark(license,barrier.getId(),barrier.getParkId());
+						s+=license+"淇濆瓨鍏ュ満璁板綍\n";
 					}
 				}
-
+			writeTxt(s);
 			}while(false);
 		}
+
 		catch (JsonIOException e) {
 	        e.printStackTrace();
+			writeTxt(s);
 	    }
 		catch (JsonSyntaxException e) {
 	        e.printStackTrace();
+			writeTxt(s);
 	    }
 		catch (Exception e) {
-
+			writeTxt(s);
 		}
 	}
 
-	protected void WriteTxt( String path, String txt)
+
+	private void writeTxt( String txt)
 	{
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
 		try
 		{
-			FileWriter  f = new FileWriter(path);
-	        BufferedWriter bw=new BufferedWriter(f);
-	        bw.write(txt);
-	        bw.close();
+			FileWriter f = new FileWriter(systemConfigProperties.getLogPath()+sdf.format(new Date())+".txt",true);
+			BufferedWriter bw=new BufferedWriter(f);
+			bw.write(txt);
+			bw.newLine();
+			bw.close();
 		}
-        catch(Exception e)
-        {
-        }
+		catch(Exception e)
+		{
+			System.out.println("鎵撳嵃閿欒");
+		}
 	}
+
 
 	@Autowired
 	private OutParkService outParkService;
@@ -247,10 +262,10 @@
 		outPark.setBarrierId(barrierId);
 		outPark.setCreateTime(new Date());
 		outPark.setCode(System.currentTimeMillis()+"");
-		EnterPark enterPark = enterParkService.findByCarNo(carNo);
+		EnterPark enterPark = enterParkService.findByCarNo(carNo).get(0);
 
 		if(enterPark==null){
-
+			String s1 = "鏈彂鐜板叆鍦鸿溅杈嗭細"+carNo;
 		}else{
 			outPark.setEnterTime(enterPark.getCreateTime());
 		}
diff --git a/src/main/java/com/boying/dao/EnterParkDao.java b/src/main/java/com/boying/dao/EnterParkDao.java
index a046f74..447686f 100644
--- a/src/main/java/com/boying/dao/EnterParkDao.java
+++ b/src/main/java/com/boying/dao/EnterParkDao.java
@@ -7,6 +7,7 @@
 import org.springframework.stereotype.Repository;
 
 import java.util.Date;
+import java.util.List;
 
 @Repository("enterParkDao")
 public interface EnterParkDao extends BaseDao<EnterPark, Long>{
@@ -14,8 +15,8 @@
     @Query(value = "select count(id) from EnterPark where createTime>:startTime and createTime<:endTime")
     long count1(Date startTime, Date endTime);
 
-    @Query(value = "from EnterPark where carNo=:carNo and id = (select max(id) from EnterPark)")
-    EnterPark findByCarNo(String carNo);
+    @Query(value = "from EnterPark where carNo=:carNo order by  createTime desc")
+    List<EnterPark> findByCarNo(String carNo);
 
     @Modifying
     @Query(value = "delete from EnterPark where carNo=:carNo and parkId=:parkId")
diff --git a/src/main/java/com/boying/service/EnterParkService.java b/src/main/java/com/boying/service/EnterParkService.java
index 9723ba7..eed5e0a 100644
--- a/src/main/java/com/boying/service/EnterParkService.java
+++ b/src/main/java/com/boying/service/EnterParkService.java
@@ -34,7 +34,7 @@
         return (int)a;
     }
 
-    public EnterPark findByCarNo(String carNo) {
+    public List<EnterPark> findByCarNo(String carNo) {
         return enterParkDao.findByCarNo(carNo);
     }
 
diff --git a/src/main/resources/systemconfig.properties b/src/main/resources/systemconfig.properties
index 4e057f1..3dfc5df 100644
--- a/src/main/resources/systemconfig.properties
+++ b/src/main/resources/systemconfig.properties
@@ -8,4 +8,6 @@
 server.ip2=http://192.168.0.146:8081/
 #http://ffkq.hesuancj.cn:38080
 #鎶潌鎺ュ彛ip
-server.ip3=http://endu.hbshengcai.com:9092/ws_dingzhi/ws_dingzhi_lizheng/ws_open.ashx
\ No newline at end of file
+server.ip3=http://endu.hbshengcai.com:9092/ws_dingzhi/ws_dingzhi_lizheng/ws_open.ashx
+#杈撳嚭鏃ュ織鎵撳嵃鐩綍
+server.logPath=/Users/kongdeqiang/Desktop/
\ No newline at end of file

--
Gitblit v1.9.1