From b0c60fa86c398fa686c2653df87ca95549fd6ec9 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 26 六月 2025 20:05:24 +0800
Subject: [PATCH] bug修改

---
 DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index 31aeec1..3675096 100644
--- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -111,7 +111,8 @@
 
     @Resource
     private OrderTaxiMapper orderTaxiMapper;
-
+    @Autowired
+    private ICompanyService companyService;
     @Resource
     private PhoneMapper phoneMapper;
 
@@ -262,12 +263,55 @@
 
                 //修改司机空闲状态
                 List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.queryWithin30Minutes(orderCrossCity.getDriverId(), 2, 3, 4, 5, 11);
+                Driver driver = driverService.selectById(orderCrossCity.getDriverId());
                 if(orderCrossCities.size() == 0){
-                    Driver driver = driverService.selectById(orderCrossCity.getDriverId());
                     driver.setState(2);
                     driverService.updateById(driver);
                 }
 
+                Integer placeOrderWay = null;
+                switch (orderCrossCity.getOrderSource()){
+                    case 2:
+                        placeOrderWay = 4;
+                        break;
+                    case 3:
+                        placeOrderWay = 4;
+                        break;
+                    case 6:
+                        placeOrderWay = 1;
+                        break;
+                    case 7:
+                        placeOrderWay = 2;
+                        break;
+                    case 5:
+                        placeOrderWay = 3;
+                        break;
+                }
+
+                Company company = companyService.selectById(driver.getFranchiseeId());
+                if(Objects.isNull(company)){
+                    company = companyService.selectById(driver.getCompanyId());
+                }
+                // 司机收入
+                double moneyTwo;
+                // 平台收入
+                double money;
+                if(orderCrossCity.getOrderSource() == 2 || orderCrossCity.getOrderSource() == 3){
+                    double v = company.getPercentageDeduction() / 100;
+                    money = v * orderCrossCity.getOrderMoney();
+                    moneyTwo = orderCrossCity.getOrderMoney()-money;
+                }else {
+                    money = company.getFixedDeduction();
+                    moneyTwo = orderCrossCity.getOrderMoney()-money;
+                }
+                driver.setBalance(driver.getBalance() + moneyTwo);
+                // 新增扣除使用费记录
+                transactionDetailsService.saveDataTaxi(driver.getId(), "软件使用费", money, 2, 1, 2, 6, orderCrossCity.getId(),placeOrderWay,company.getId());
+                // 司机订单收入
+                transactionDetailsService.saveDataTaxi(driver.getId(), "完成订单", moneyTwo, 1, 1, 2, 3, orderCrossCity.getId(),placeOrderWay,company.getId());
+
+                driverService.updateById(driver);
+
                 pushUtil.removeTask(orderId, 3);//删除定时任务,结束推送数据
                 systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderCrossCity.getUserId());
                 break;

--
Gitblit v1.7.1