From 1569ec5a8a0f8d2cccb1c18ce78658a3e358b2d8 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 24 九月 2025 16:44:44 +0800 Subject: [PATCH] 更新代码 --- UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 81 ++++++++++++++++++++-------------------- 1 files changed, 40 insertions(+), 41 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 d1cded1..8b8cff2 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 @@ -25,6 +25,8 @@ import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService; import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService; import com.stylefeng.guns.modular.taxi.service.ITransactionDetailsService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpEntity; @@ -55,6 +57,8 @@ @Service public class OrderPrivateCarServiceImpl extends ServiceImpl<OrderPrivateCarMapper, OrderPrivateCar> implements IOrderPrivateCarService { + + Logger logger = LoggerFactory.getLogger(OrderPrivateCarServiceImpl.class); @Resource private OrderPrivateCarMapper orderPrivateCarMapper; @@ -154,6 +158,9 @@ @Autowired private GDMapElectricFenceUtil gdMapElectricFenceUtil; + + @Autowired + private GeodesyUtil geodesyUtil; @Autowired private IOrderPositionService orderPositionService; @@ -225,10 +232,10 @@ if(orderPrivateCars.size() > 0){ return ResultUtil.error("有未完成的订单"); } - List<OrderTaxi> list = orderTaxiMapper.queryByState_(uid, 1, 1, 1, 2, 3, 4, 5, 6, 11); - if(list.size() > 0){ - return ResultUtil.error("有未完成的订单"); - } +// List<OrderTaxi> list = orderTaxiMapper.queryByState_(uid, 1, 1, 1, 2, 3, 4, 5, 6, 11); +// if(list.size() > 0){ +// return ResultUtil.error("有未完成的订单"); +// } orderPrivateCars = orderPrivateCarMapper.queryByState(uid, 2, 1, 1, 2, 3, 4, 5, 6, 11); if(orderPrivateCars.size() > 0 && reservation == 2){ @@ -244,10 +251,10 @@ } - list = orderTaxiMapper.queryByState_(uid, 2, 1, 1, 2, 3, 4, 5, 6, 11); - if(list.size() > 0 && reservation == 2){ - return ResultUtil.error("有未完成的订单"); - } +// list = orderTaxiMapper.queryByState_(uid, 2, 1, 1, 2, 3, 4, 5, 6, 11); +// if(list.size() > 0 && reservation == 2){ +// return ResultUtil.error("有未完成的订单"); +// } startAddress = startAddress.replaceAll("& #40;", "("); startAddress = startAddress.replaceAll("& #41;", ")"); @@ -323,7 +330,11 @@ orderPrivateCar.setSnatchOrderTime(new Date()); driver2.setState(3); driverService.updateById(driver2); + serverCarModelId = query1.getServerCarModelId(); } + long timeMillis1 = System.currentTimeMillis(); + logger.info("第一段用时:" + (timeMillis1 - timeMillis)); + timeMillis = timeMillis1; // 查询城市的订单额度 OpenCity openCity = openCityService.selectOne(new EntityWrapper<OpenCity>() .eq("code", cityCode) @@ -340,30 +351,17 @@ } // 查询预估价格 - ResultUtil<List<ServerCarModelWarpper>> listResultUtil = serverCarModelService.queryServerCarModel(startLon + "," + startLat, endLon + "," + endLat, 1); - List<ServerCarModelWarpper> data = listResultUtil.getData(); - if(Objects.isNull(serverCarModelId)){ - //获取经营业务 - CarService query = new CarService(); - query.setCarId(driver2.getCarId()); - CarService service = carServiceMapper.selectOne(query); - if(Objects.nonNull(service)){ - serverCarModelId = service.getServerCarModelId(); - } + ResultUtil<ServerCarModelWarpper> listResultUtil = serverCarModelService.queryServerCarModel1(serverCarModelId, startLon + "," + startLat, endLon + "," + endLat, 1); + if(200 != listResultUtil.getCode()){ + return ResultUtil.error(listResultUtil.getMsg()); } - Integer finalServerCarModelId = serverCarModelId; - data = data.stream().filter(e -> finalServerCarModelId.equals(e.getId())).sorted(Comparator.comparing(ServerCarModelWarpper::getAmount)).collect(Collectors.toList()); - if(Objects.nonNull(openCity) && !CollectionUtils.isEmpty(data) && BigDecimal.valueOf(data.get(0).getAmount()).compareTo(openCity.getOrderMagnitude()) > 0){ + ServerCarModelWarpper data = listResultUtil.getData(); + if(Objects.nonNull(openCity) && BigDecimal.valueOf(data.getAmount()).compareTo(openCity.getOrderMagnitude()) > 0){ orderPrivateCar.setIsReassign(1); orderPrivateCar.setIsDelete(1); orderPrivateCar.setState(7); - if(orderSource == 2){ - orderPrivateCar.setOrderMoney(data.get(0).getAmount()); - orderPrivateCar.setEstimatedPrice(data.get(0).getAmount()); - }else { - orderPrivateCar.setOrderMoney(data.get(carIndex).getAmount()); - orderPrivateCar.setEstimatedPrice(data.get(carIndex).getAmount()); - } + orderPrivateCar.setOrderMoney(data.getAmount()); + orderPrivateCar.setEstimatedPrice(data.getAmount()); orderPrivateCar.setPayMethod(0); this.insert(orderPrivateCar); BaseWarpper baseWarpper = new BaseWarpper(); @@ -373,13 +371,7 @@ baseWarpper.setAmount(orderPrivateCar.getOrderMoney()); return ResultUtil.success(baseWarpper); }else { - if(orderSource == 2){ - if(!CollectionUtils.isEmpty(data)){ - orderPrivateCar.setEstimatedPrice(data.get(0).getAmount()); - } - }else { - orderPrivateCar.setEstimatedPrice(data.get(carIndex).getAmount()); - } + orderPrivateCar.setEstimatedPrice(data.getAmount()); orderPrivateCar.setIsReassign(1); orderPrivateCar.setIsDelete(1); orderPrivateCar.setPayMethod(1); @@ -395,7 +387,9 @@ } }).start(); } - + long timeMillis2 = System.currentTimeMillis(); + logger.info("第二段用时:" + (timeMillis2 - timeMillis)); + timeMillis = timeMillis2; // TODO: 2021/5/11 修改,根据后台设定的派单范围查询范围内有无司机,将单子指派给距离最近的司机(距离相同随机取),范围内没有司机再进行推单流程 if(orderPrivateCar.getState() == 1){ @@ -458,11 +452,11 @@ for (Driver driver : ds) { String value = redisUtil.getValue("DRIVER" + driver.getId()); if (null != value) { - Map<String, String> distance1 = gdMapElectricFenceUtil.getDistance(orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), value, 1);//计算距离 - Integer d = Integer.valueOf(distance1.get("distance")); - if ((0 == m && null == dr) || (d.intValue() < m.intValue())) { + Map<String, Double> distance = geodesyUtil.getDistance(orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), value); + Double wgs84 = distance.get("WGS84"); + if ((0 == m && null == dr) || (wgs84.intValue() < m.intValue())) { dr = driver; - m = d; + m = wgs84.intValue(); } } } @@ -507,7 +501,9 @@ } } } - + long timeMillis3 = System.currentTimeMillis(); + logger.info("第三段用时:" + (timeMillis3 - timeMillis)); + timeMillis = timeMillis3; //推单操作 if(orderPrivateCar.getState() == 1){ @@ -519,6 +515,9 @@ baseWarpper.setState(orderPrivateCar.getState()); baseWarpper.setId(orderPrivateCar.getId()); baseWarpper.setPayMethod(1); + long timeMillis4 = System.currentTimeMillis(); + logger.info("第四段用时:" + (timeMillis4 - timeMillis)); + timeMillis = timeMillis4; return ResultUtil.success(baseWarpper); } } -- Gitblit v1.7.1