Pu Zhibing
昨天 a3698ecb84be4192754d7b2092491e727dbccec7
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -1763,36 +1763,39 @@
    public OrderServerWarpper queryOrderServer(Integer orderId, Integer uid) throws Exception {
        OrderServerWarpper orderServerWarpper = new OrderServerWarpper();
        OrderTaxi orderTaxi = this.selectById(orderId);
        if(null == orderTaxi){
        if (null == orderTaxi) {
            return orderServerWarpper;
        }
        //计算预计距离和剩余时间
        String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(orderTaxi.getDriverId()));
        if(null == value || "".equals(value)){
            System.err.println("司机没有上传位置信息");
            //调用获取轨迹中的数据
            List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, 2);
            if(list.size() > 0){
                Map<String, Object> map = list.get(list.size() - 1);
                value = map.get("lon") + "," + map.get("lat");
        String value = null;
        if (null != orderTaxi.getDriverId()) {
            value = (String) redisTemplate.opsForValue().get("DRIVER" + orderTaxi.getDriverId());
            if (null == value || "".equals(value)) {
                System.err.println("司机没有上传位置信息");
                //调用获取轨迹中的数据
                List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, 2);
                if (list.size() > 0) {
                    Map<String, Object> map = list.get(list.size() - 1);
                    value = map.get("lon") + "," + map.get("lat");
                }
            }
        }
        orderServerWarpper.setOrderId(orderTaxi.getId());
        orderServerWarpper.setOrderType(2);
        orderServerWarpper.setState(orderTaxi.getState());
        orderServerWarpper.setLon(null != value ? value.split(",")[0] : "0.0");
        orderServerWarpper.setLat(null != value ? value.split(",")[1] : "0.0");
        orderServerWarpper.setReassignNotice(orderTaxi.getReassignNotice());
        if(orderTaxi.getState() == 2 || orderTaxi.getState() == 3){//前往预约地
        if (orderTaxi.getState() == 2 || orderTaxi.getState() == 3) {//前往预约地
            // TODO: 2023/11/4 无法修改
            Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderTaxi.getStartLon() + "," + orderTaxi.getStartLat(), 1);
            String d = "0";
            String t = "0";
            if(null == distance){
            if (null == distance) {
                System.err.println("查询距离出错了");
            }else{
            } else {
                d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString();
                t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + "";
            }
@@ -2090,11 +2093,7 @@
                    }
                    Company query = companyCityService.query(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司
                    List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//获取需要推送的次数
                    boolean b = false;
                    for (int i = 1; i <= querys.size(); i++) {
                        if (b) {
                            break;
                        }
                        PushOrder pushOrder = pushOrderService.querys(i, 2, query.getId()).get(0);
                        System.out.println("pushOrder:" + pushOrder);
                        //获取空闲司机