From cbc307682c0ca48d59e7b539d6a2ae58d49cabe1 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 20 八月 2025 22:33:02 +0800
Subject: [PATCH] refactor(driver): 重构司机端收入查询逻辑

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java |   29 ++++++++++++++++++++++++++++-
 1 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
index 2da4352..7f873d4 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -43,6 +43,7 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -150,6 +151,9 @@
     private IMerchantCouponService merchantCouponService;
     @Autowired
     private QrCodeConfiguration qrCodeConfiguration;
+
+    @Autowired
+    private TDriverPromotionActivityService driverPromotionActivityService;
 
     @Value("${pushMinistryOfTransport}")
     private boolean pushMinistryOfTransport;
@@ -370,6 +374,7 @@
 
                 pushUtil.removeTask(orderId, 3);//删除定时任务,结束推送数据
                 systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderCrossCity.getUserId(), 1);
+                promotion(orderId);
                 break;
         }
         this.updateById(orderCrossCity);
@@ -385,7 +390,29 @@
         return ResultUtil.success();
     }
 
+    public void promotion(Integer orderId) {
+        OrderCrossCity orderCrossCity = this.baseMapper.selectById(orderId);
+        UserInfo userInfo = userInfoMapper.selectById(orderCrossCity.getUserId());
+        if(orderCrossCity.getPromotionDriverId()!=null ){
+            String registAreaCode = userInfo.getRegistAreaCode();
+            TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).le("startTime", new Date()).ge("endTime", new Date()).last("AND FIND_IN_SET(" + 3 + ", bizType) limit 1"));
+            System.out.println("ddddd"+tDriverPromotionActivity);
+            if(tDriverPromotionActivity!=null){
+                Double payMoney = orderCrossCity.getPayMoney();
+                System.out.println(payMoney);
+                BigDecimal bigDecimal = tDriverPromotionActivity.getCommissionRatio().divide(new BigDecimal(100), 2, RoundingMode.HALF_UP).multiply(new BigDecimal(payMoney)).setScale(2, RoundingMode.HALF_UP);
+                System.out.println(bigDecimal);
+                orderCrossCity.setPromotionDriverId(userInfo.getBindDriverId());
+                orderCrossCity.setPromotionMoney(bigDecimal);
+                orderCrossCity.setPromotionActivityId(tDriverPromotionActivity.getId());
+                orderCrossCity.setSuccessTime(new Date());
+                this.baseMapper.updateById(orderCrossCity);
+            }
+        }
 
+
+
+    }
     /**
      * 获取订单明细
      * @param orderId
@@ -915,7 +942,7 @@
         String lat = orderPosition.getLat();
         OrderCrossCity order = this.selectById(orderId);
         if(null == order){
-            System.err.println("订单数据异常:" + orderId);
+            System.err.println("跨城订单数据异常:" + orderId);
             return false;
         }
 

--
Gitblit v1.7.1