From 01fb3942136929b10d1fd704330f9d400b38bfb0 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 23 十月 2025 18:09:19 +0800
Subject: [PATCH] 修改bug

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 48 insertions(+), 2 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java
index a0bb97d..5f1ac22 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java
@@ -878,6 +878,9 @@
 
     //用户取消退款
     public void userCancelTuik(OrderRide orderRide){
+        UserInfo userInfo=userInfoService.selectById(orderRide.getUserId());
+        //查询三方判断订单是否完成支付
+        getPaymentStatus(userInfo, orderRide);
         if(orderRide.getState()==2){//用户已经支付了订单但司机没有接单
             orderRide.setTuiMoney(orderRide.getMoney());
         }
@@ -886,7 +889,6 @@
             String finNum=OrdersUtil.getOrderNoForPrefix("fin");
             //todo 退款金额大于0需要退款
             if(orderRide.getPayType()==1){//余额
-                UserInfo userInfo=userInfoService.selectById(orderRide.getUserId());
                 userInfo.setBalance(userInfo.getBalance()+orderRide.getTuiMoney());
                 userInfoService.updateById(userInfo);
             }else if(orderRide.getPayType()==2){
@@ -897,7 +899,6 @@
 
                 //中台订单退款操作
                 if(ToolUtil.isNotEmpty(orderRide.getZttravelId())){
-                    UserInfo userInfo = userInfoService.selectById(orderRide.getUserId());
                     TradeOrderRefundRequest request = new TradeOrderRefundRequest();
                     request.setPartnerPayId(orderRide.getZttravelId());
                     request.setPayId(financial.getLsType());
@@ -956,6 +957,51 @@
         orderRide.setState(6);//取消状态
         orderRideService.updateById(orderRide);
     }
+
+
+
+    public void getPaymentStatus(UserInfo userInfo, OrderRide orderRide1){
+        GetTravelItineraryListRequest request1 = new GetTravelItineraryListRequest();
+        request1.setCustomerId(userInfo.getOnconUUID());
+        request1.setOrderNo("SF" + orderRide1.getId());
+        ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request1);
+        TravelItinerary travelItinerary = travelItineraryList.getList().get(0);
+        if(travelItinerary.getStatus() != 7 || Arrays.asList(3, 11).contains(travelItinerary.getOrderStatus())){
+            GetPaymentInfoDataRequest getPaymentInfoDataRequest1 = new GetPaymentInfoDataRequest();
+            getPaymentInfoDataRequest1.setPartnerPayId(orderRide1.getZttravelId());
+            GetPaymentInfo getPaymentInfo1 = OrderUtil.paymentInfo(getPaymentInfoDataRequest1);
+
+            String trade_no = getPaymentInfo1.getPayId();
+            Financial financial = new Financial();
+            financial.setType(1);//类型 1=收入 2=支出
+            financial.setPayType("2");//支付类型 1=余额 2=微信 3=支付宝
+            financial.setMoney(orderRide1.getMoney());//支付金额
+            financial.setOrderNum(orderRide1.getOrderNum());//我们本地的订单号
+            financial.setLsType(trade_no);//流水号
+            financial.setAddTime(new Date());
+            financial.setTradeStatus("success");
+            //顺风车支付
+            //修改订单表中的订单流水和支付方式
+            orderRide1.setOutNum(financial.getLsType());//流水
+            orderRide1.setPayTime(new Date());
+            orderRide1.setPayType(2);
+            orderRide1.setState(2);
+            financial.setPwType(8);//顺风车
+            financial.setUserId(orderRide1.getUserId());
+            financial.setLx(1);//1=用户 2=司机
+            financial.setOrderType(4);//顺风车
+            financialService.insert(financial);
+            orderRideService.updateById(orderRide1);
+            /*添加系统消息*/
+            try {
+                systemNoticeService.addSystemNotice(1, "您成功支付从" + orderRide1.getStartName() + "到" + orderRide1.getEndName() + "的顺风车订单", orderRide1.getUserId(), 1);
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+        }
+    }
+
+
     /**
      * 司机行程取消
      * @param orderId

--
Gitblit v1.7.1