puzhibing
2023-09-09 9ef2e272c6ef99d152c5d6afc95af70a3822c57d
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -122,16 +122,10 @@
    private IOrderPositionService orderPositionService;
    @Autowired
    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
    @Autowired
    private IOrderCancelService orderCancelService;
    @Value("${filePath}")
    private String filePath;
    @Value("${pushMinistryOfTransport}")
    private boolean pushMinistryOfTransport;
    @Value("${callbackPath}")
    private String callbackPath;
@@ -362,7 +356,7 @@
            userInfo = new UserInfo();
            Integer integer = userInfoMapper.selectCount(null) + 1000001;
            userInfo.setNickName(ToolUtil.isNotEmpty(orderCrossCityWarpper.getPassengers()) ? orderCrossCityWarpper.getPassengers() : "OK" + String.valueOf(integer).substring(1));
            userInfo.setName(orderCrossCityWarpper.getPassengers());
            userInfo.setLastName(orderCrossCityWarpper.getPassengers());
            userInfo.setPhone(orderCrossCityWarpper.getPassengersPhone());
            userInfo.setState(1);
            userInfo.setFlag(1);
@@ -570,7 +564,7 @@
        //添加已收入明细
        Line line = lineService.selectById(orderCrossCity.getLineId());
        Double speMoney = Double.valueOf(line.getRakeRate());
        BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入
        BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN)));//企业收入
        BigDecimal c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);//司机收入
        incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 1, d.doubleValue());
        incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 1, c.doubleValue());
@@ -707,7 +701,7 @@
            //添加已收入明细
            Line line = lineService.selectById(orderCrossCity.getLineId());
            Double speMoney = Double.valueOf(line.getRakeRate());
            BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN);//企业收入
            BigDecimal d = new BigDecimal(orderCrossCity.getOrderMoney()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN)));//企业收入
            BigDecimal c = new BigDecimal(orderCrossCity.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN);//司机收入
            incomeService.saveData(1, orderCrossCity.getCompanyId(), 2, orderCrossCity.getId(), 3, d.doubleValue());
            incomeService.saveData(2, orderCrossCity.getDriverId(), 2, orderCrossCity.getId(), 3, c.doubleValue());
@@ -751,10 +745,10 @@
            if(null != orderPosition1){
                String now = lon + "," + lat;
                String old = orderPosition1.getLon() + "," + orderPosition1.getLat();
                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){//大于50米表示在移动
                    Double distance1 = distance.get("WGS84");
                    if(distance1 > 50){//大于50米表示在移动
                        orderCrossCity.setMileage(new BigDecimal(orderCrossCity.getMileage()).add(new BigDecimal(distance1)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
                        this.updateById(orderCrossCity);
                        b = true;