From e46b648749b8ba9cde852b7bc965ef602ca57da4 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期三, 11 九月 2024 10:43:13 +0800 Subject: [PATCH] 修改bug --- DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 44 ++++++++++++++++++++++++++++---------------- 1 files changed, 28 insertions(+), 16 deletions(-) diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index 7c0f802..debbc89 100644 --- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -389,20 +389,32 @@ toLonLat = fromLonLat; } } - System.err.println("======服务里程======"+sum); - if(counts < 5){ + + //存储轨迹 + // 将数据存储到文件中 + File file = new File(filePath + orderId + "_" + 1 + ".txt"); + if(!file.exists()){ + file.getParentFile().mkdirs(); + file.createNewFile(); + } + //写入相应的文件 + PrintWriter out = new PrintWriter(new FileWriter(file)); + out.write(JSON.toJSONString(orderPositions)); + out.flush(); + out.close(); + + + //获取预估里程,使用预估里程作为行驶里程计算金额 + String origins = orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(); + String destination = orderPrivateCar.getGetoffLon() + "," + orderPrivateCar.getGetoffLat(); + Map<String, String> distance = gdMapElectricFenceUtil.getDistance(origins, destination, 1); + Double distance1 = Double.valueOf(distance.get("distance")); + if(distance1 - sum > 1000){ + orderPrivateCar.setMileage(distance1); + orderPrivateCar.setIsAbnormal(1); + }else{ orderPrivateCar.setMileage(sum); - // 将数据存储到文件中 - File file = new File(filePath + orderId + "_" + 1 + ".txt"); - if(!file.exists()){ - file.getParentFile().mkdirs(); - file.createNewFile(); - } - //写入相应的文件 - PrintWriter out = new PrintWriter(new FileWriter(file)); - out.write(JSON.toJSONString(orderPositions)); - out.flush(); - out.close(); + orderPrivateCar.setIsAbnormal(0); } break; } @@ -590,10 +602,10 @@ this.updateById(orderPrivateCar); return true;//第一条数据不作处理,直接存储 } - Map<String, String> distance = gdMapElectricFenceUtil.getDistance(now, old, 0);//直线距离 + Map<String, Double> distance = GeodesyUtil.getDistance(now, old);//直线距离 if(null != distance){ - String distance1 = distance.get("distance"); - if(Double.valueOf(distance1) > 50 && orderPrivateCar.getState()==5/* && orderPosition.getInsertTime().getTime()>=orderPrivateCar.getBoardingTime().getTime()*/){//大于50米表示在移动 + Double distance1 = distance.get("WGS84"); + if(distance1 > 50 && orderPrivateCar.getState()==5){//大于50米表示在移动 orderPrivateCar.setMileage(new BigDecimal(orderPrivateCar.getMileage()).add(new BigDecimal(distance1)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); this.updateById(orderPrivateCar); return true; -- Gitblit v1.7.1