From 86652ef17483e89194212793c098193134af2044 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期五, 26 六月 2026 18:18:34 +0800
Subject: [PATCH] 跨城改派fix

---
 DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
index 19e7c69..7a63aa2 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
@@ -266,6 +266,64 @@
         }
     }
 
+    /**
+     * 推送改派确认请求给目标司机(Socket推送)
+     * @param driverId 目标司机ID
+     * @param reassignIds 改派记录ID列表(逗号分隔)
+     * @param orderIds 订单ID列表(逗号分隔)
+     * @param startSite 线路起点站点
+     * @param endSite 线路终点站点
+     * @param totalPeopleNumber 总人数
+     * @param travelTime 出行时间
+     * @param expireTime 超时时间
+     */
+    public void pushReassignConfirmRequest(Integer driverId, String reassignIds, String orderIds,
+                                           String startSite, String endSite, Integer totalPeopleNumber,
+                                           String travelTime, String expireTime) {
+        System.out.println("推送改派确认请求给司机: driverId=" + driverId + ", reassignIds=" + reassignIds);
+
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("code", 200);
+        jsonObject.put("msg", "SUCCESS");
+        jsonObject.put("method", "REASSIGN_CONFIRM_REQUEST");
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("reassignIds", reassignIds); // 改派记录ID列表(逗号分隔)
+        map.put("orderIds", orderIds);
+        map.put("startSite", startSite);
+        map.put("endSite", endSite);
+        map.put("routeInfo", startSite + " → " + endSite);
+        map.put("totalPeopleNumber", totalPeopleNumber);
+        map.put("travelTime", travelTime);
+        map.put("expireTime", expireTime);
+
+        jsonObject.put("data", map);
+
+        // 调用推送
+        HttpRequest post = HttpUtil.createPost(socket_uri + "/netty/sendMsgToClient");
+        post.header("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE);
+
+        // 将请求头部和参数合成一个请求
+        Map<String, Object> params = new HashMap<>();
+        params.put("msg", jsonObject.toJSONString());
+        params.put("id", driverId);
+        params.put("type", 2); // type=2 表示司机端
+        params.put("bussinessType", "dache");
+        post.form(params);
+
+        HttpResponse execute = post.execute();
+        if (200 != execute.getStatus()) {
+            System.err.println("改派确认请求推送异常");
+        } else {
+            JSONObject jsonObject1 = JSON.parseObject(execute.body(), JSONObject.class);
+            if (jsonObject1.getIntValue("code") != 200) {
+                System.err.println("改派确认请求推送失败: " + jsonObject1.getString("msg"));
+            } else {
+                System.out.println("改派确认请求推送成功: driverId=" + driverId);
+            }
+        }
+    }
+
 
     /**
      * 推送司机位置给乘客端

--
Gitblit v1.7.1