liujie
2025-08-19 c7fe9d122a14fa2cd4463d4d1b0f14a6058f7955
UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -743,6 +743,10 @@
        }
        this.updateAllColumnById(orderCrossCity);
        if(userInfo.getPhone()!=null){
            SMSUtil.send(userInfo.getPhone(), "您的订单已生成,如有疑问请咨询0715-8911666", "2431012323525");
        }
        return resultUtil;
    }
//    /**
@@ -926,7 +930,11 @@
            }
            //添加交易明细
            transactionDetailsService.saveData(orderCrossCity.getUserId(), "完成订单", query.getAmount(), 2, 1, 1, 3, query.getOrderId());
            orderCrossCity.setState(2);//先支付再服务
            if(orderCrossCity.getDriverId()==null){
                orderCrossCity.setState(1);
            }else {
                orderCrossCity.setState(2);//先支付再服务
            }
            orderCrossCity.setPayType(type);
            orderCrossCity.setPayMoney(query.getAmount());
            this.updateById(orderCrossCity);
@@ -968,7 +976,7 @@
//            driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
//            driverService.updateById(driver);
            Company company = companyService.selectById(driver.getFranchiseeId());
//            Company company = companyService.selectById(driver.getFranchiseeId());
//            if(Objects.isNull(company)){
//                company = companyService.selectById(driver.getCompanyId());
//            }
@@ -992,20 +1000,35 @@
//
//            driverService.updateById(driver);
            // TODO: 2020/5/24 这里需要给司机和用户推送订单状态
            new Thread(new Runnable() {
                @Override
                public void run() {
                    pushUtil.pushOrderState(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0);
                    pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0);
                    pushUtil.pushDriverPosition(orderCrossCity.getId(), 3);
                    if(driver!=null){
                        pushUtil.pushOrderState(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0);
                        pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0);
                        pushUtil.pushDriverPosition(orderCrossCity.getId(), 3);
                    }else {
                        try {
                            pushCrossCityOrder(orderCrossCity);
                        } catch (Exception e) {
                            throw new RuntimeException(e);
                        }
                    }
                }
            }).start();
//            systemNoticeService.addSystemNotice(1, "您已使用" + (type == 1 ? "微信" : "支付宝") + "成功完成出行订单支付,谢谢使用!", orderCrossCity.getUserId(), 1);
            //添加司机消息提醒
            systemNoticeService.addSystemNotice(2, "用户已线上完成支付", driver.getId(), 1);
            if(driver!=null){
                systemNoticeService.addSystemNotice(2, "用户已线上完成支付", driver.getId(), 1);
            }
        }else{
            System.err.println("预支付数据异常(orderId = "  + id + ")");
        }
@@ -1406,6 +1429,7 @@
        };
        Timer timer = new Timer();
        timer.schedule(timerTask, 30 * 60 * 1000);
        return ResultUtil.success(baseWarpper);
    }
@@ -1926,7 +1950,9 @@
            new Thread(new Runnable() {
                @Override
                public void run() {
                    pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0);
                    if(orderCrossCity.getDriverId()!=null){
                        pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0);
                    }
                    System.err.println("推送取消操作---------------------");
                }
            }).start();
@@ -1934,9 +1960,12 @@
        //修改司机座位
        LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(orderCrossCity.getLineShiftDriverId());
        lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber());
        lineShiftDriver.setLaveSeatNumber(lineShiftDriver.getLaveSeatNumber() + (orderCrossCity.getTravelMode() == 1 ? "," : "") + orderCrossCity.getSeatNumber());
        lineShiftDriverMapper.updateById(lineShiftDriver);
        if(lineShiftDriver!=null){
            lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber());
            lineShiftDriver.setLaveSeatNumber(lineShiftDriver.getLaveSeatNumber() + (orderCrossCity.getTravelMode() == 1 ? "," : "") + orderCrossCity.getSeatNumber());
            lineShiftDriverMapper.updateById(lineShiftDriver);
        }
        //修改司机为空闲
        List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.queryByDriverId(orderCrossCity.getDriverId(), 2, 3, 4, 5, 11);