Pu Zhibing
1 天以前 ddf438536267b9c9bb77369cdccce4e67206842a
DriverGOPOSTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
@@ -89,6 +89,7 @@
        map.put("audioUrl", audioUrl);
        map.put("from", from);
        jsonObject.put("data", map);
        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
        //调用推送
        HttpHeaders headers = new HttpHeaders();
@@ -124,6 +125,7 @@
        map.put("orderId", orderId);
        map.put("orderType", orderType);
        jsonObject.put("data", map);
        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
        //调用推送
        HttpHeaders headers = new HttpHeaders();
@@ -159,6 +161,7 @@
        map.put("orderType", orderType);
        map.put("audioUrl", audioUrl);
        jsonObject.put("data", map);
        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
        //调用推送
        HttpHeaders headers = new HttpHeaders();
@@ -346,19 +349,19 @@
        if((state == 2 || state == 3 || state == 4) || (oldState != null && (oldState == 2 || oldState == 3 || oldState == 4))){//前往预约地
            String d = "0";
            String t = "0";
//            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]), tripId);
//                if(null == distancematrix){
//                    System.err.println("地图获取距离出错");
//                }else{
//                    d = distancematrix.getDistance().toString();//距离m
//                    t = distancematrix.getDuration().toString();//时间s
//                }
//            }
//            d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
//            t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
            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]), tripId);
                if(null == distancematrix){
                    System.err.println("地图获取距离出错");
                }else{
                    d = distancematrix.getDistance().toString();//距离m
                    t = distancematrix.getDuration().toString();//时间s
                }
            }
            d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
            t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
            map.put("reservationMileage", d);//当前位置距离预约点的剩余里程
            map.put("reservationTime", t);//当前位置距离预约点的剩余分钟
            map.put("servedMileage", "0");//距离起点已经服务的里程
@@ -375,20 +378,20 @@
            String d = "0";
            String t = "0";
//            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]), tripId);
//                if(null == distancematrix){
//                    System.err.println("地图获取距离出错");
//                }else{
//                    d = distancematrix.getDistance().toString();//距离m
//                    t = distancematrix.getDuration().toString();//时间s
//                }
//            }
//
//            d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
//            t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
            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]), tripId);
                if(null == distancematrix){
                    System.err.println("地图获取距离出错");
                }else{
                    d = distancematrix.getDistance().toString();//距离m
                    t = distancematrix.getDuration().toString();//时间s
                }
            }
            d = new BigDecimal(d).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
            t = new BigDecimal(t).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
            map.put("laveMileage", d);//距离终点剩余未服务的里程数
            map.put("laveTime", t);//距离终端剩余未服务的预计时间
        }
@@ -406,17 +409,20 @@
            map.put("orderPositionList",JSONObject.toJSONString(list));
        }
        msg.put("data", map);
        JSONObject jsonObject = pushMap.get(orderId + "_" + orderType);
        Integer uid = jsonObject.getInteger("id");
        Integer type = jsonObject.getInteger("type");
        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, msg.toJSONString(), 30);
        //调用推送
        HttpHeaders headers = new HttpHeaders();
        // 以表单的方式提交
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        //将请求头部和参数合成一个请求
        JSONObject jsonObject = pushMap.get(orderId + "_" + orderType);
        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
        params.add("msg", msg.toJSONString());
        params.add("id", jsonObject.getString("id"));
        params.add("type", jsonObject.getString("type"));
        params.add("id", uid.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);
@@ -438,6 +444,7 @@
        msg.put("msg", "SUCCESS");
        msg.put("method", "OFFLINE");
        msg.put("data", object);
        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + id, msg.toJSONString(), 30);
        //调用推送
        HttpHeaders headers = new HttpHeaders();
@@ -464,6 +471,7 @@
        msg.put("msg", "SUCCESS");
        msg.put("method", "AFTER_WORK");
        msg.put("data", object);
        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + id, msg.toJSONString(), 30);
        
        //调用推送
        HttpHeaders headers = new HttpHeaders();
@@ -503,6 +511,7 @@
        map.put("orderType", orderType);
        map.put("state", state);
        jsonObject.put("data", map);
        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
        //调用推送
        HttpHeaders headers = new HttpHeaders();
@@ -542,6 +551,7 @@
        map.put("money", money);
        map.put("status", status);
        jsonObject.put("data", map);
        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
        //调用推送
        HttpHeaders headers = new HttpHeaders();
@@ -594,6 +604,7 @@
        map.put("orderType", orderType);
        map.put("status", status);
        jsonObject.put("data", map);
        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
        
        //调用推送
        HttpHeaders headers = new HttpHeaders();
@@ -635,6 +646,7 @@
        map.put("describe", describe);
        map.put("audioUrl", audioUrl);
        jsonObject.put("data", map);
        redisUtil.setStrValue( (type == 1 ? "USER_ORDER_MESSAGE:" : "DRIVER_ORDER_MESSAGE") + ":" + uid, jsonObject.toJSONString(), 30);
        
        //调用推送
        HttpHeaders headers = new HttpHeaders();