| | |
| | | if (null != distance) { |
| | | Double distance1 = distance.get("WGS84"); |
| | | if (distance1 > 50 && xpOrder.getStatus() == 6) {//大于50米表示在移动,且在服务中的时候记录里程 |
| | | xpOrder.setMileageKilometers(BigDecimal.valueOf(xpOrder.getMileageKilometers()).add(new BigDecimal(distance1)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); |
| | | xpOrder.setMileageKilometers(BigDecimal.valueOf(xpOrder.getMileageKilometers()).add(new BigDecimal(distance1).divide(new BigDecimal(1000)).setScale(4, RoundingMode.HALF_EVEN)).doubleValue()); |
| | | xpOrder.setAppUserId(null); |
| | | this.updateById(xpOrder); |
| | | // 存储本次距离 |
| | | orderTrajectory.setDistance(distance1); |
| | | // 存储mongo数据 |
| | | mongoTemplate.save(orderTrajectory); |
| | | // 更新定位 |
| | | redisService.setCacheObject(CacheConstants.ORDER_OLD_LOCATION + orderTrajectory.getOrderId(), orderTrajectory.getLocation()); |
| | | } |
| | | } else { |
| | | log.error("调用高德计算距离出错"); |