From 13d2bd6a27f941cfd8f096a7ae2def858a565363 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期三, 04 九月 2024 11:01:34 +0800
Subject: [PATCH] 修改2.0 bug

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java |  132 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 122 insertions(+), 10 deletions(-)

diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
index e5824b2..a44e21b 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
@@ -47,9 +47,6 @@
     private IOrderTaxiService orderTaxiService;
 
     @Autowired
-    private GDMapElectricFenceUtil gdMapElectricFenceUtil;
-
-    @Autowired
     private IOrderPrivateCarService orderPrivateCarService;
 
     @Autowired
@@ -78,7 +75,7 @@
      * @param orderType     订单类型(1=专车,2=出租车,3=城际,4=小件物流-同城,5=小件物流-跨城,6=包车)
      * @param state         订单状态(1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中)
      */
-    public void pushOrderState(Integer type, Integer uid, Integer orderId, Integer orderType, Integer state){
+    public void pushOrderState(Integer type, Integer uid, Integer orderId, Integer orderType, Integer state, Integer time, String audioUrl){
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("code", 200);
         jsonObject.put("msg", "SUCCESS");
@@ -87,6 +84,7 @@
         map.put("orderId", orderId);
         map.put("orderType", orderType);
         map.put("state", state);
+        map.put("audioUrl", audioUrl);
         jsonObject.put("data", map);
 
         //调用推送
@@ -148,7 +146,7 @@
      * @param orderId
      * @param orderType
      */
-    public void pushOrderReassign(Integer uid, Integer type, Integer orderId, Integer orderType){
+    public void pushOrderReassign(Integer uid, Integer type, Integer orderId, Integer orderType, String audioUrl){
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("code", 200);
         jsonObject.put("msg", "SUCCESS");
@@ -156,6 +154,7 @@
         Map<String, Object> map = new HashMap<>();
         map.put("orderId", orderId);
         map.put("orderType", orderType);
+        map.put("audioUrl", audioUrl);
         jsonObject.put("data", map);
 
         //调用推送
@@ -246,9 +245,11 @@
         Integer oldState = 0;
         Long startServiceTime = null;
         Double servedMileage = null;
+        String tripId = "";
         switch (orderType){
             case 1:
                 OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
+                tripId = redisUtil.getValue("trip" + orderPrivateCar.getUserId());
                 if(orderPrivateCar == null){
                     this.removeTask(orderId, orderType);
                 }else{
@@ -263,6 +264,7 @@
                 break;
             case 2:
                 OrderTaxi orderTaxi = orderTaxiService.selectById(orderId);
+                tripId = redisUtil.getValue("trip" + orderTaxi.getUserId());
                 if(orderTaxi == null){
                     this.removeTask(orderId, orderType);
                 }else{
@@ -277,6 +279,7 @@
                 break;
             case 3:
                 OrderCrossCity orderCrossCity = orderCrossCityService.selectById(orderId);
+                tripId = redisUtil.getValue("trip" + orderCrossCity.getUserId());
                 if(orderCrossCity == null){
                     this.removeTask(orderId, orderType);
                 }else{
@@ -290,6 +293,7 @@
                 break;
             case 4:
                 OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId);
+                tripId = redisUtil.getValue("trip" + orderLogistics.getUserId());
                 if(orderLogistics == null){
                     this.removeTask(orderId, orderType);
                 }else{
@@ -303,6 +307,7 @@
                 break;
             case 5:
                 OrderLogistics orderLogistics1 = orderLogisticsService.selectById(orderId);
+                tripId = redisUtil.getValue("trip" + orderLogistics1.getUserId());
                 if(orderLogistics1 == null){
                     this.removeTask(orderId, orderType);
                 }else{
@@ -341,7 +346,7 @@
             if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(startLonLat)){
                 String[] split = value.split(",");
                 String[] split1 = startLonLat.split(",");
-                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]));
+                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId);
                 if(null == distancematrix){
                     System.err.println("地图获取距离出错");
                 }else{
@@ -370,7 +375,7 @@
             if(ToolUtil.isNotEmpty(value) && ToolUtil.isNotEmpty(endLonLat)){
                 String[] split = value.split(",");
                 String[] split1 = endLonLat.split(",");
-                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]));
+                DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(Double.valueOf(split[1]), Double.valueOf(split[0]), Double.valueOf(split1[1]), Double.valueOf(split1[0]), tripId);
                 if(null == distancematrix){
                     System.err.println("地图获取距离出错");
                 }else{
@@ -424,13 +429,39 @@
      * @param id
      * @param type
      */
-    public void pushOffline(Integer id, Integer type){
+    public void pushOffline(Integer id, Integer type, Object object){
         JSONObject msg = new JSONObject();
         msg.put("code", 200);
         msg.put("msg", "SUCCESS");
         msg.put("method", "OFFLINE");
-        msg.put("data", new Object());
+        msg.put("data", object);
 
+        //调用推送
+        HttpHeaders headers = new HttpHeaders();
+        // 以表单的方式提交
+        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        //将请求头部和参数合成一个请求
+        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+        params.add("msg", msg.toJSONString());
+        params.add("id", id.toString());
+        params.add("type", type.toString());
+        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
+        String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
+        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
+        if(jsonObject1.getIntValue("code") != 200){
+            System.err.println(jsonObject1.getString("msg"));
+        }
+    }
+    
+    
+    
+    public void afterWork(Integer id, Integer type, Object object){
+        JSONObject msg = new JSONObject();
+        msg.put("code", 200);
+        msg.put("msg", "SUCCESS");
+        msg.put("method", "AFTER_WORK");
+        msg.put("data", object);
+        
         //调用推送
         HttpHeaders headers = new HttpHeaders();
         // 以表单的方式提交
@@ -495,8 +526,9 @@
      * @param orderId
      * @param orderType
      * @param money
+     * @param status 1=申请,2=同意,3=拒绝
      */
-    public void pushPayDifference(Integer type, Integer uid, Integer orderId, Integer orderType, Double money){
+    public void pushPayDifference(Integer type, Integer uid, Integer orderId, Integer orderType, Double money, Integer status){
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("code", 200);
         jsonObject.put("msg", "SUCCESS");
@@ -505,6 +537,7 @@
         map.put("orderId", orderId);
         map.put("orderType", orderType);
         map.put("money", money);
+        map.put("status", status);
         jsonObject.put("data", map);
 
         //调用推送
@@ -537,4 +570,83 @@
             pushMap.remove(orderId + "_" + orderType);
         }
     }
+    
+    
+    
+    /**
+     * 修改目的地推送通知
+     * @param type
+     * @param uid
+     * @param orderId
+     * @param orderType
+     * @param status 1=申请,2=同意,3=拒绝
+     */
+    public void pushModifyAddress(Integer type, Integer uid, Integer orderId, Integer orderType, Integer status){
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("code", 200);
+        jsonObject.put("msg", "SUCCESS");
+        jsonObject.put("method", "MODIFY_ADDRESS");
+        Map<String, Object> map = new HashMap<>();
+        map.put("orderId", orderId);
+        map.put("orderType", orderType);
+        map.put("status", status);
+        jsonObject.put("data", map);
+        
+        //调用推送
+        HttpHeaders headers = new HttpHeaders();
+        // 以表单的方式提交
+        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        //将请求头部和参数合成一个请求
+        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+        params.add("msg", jsonObject.toJSONString());
+        params.add("id", String.valueOf(uid));
+        params.add("type", String.valueOf(type));
+        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
+        String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
+        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
+        if(jsonObject1.getIntValue("code") != 200){
+            System.err.println(jsonObject1.getString("msg"));
+        }
+    }
+    
+    
+    /**
+     * 司机超时推送
+     * @param type
+     * @param uid
+     * @param timeOutType  超时类型(1=用户可免费取消提醒,2=预约单接单提醒,3=超时循环提醒)
+     * @param orderId  订单id
+     * @param orderType  订单类型(1=打车,4=包裹)
+     * @param describe  展示内容
+     * @param audioUrl  语音播报音频地址
+     */
+    public void pushOrderTimeOut(Integer type, Integer uid, Integer timeOutType, Integer orderId, Integer orderType, String describe, String audioUrl){
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("code", 200);
+        jsonObject.put("msg", "SUCCESS");
+        jsonObject.put("method", "ORDER_TIME_OUT");
+        Map<String, Object> map = new HashMap<>();
+        map.put("timeOutType", timeOutType);
+        map.put("orderId", orderId);
+        map.put("orderType", orderType);
+        map.put("describe", describe);
+        map.put("audioUrl", audioUrl);
+        jsonObject.put("data", map);
+        
+        //调用推送
+        HttpHeaders headers = new HttpHeaders();
+        // 以表单的方式提交
+        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        //将请求头部和参数合成一个请求
+        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+        params.add("msg", jsonObject.toJSONString());
+        params.add("id", String.valueOf(uid));
+        params.add("type", String.valueOf(type));
+        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
+        String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
+        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
+        if(jsonObject1.getIntValue("code") != 200){
+            System.err.println(jsonObject1.getString("msg"));
+        }
+    }
 }

--
Gitblit v1.7.1