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