From 0a8d28436b2f7229ecdf40c6b003902002c8947f Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 16 十月 2025 17:37:08 +0800
Subject: [PATCH] 修改bug

---
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java |  134 ++++++++++++++++++++++++++++++++------------
 1 files changed, 98 insertions(+), 36 deletions(-)

diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
index 6b27477..25ee59b 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -9,7 +9,9 @@
 import com.stylefeng.guns.modular.call.server.IOrderCallService;
 import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
 import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
+import com.stylefeng.guns.modular.shunfeng.model.DriverRide;
 import com.stylefeng.guns.modular.shunfeng.model.OrderRide;
+import com.stylefeng.guns.modular.shunfeng.service.IDriverRideService;
 import com.stylefeng.guns.modular.shunfeng.service.IOrderRideService;
 import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
 import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
@@ -24,10 +26,15 @@
 import com.stylefeng.guns.modular.system.pdf.TripSheetGenerator;
 import com.stylefeng.guns.modular.system.service.*;
 import com.stylefeng.guns.modular.system.util.*;
+import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
 import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil;
+import com.stylefeng.guns.modular.system.util.qianyuntong.model.AddAccountInfoRequest;
 import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest;
 import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallback;
 import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallbackData;
+import com.stylefeng.guns.modular.system.util.zhenglian.ZhengLianUtil;
+import com.stylefeng.guns.modular.system.util.zhenglian.model.TradeTerminalInfo;
+import com.stylefeng.guns.modular.system.util.zhenglian.model.ZLUserInfo;
 import com.stylefeng.guns.modular.system.warpper.*;
 import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
 import com.stylefeng.guns.modular.taxi.model.PaymentRecord;
@@ -55,6 +62,8 @@
 import java.io.PrintWriter;
 import java.io.Serializable;
 import java.lang.reflect.InvocationTargetException;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
@@ -168,6 +177,9 @@
 
     @Autowired
     private IOrderRideService orderRideService;
+    /*顺风车司机*/
+    @Autowired
+    private IDriverRideService driverRideService;
 
 
     /**
@@ -188,6 +200,47 @@
             if (null == uid) {
                 return ResultUtil.tokenErr();
             }
+            UserInfo userInfo = userInfoService.selectById(uid);
+            if(null != userInfo.getDriverId()){
+                DriverRide driverRide = driverRideService.selectById(userInfo.getDriverId());
+                //获取证联数据
+                if(null == driverRide.getCustId() || 0 == driverRide.getAccOpenFlag()){
+                    TradeTerminalInfo tradeTerminalInfo = new TradeTerminalInfo();
+                    tradeTerminalInfo.setTerminal("1");
+                    InetAddress inetAddress = InetAddress.getLocalHost();
+                    String ip = inetAddress.getHostAddress();
+                    tradeTerminalInfo.setIp(ip);
+                    NetworkInterface networkInterface = NetworkInterface.getByInetAddress(inetAddress);
+                    byte[] mac = networkInterface.getHardwareAddress();
+                    StringBuilder macAddress = new StringBuilder();
+                    for (int i = 0; i < mac.length; i++) {
+                        macAddress.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
+                    }
+
+                    tradeTerminalInfo.setMac(macAddress.toString());
+                    ZLUserInfo userInfo1 = ZhengLianUtil.getUserInfo(driverRide.getEmpId().toString(), tradeTerminalInfo);
+                    if(null != userInfo){
+                        driverRide.setCustId(userInfo1.getCustId());
+                        driverRide.setAccOpenFlag(userInfo1.getAccOpenFlag());
+                        driverRideService.updateById(driverRide);
+                    }
+                }
+                //同步到中台
+                if(null != driverRide.getAccOpenFlag() && 1 == driverRide.getAccOpenFlag() && 0 == driverRide.getIsSynchronous()){
+                    AddAccountInfoRequest request1 = new AddAccountInfoRequest();
+                    request1.setCustId(driverRide.getCustId());
+                    request1.setAccountNo(driverRide.getEmpId().toString());
+                    request1.setAccountName(userInfo.getName());
+                    request1.setMobile(userInfo.getPhone());
+                    Integer status = EmployeeUtil.addAccountInfo(request1);
+                    if(0 == status){
+                        driverRide.setIsSynchronous(1);
+                        driverRideService.updateById(driverRide);
+                    }
+                }
+            }
+
+
             List<OrderStatusWarpper> data = new ArrayList<>();
             List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.queryOrder(uid, 1, 2, 3, 4, 5, 6, 7, 11, 12);
             for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
@@ -1427,7 +1480,7 @@
                 case 2:
                     return orderTaxiService.payTaxiOrder1(payType, orderId, objectId, objectType, type, path, ip);
                 case 3:
-                    ResultUtil resultUtil = orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type);
+                    ResultUtil resultUtil = orderCrossCityService.payCrossCityOrder1(payType, orderId, objectId, objectType, type, path, ip);
 
                     orderCrossCityService.promotion(orderId);
 
@@ -1471,24 +1524,27 @@
                     case 1:
                         OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
                         orderPrivateCar.setState(9);
+                        orderPrivateCar.setPayTime(new Date());
                         orderPrivateCarService.updateById(orderPrivateCar);
-                        Driver driver1 = null;
-                        Company company = null;
-                        //中台修改订单状态
-                        ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
-                        request.setOrderId(orderPrivateCar.getTravelId());
-                        request.setStatus(orderPrivateCar.getState());
-                        if (null != orderPrivateCar.getDriverId()) {
-                            driver1 = driverService.selectById(orderPrivateCar.getDriverId());
-                            company = companyService.selectById(driver1.getCompanyId());
-                            request.setDriverId(driver1.getEmpId().toString());
-                            request.setSupplierShopId(company.getEnterCode());
+                        if(ToolUtil.isNotEmpty(orderPrivateCar.getTravelId())){
+                            Driver driver1 = null;
+                            Company company = null;
+                            //中台修改订单状态
+                            ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
+                            request.setOrderId(orderPrivateCar.getTravelId());
+                            request.setStatus(orderPrivateCar.getState());
+                            if (null != orderPrivateCar.getDriverId()) {
+                                driver1 = driverService.selectById(orderPrivateCar.getDriverId());
+                                company = companyService.selectById(driver1.getCompanyId());
+                                request.setDriverId(driver1.getEmpId().toString());
+                                request.setSupplierShopId(company.getEnterCode());
+                            }
+                            if (2 == orderPrivateCar.getPromotion()) {
+                                Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
+                                request.setPromoterId(driver2.getEmpId().toString());
+                            }
+                            OrderUtil.modifyTravelItinerary(request);
                         }
-                        if (2 == orderPrivateCar.getPromotion()) {
-                            Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId());
-                            request.setPromoterId(driver2.getEmpId().toString());
-                        }
-                        OrderUtil.modifyTravelItinerary(request);
                         new Thread(new Runnable() {
                             @Override
                             public void run() {
@@ -1502,24 +1558,27 @@
                     case 2:
                         OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
                         orderTaxi.setState(9);
+                        orderTaxi.setPayTime(new Date());
                         orderTaxiService.updateById(orderTaxi);
-                        Driver driver = null;
-                        Company company1 = null;
-                        //中台修改订单状态
-                        ModifyTravelItineraryRequest request2 = new ModifyTravelItineraryRequest();
-                        request2.setOrderId(orderTaxi.getTravelId());
-                        request2.setStatus(orderTaxi.getState());
-                        if (null != orderTaxi.getDriverId()) {
-                            driver = driverService.selectById(orderTaxi.getDriverId());
-                            company1 = companyService.selectById(driver.getCompanyId());
-                            request2.setDriverId(driver.getEmpId().toString());
-                            request2.setSupplierShopId(company1.getEnterCode());
+                        if(ToolUtil.isNotEmpty(orderTaxi.getTravelId())){
+                            Driver driver = null;
+                            Company company1 = null;
+                            //中台修改订单状态
+                            ModifyTravelItineraryRequest request2 = new ModifyTravelItineraryRequest();
+                            request2.setOrderId(orderTaxi.getTravelId());
+                            request2.setStatus(orderTaxi.getState());
+                            if (null != orderTaxi.getDriverId()) {
+                                driver = driverService.selectById(orderTaxi.getDriverId());
+                                company1 = companyService.selectById(driver.getCompanyId());
+                                request2.setDriverId(driver.getEmpId().toString());
+                                request2.setSupplierShopId(company1.getEnterCode());
+                            }
+                            if (2 == orderTaxi.getPromotion()) {
+                                Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId());
+                                request2.setPromoterId(driver2.getEmpId().toString());
+                            }
+                            OrderUtil.modifyTravelItinerary(request2);
                         }
-                        if (2 == orderTaxi.getPromotion()) {
-                            Driver driver2 = driverService.selectById(orderTaxi.getPromotionDriverId());
-                            request2.setPromoterId(driver2.getEmpId().toString());
-                        }
-                        OrderUtil.modifyTravelItinerary(request2);
                         break;
                     case 3:
                         OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
@@ -2173,13 +2232,17 @@
             if (orderNo.contains("PR")) {
                 orderNo = orderNo.substring(2);
                 orderPrivateCarService.payOrderPrivateCarCallback(Integer.valueOf(orderNo), payId, 1);
-                orderPrivateCarService.promotion(Integer.valueOf(orderNo));
             }
             //出租车
             if (orderNo.contains("TA")) {
                 orderNo = orderNo.substring(2);
                 orderTaxiService.payOrderTaxiCallback(Integer.valueOf(orderNo), payId, 1, 0);
                 orderTaxiService.promotion(Integer.valueOf(orderNo));
+            }
+            //跨城出行
+            if (orderNo.contains("CC")) {
+                orderNo = orderNo.substring(2);
+                orderCrossCityService.payOrderCrossCityCallback(Integer.valueOf(orderNo), payId, 1, null);
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -2375,8 +2438,7 @@
             @ApiImplicitParam(value = "行程单信息", name = "tripSheet", required = false, dataType = "com.stylefeng.guns.modular.system.model.vo.TripSheetVo"),
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
     })
-    public ResultUtil sendTripSheetEmail(@RequestBody TripSheetVo tripSheet,
-                                         HttpServletRequest request) {
+    public ResultUtil sendTripSheetEmail(@RequestBody TripSheetVo tripSheet, HttpServletRequest request) {
         try {
             // 从Redis中获取当前用户ID
             Integer uid = userInfoService.getUserIdFormRedis(request);

--
Gitblit v1.7.1