From 05e0bb9b28295d1e80c6c47783e53d6879285198 Mon Sep 17 00:00:00 2001
From: kongdeqiang <kongdeqiang960204@163.com>
Date: 星期一, 18 十二月 2023 16:17:14 +0800
Subject: [PATCH] 提交更新

---
 src/main/java/com/boying/controller/phone/YCPayController.java |   68 ++++++++++++++++++++++-----------
 1 files changed, 45 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/boying/controller/phone/YCPayController.java b/src/main/java/com/boying/controller/phone/YCPayController.java
index 8aa3c39..349ba82 100644
--- a/src/main/java/com/boying/controller/phone/YCPayController.java
+++ b/src/main/java/com/boying/controller/phone/YCPayController.java
@@ -16,6 +16,7 @@
 import com.boying.util.HTTPEntityUtil;
 import com.google.gson.Gson;
 import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
@@ -48,10 +49,12 @@
 @RequiredArgsConstructor
 public class YCPayController {
     private final OutParkService outParkService;
+    private final PayLogService payLogService;
     private final ParkService parkService;
     private final OrderRecordService orderRecordService;
     private final TicketService ticketService;
     private final TicketBlackService ticketBlackService;
+
     private final SystemConfigProperties systemConfigProperties;
     private final WhiteListService whiteListService;
     private final EnterParkService enterParkService;
@@ -149,6 +152,10 @@
     public Object parkXT(Long id){
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss");
         OutPark outPark =  outParkService.getById(id);
+        System.out.println("id:"+id);
+        if(id == null){
+            return R.failed("鏈壘鍒版暟鎹紝璇风◢鍚庨噸鏂扮偣鍑�");
+        }
         if(outPark.getPrice()==0){
             updateOutPark(outPark.getId(),"03");
             return R.failed("鏈鍋滆溅鏃犻渶鏀粯璐圭敤");
@@ -267,13 +274,15 @@
             String respTxnTime = (String)map1.get("respTxnTime");
             Map map2 = gson.fromJson(respData, Map.class);
             String qrCode = (String)map2.get("qrCode");
-            outPark.setCode2(respTxnSsn);
-            outPark.setQrCode(qrCode);
-            outPark.setPayTime(LocalDateTime.now());
-            outPark.setTxnOrderId(outPark.getId()+""+format);
-            outPark.setTxnOrderTime(format);
-            outPark.setRespTxnTime(respTxnTime);
-            outParkService.updateById(outPark);
+            PayLog payLog = new PayLog();
+            payLog.setOutParkId(outPark.getId());
+            payLog.setCode2(respTxnSsn);
+            payLog.setQrCode(qrCode);
+            payLog.setPayTime(LocalDateTime.now());
+            payLog.setTxnOrderId(outPark.getId()+""+format);
+            payLog.setTxnOrderTime(format);
+            payLog.setRespTxnTime(respTxnTime);
+            payLogService.save(payLog);
             return R.ok(null,qrCode);
         }
         String respMsg = (String)map1.get("respMsg");
@@ -296,6 +305,7 @@
      */
     @PostMapping("payByWX")
     public Object payByWX(Long id,String openId){
+        System.out.println("寮�濮嬫敮浠�");
         OutPark outPark =  outParkService.getById(id);
         String xtyhpay = systemConfigProperties.getXTYHPAY();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
@@ -365,12 +375,14 @@
             resultMap.put("signType",signType);
             resultMap.put("package",package1);
             resultMap.put("paySign",paySign);
-            outPark.setCode2(respTxnSsn);
-            outPark.setPayTime(LocalDateTime.now());
-            outPark.setTxnOrderId(outPark.getId()+""+format);
-            outPark.setTxnOrderTime(format);
-            outPark.setRespTxnTime(respTxnTime);
-            outParkService.updateById(outPark);
+            PayLog payLog = new PayLog();
+            payLog.setOutParkId(outPark.getId());
+            payLog.setCode2(respTxnSsn);
+            payLog.setPayTime(LocalDateTime.now());
+            payLog.setTxnOrderId(outPark.getId()+""+format);
+            payLog.setTxnOrderTime(format);
+            payLog.setRespTxnTime(respTxnTime);
+            payLogService.save(payLog);
             return R.ok(resultMap,null);
         }
         String respMsg = (String)map1.get("respMsg");
@@ -428,18 +440,28 @@
         if(respCode != null){
             if(respCode.equals("0000")){
                 //浜ゆ槗鎴愬姛,鏍规嵁娴佹按鍙锋煡璇㈠嚭鍦鸿褰�
-                OutPark byPayCode = outParkService.findByPayCode(respTxnSsn);
-                if(byPayCode == null){
-                    return R.failed("鏈煡璇㈠埌璁㈠崟");
+                PayLog payLog = payLogService.findByPayCode(respTxnSsn);
+                if(payLog == null){
+                    return R.failed("鏈煡璇㈠埌娴佹按璁板綍");
                 }else {
-                    updateOrderRecord((long)byPayCode.getId(),"03");
-                    List<EnterPark> byCarNo = enterParkService.findByCarNo(byPayCode.getCarNo(),byPayCode.getParkId());
-                    if(byCarNo.size()>0){
-                        EnterPark enterPark = byCarNo.get(0);
-                        enterPark.setIsPay(1);
-                        enterParkService.updateById(enterPark);
+                    OutPark byPayCode = outParkService.getById(payLog.getOutParkId());
+                    writeTxt2(byPayCode.getId()+"鏀跺埌鍥炴墽\n");
+                    if(byPayCode == null){
+                        return R.failed("鏈煡璇㈠埌璁㈠崟");
+                    }else {
+                        if(byPayCode.getStatus() == 1){
+                            return R.ok(null,"璁㈠崟宸叉敮浠�");
+                        }else {
+                            updateOrderRecord((long)byPayCode.getId(),"03");
+                            List<EnterPark> byCarNo = enterParkService.findByCarNo(byPayCode.getCarNo(),byPayCode.getParkId());
+                            if(byCarNo.size()>0){
+                                EnterPark enterPark = byCarNo.get(0);
+                                enterPark.setIsPay(1);
+                                enterParkService.updateById(enterPark);
+                            }
+                            return R.ok(null,"鍥炶皟鎴愬姛");
+                        }
                     }
-                    return R.ok(null,"鍥炶皟鎴愬姛");
                 }
             }else if(respCode.equals("0002") || respCode.equals("0003") || respCode.equals("0003") || respCode.equals("0012")){
                 //浜ゆ槗鎴愬姛锛岃秴鏃讹紝鏈槑锛岀◢鍚庡彂璧锋煡璇�

--
Gitblit v1.9.1