From bd6d5de56192630584f2e2678c199263534b3e70 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期六, 11 十月 2025 17:21:05 +0800 Subject: [PATCH] 添加日志记录 --- UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 69 +++++++--------------------------- 1 files changed, 15 insertions(+), 54 deletions(-) diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index f622ce9..96d2827 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -198,6 +198,9 @@ @Autowired private IAppOperationLogService appOperationLogService; + @Resource + private DriverMapper driverMapper; + /** @@ -411,8 +414,9 @@ } try { //获取空闲司机 - List<Driver> drivers = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), assignOrder.getDistance(), null);//获取范围内空闲司机 + List<Driver> drivers = driverMapper.queryIdleDriver_(1, serverCarModelId, null); List<Integer> driverIds = drivers.stream().map(Driver::getId).collect(Collectors.toList()); + logger.info("指派的空闲司机【" + orderPrivateCar.getOrderNum() + "】:" + JSON.toJSONString(drivers)); if(drivers.size() > 0) {//有司机,直接指派给司机 Driver dr = null; if (drivers.size() > 1) { @@ -427,8 +431,14 @@ if (orderPrivateCar.getOrderType() == 2 && orderPrivateCarDriverIds.contains(driver1.getId())) { continue; } + // 判断司机是否有订单进行中 + long count = orderPrivateCarMapper.selectCount(new EntityWrapper<OrderPrivateCar>().eq("driverId", driver1.getId()) + .in("state", Arrays.asList(2, 3, 4, 5, 6, 11)).eq("isDelete", 1)); + if(0 != count){ + continue; + } // 判断该司机是否有30分钟内预约单 - long count = orderPrivateCarss.stream().filter(s -> s.getDriverId().equals(driver1.getId()) && + count = orderPrivateCarss.stream().filter(s -> s.getDriverId().equals(driver1.getId()) && DateUtil.dateToLocalDateTime(s.getTravelTime()).minusMinutes(query.getLimitationTime()).isBefore(LocalDateTime.now())).count(); if (count > 0) { continue; @@ -437,6 +447,7 @@ if (null != value) { Map<String, String> distance = gdMapElectricFenceUtil.getDistance(orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), value, 1); double d = Double.parseDouble(distance.get("distance")); + logger.info("指派推单,司机距离【" + orderPrivateCar.getOrderNum() + "】" + driver1.getPhone() + ":" + d); if(dis >= d){ driver1.setDistance(d); ds.add(driver1); @@ -451,66 +462,16 @@ return o1.getDistance().compareTo(o2.getDistance()); } }); + logger.info("指派推单,符合条件的司机【" + orderPrivateCar.getOrderNum() + "】:" + JSON.toJSONString(ds)); appOperationLogService.addAppOperationLog(uid, "{\"type\":\"指派推单,符合条件的司机\",\"orderId\":\"" + orderPrivateCar.getId() + "\",\"driver\":\"" + JSON.toJSONString(ds) + "\"}"); dr = ds.get(0); } - - - - - - -// for (int i = 0; i < assignOrder.getPeople(); i++) { -// Driver driver = null; -// int m = 0; -// int index = 0; -// // 查询预约单 -// List<OrderPrivateCar> orderPrivateCarss = orderPrivateCarMapper.queryOrderByState(driverIds, 2, 1, 2, 3, 4, 5, 6, 11); -// List<Integer> orderPrivateCarDriverIds = orderPrivateCars.stream().map(OrderPrivateCar::getDriverId).collect(Collectors.toList()); -// for (int j = 0; j < drivers.size(); j++) { -// Driver driver1 = drivers.get(j); -// if (orderPrivateCar.getOrderType() == 2 && orderPrivateCarDriverIds.contains(driver.getId())) { -// continue; -// } -// // 判断该司机是否有30分钟内预约单 -// long count = orderPrivateCarss.stream().filter(s -> s.getDriverId().equals(driver1.getId()) && -// DateUtil.dateToLocalDateTime(s.getTravelTime()).minusMinutes(query.getLimitationTime()).isBefore(LocalDateTime.now())).count(); -// if (count > 0) { -// continue; -// } -// String value = redisUtil.getValue("DRIVER" + drivers.get(j).getId()); -// if (null != value) { -// Map<String, String> distance = gdMapElectricFenceUtil.getDistance(orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), value, 1); -// int d = Integer.parseInt(distance.get("distance")); -// if ((0 == m && null == driver) || (d < m)) { -// driver = drivers.get(j); -// m = d; -// index = j; -// } -// } -// } -// ds.add(driver); -// drivers.remove(index); -// } -// -// //再根据直线距离最短的司机中找出行驶距离最短的司机 -// Integer m = 0; -// for (Driver driver : ds) { -// String value = redisUtil.getValue("DRIVER" + driver.getId()); -// if (null != value) { -// Map<String, String> distance = gdMapElectricFenceUtil.getDistance(startLon + "," + startLat, value, 1); -// int distance1 = Integer.parseInt(distance.get("distance")); -// if ((0 == m && null == dr) || (distance1 < m.intValue())) { -// dr = driver; -// m = distance1; -// } -// } -// } } else { List<OrderPrivateCar> orderPrivateCarss = orderPrivateCarMapper.queryOrderByState(driverIds, 2, 1, 2, 3, 4, 5, 6, 11); if (orderPrivateCarss.size() == 0) { dr = drivers.get(0); } + logger.info("指派推单,符合条件的司机【" + orderPrivateCar.getOrderNum() + "】:" + JSON.toJSONString(dr)); appOperationLogService.addAppOperationLog(uid, "{\"type\":\"指派推单,符合条件的司机\",\"orderId\":\"" + orderPrivateCar.getId() + "\",\"driver\":\"" + JSON.toJSONString(dr) + "\"}"); } -- Gitblit v1.7.1