From b0c60fa86c398fa686c2653df87ca95549fd6ec9 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 26 六月 2025 20:05:24 +0800 Subject: [PATCH] bug修改 --- DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 46 insertions(+), 2 deletions(-) diff --git a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index 31aeec1..3675096 100644 --- a/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/DriverOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -111,7 +111,8 @@ @Resource private OrderTaxiMapper orderTaxiMapper; - + @Autowired + private ICompanyService companyService; @Resource private PhoneMapper phoneMapper; @@ -262,12 +263,55 @@ //修改司机空闲状态 List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.queryWithin30Minutes(orderCrossCity.getDriverId(), 2, 3, 4, 5, 11); + Driver driver = driverService.selectById(orderCrossCity.getDriverId()); if(orderCrossCities.size() == 0){ - Driver driver = driverService.selectById(orderCrossCity.getDriverId()); driver.setState(2); driverService.updateById(driver); } + Integer placeOrderWay = null; + switch (orderCrossCity.getOrderSource()){ + case 2: + placeOrderWay = 4; + break; + case 3: + placeOrderWay = 4; + break; + case 6: + placeOrderWay = 1; + break; + case 7: + placeOrderWay = 2; + break; + case 5: + placeOrderWay = 3; + break; + } + + Company company = companyService.selectById(driver.getFranchiseeId()); + if(Objects.isNull(company)){ + company = companyService.selectById(driver.getCompanyId()); + } + // 司机收入 + double moneyTwo; + // 平台收入 + double money; + if(orderCrossCity.getOrderSource() == 2 || orderCrossCity.getOrderSource() == 3){ + double v = company.getPercentageDeduction() / 100; + money = v * orderCrossCity.getOrderMoney(); + moneyTwo = orderCrossCity.getOrderMoney()-money; + }else { + money = company.getFixedDeduction(); + moneyTwo = orderCrossCity.getOrderMoney()-money; + } + driver.setBalance(driver.getBalance() + moneyTwo); + // 新增扣除使用费记录 + transactionDetailsService.saveDataTaxi(driver.getId(), "软件使用费", money, 2, 1, 2, 6, orderCrossCity.getId(),placeOrderWay,company.getId()); + // 司机订单收入 + transactionDetailsService.saveDataTaxi(driver.getId(), "完成订单", moneyTwo, 1, 1, 2, 3, orderCrossCity.getId(),placeOrderWay,company.getId()); + + driverService.updateById(driver); + pushUtil.removeTask(orderId, 3);//删除定时任务,结束推送数据 systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderCrossCity.getUserId()); break; -- Gitblit v1.7.1