luodangjia
2024-12-10 31ce6be2d56798d9509e6d90335999064351f7f3
DriverNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -566,6 +566,9 @@
    public ResultUtil work(Integer uid, String type) throws Exception {
        DriverWork driverWork = driverWorkMapper.queryNewWork(uid, null, 1);
        Driver driver = this.selectById(uid);
        if (driver.getCarId()==null){
            return ResultUtil.error("请先绑定车辆");
        }
        if(null != driverWork){//作下班操作
            //检测是否有未完成的订单
            List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid);
@@ -666,7 +669,7 @@
                if(Integer.valueOf(t) == 3){
                    CarService query1 = carServiceMapper.query(3, driver.getCarId());
                    if(query1 == null){
                        return ResultUtil.error("车辆未添加直通车服务");
                        return ResultUtil.error("车辆未添加跨城服务");
                    }
                }
                DriverOrders query = driverOrdersMapper.query(uid, Integer.valueOf(t));
@@ -748,7 +751,7 @@
                    baseWarpper.setName("包车");
                    break;
                    case 7:
                    baseWarpper.setName("接送机");
                    baseWarpper.setName("接送机/站");
                    break;
            }
            maps.add(baseWarpper);
@@ -793,6 +796,34 @@
        this.updateById(driver1);
        smsrecordService.saveData(7, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
        DriverWork driverWork = driverWorkMapper.queryNewWork(uid, null, 1);
        if (driverWork==null){
            return ResultUtil.success();
        }
        //检测是否有未完成的订单
        List<Map<String, Object>> list = orderService.queryOrderList(1, 1, 10, uid);
        if(list.size() > 0){
            return ResultUtil.error("还有未完成的订单,不能进行下班操作");
        }
        driverWork.setEndTime(new Date());
        driverWork.setState(2);
        driverWorkMapper.updateById(driverWork);
        driver1.setState(1);
        this.updateById(driver1);
        new Thread(new Runnable() {
            @Override
            public void run() {
                if(pushMinistryOfTransport){//上传数据
                    pushMinistryOfTransportUtil.operateLogout(uid);
                }
            }
        }).start();
        return ResultUtil.success();
    }
@@ -990,7 +1021,7 @@
                            break;
                        case 3:
                            sb.append("直通车");
                            sb.append("跨城");
                            break;
                        case 4:
                            break;
@@ -1003,10 +1034,11 @@
                    DriverActivityOrder driverActivityOrder = driverActivityOrderMapper.selectById(dah.getActivityId());
                    activityWarpper.setId(driverActivityOrder.getId());
                    activityWarpper.setContent("今日" + driverActivityOrder.getStart() + "-" + driverActivityOrder.getEnd() + "累计接单" + driverActivityOrder.getOrderNum() + "单奖励" + driverActivityOrder.getMoney() + "元");
                    SimpleDateFormat sdf = new SimpleDateFormat("H:m");
                    Date start = sdf.parse(driverActivityOrder.getStart());
                    Date end = sdf.parse(driverActivityOrder.getEnd());
                    Integer integer = orderService.queryOrderNum(uid, start, end);
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                    SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    Integer integer = orderService.queryOrderNum(uid, sdf1.parse(sdf.format(new Date()) + " " + driverActivityOrder.getStart() + ":00"), sdf1.parse(sdf.format(new Date()) + " " + driverActivityOrder.getEnd() + ":59"));
                    activityWarpper.setCarryOut(integer > driverActivityOrder.getOrderNum() ? driverActivityOrder.getOrderNum() + "/" + driverActivityOrder.getOrderNum() : integer + "/" + driverActivityOrder.getOrderNum());
                    break;
            }
@@ -1145,6 +1177,7 @@
            DriverActivityOrder dao = driverActivityOrderMapper.selectById(dah.getActivityId());
            Integer integer = orderService.queryOrderNum(dah.getDriverId(), sdf1.parse(sdf.format(new Date()) + " " + dao.getStart() + ":00"),
                    sdf1.parse(sdf.format(new Date()) + " " + dao.getEnd() + ":59"));
            dao.setOrderNum(integer);
            if(dao.getOrderNum() <= integer){
                dah.setCarryOut(2);//完成状态
                driverActivityHistoryMapper.updateById(dah);
@@ -1161,6 +1194,7 @@
                //添加收入记录
                incomeService.saveData(2, dah.getDriverId(), 1, dao.getId(), null, dah.getMoney());
            }
            driverActivityHistoryMapper.updateById(dah);
        }
    }