From ca73af429b960124ab9b32ccfd5572e3f1df2bc2 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 22 十月 2025 18:10:04 +0800
Subject: [PATCH] 添加后台改派司机校验

---
 DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java |   27 ++++++++++++---------------
 1 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
index 4627723..bacc537 100644
--- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
+++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -1,6 +1,8 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
 import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
@@ -87,6 +89,9 @@
     @Autowired
     private RedisUtil redisUtil;
 
+    @Autowired
+    private IAppOperationLogService appOperationLogService;
+
 
     /**
      * 提交改派申请
@@ -96,18 +101,9 @@
      */
     @Override
     public ResultUtil saveData(Reassign reassign, Integer uid, Integer type) throws Exception {
-        boolean lock = redisUtil.lock(reassign.getOrderId() + "_reassign", 10);
+        boolean lock = redisUtil.lock(reassign.getOrderId() + "_reassign", 10, 30);
         if(!lock){
-            int num1 = 1;
-            while (num1 <= 10){
-                Thread.sleep(3000);//等待3秒
-                lock = redisUtil.lock(reassign.getOrderId() + "_reassign", 10);
-                if(lock){
-                    break;
-                }else{
-                    num1++;
-                }
-            }
+            return ResultUtil.error("系统繁忙,请稍后重试");
         }
     
         ResultUtil resultUtil = ResultUtil.success();
@@ -190,7 +186,7 @@
                     driver.setBalance(new BigDecimal(balance).subtract(new BigDecimal(aDouble)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                     driverService.updateById(driver);
                     //添加交易明细
-                    transactionDetailsService.saveDriverData(uid, "司机改派支付", aDouble, 2, 1, 2, reassign.getOrderType(), reassign.getOrderId(), driver.getBalance());
+                    transactionDetailsService.saveDriverData(uid, "司机改派支付", aDouble, 2, 1, 2, reassign.getOrderType(), reassign.getOrderId(), driver.getLaveBusinessMoney());
             
             
                     //修改改派通知状态
@@ -201,6 +197,7 @@
                             orderPrivateCar.setState(11);
                             orderPrivateCar.setReassignNotice(2);
                             orderPrivateCarService.updateById(orderPrivateCar);
+                            appOperationLogService.addAppOperationLog(uid, "{\"type\":\"司机申请改派\",\"orderId\":\"" + orderPrivateCar.getId() + "\",\"driver\":\"" + JSON.toJSONString(orderPrivateCar) + "\"}");
                     
                             //添加已收入明细
                             incomeService.saveData(1, orderPrivateCar.getCompanyId(), 4, orderPrivateCar.getId(), 1, reassign.getMoney());
@@ -354,7 +351,7 @@
                 driverService.updateById(driver);
                 for(String id : split){
                     //添加交易明细
-                    transactionDetailsService.saveDriverData(uid, "司机改派支付", aDouble, 2, 1, 2, 3, Integer.valueOf(id),driver.getBalance());
+                    transactionDetailsService.saveDriverData(uid, "司机改派支付", aDouble, 2, 1, 2, 3, Integer.valueOf(id),driver.getLaveBusinessMoney());
                 }
 
                 //修改改派通知状态
@@ -418,7 +415,7 @@
                 PaymentRecord query = paymentRecordService.query(1, null, null, Integer.valueOf(key), 3, type, 1);
                 if(null != query){
                     //添加交易明细
-                    transactionDetailsService.saveDriverData(reassigns.get(0).getOriginalDriverId(), "司机改派支付", reassigns.get(0).getMoney(), 2, 1, 2, 3, Integer.valueOf(key),driver.getBalance());
+                    transactionDetailsService.saveDriverData(reassigns.get(0).getOriginalDriverId(), "司机改派支付", reassigns.get(0).getMoney(), 2, 1, 2, 3, Integer.valueOf(key),driver.getLaveBusinessMoney());
                     for(Reassign reassign : reassigns){
                         reassign.setState(2);
                         reassign.setPayOrder(order_id);
@@ -462,7 +459,7 @@
             PaymentRecord query = paymentRecordService.query(1, null, null, reassign.getOrderId(), reassign.getOrderType(), type, 1);
             if(null != query){
                 //添加交易明细
-                transactionDetailsService.saveDriverData(reassign.getOriginalDriverId(), "司机改派支付", reassign.getMoney(), 2, 1, 2, reassign.getOrderType(), reassign.getOrderId(),driver.getBalance());
+                transactionDetailsService.saveDriverData(reassign.getOriginalDriverId(), "司机改派支付", reassign.getMoney(), 2, 1, 2, reassign.getOrderType(), reassign.getOrderId(),driver.getLaveBusinessMoney());
                 reassign.setState(2);
                 reassign.setPayOrder(order_id);
                 reassign.setPayTime(new Date());

--
Gitblit v1.7.1