From d5b3e5a413bcfccba294793ee093722f31b2448a Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 16 八月 2023 17:02:13 +0800 Subject: [PATCH] 添加推单日志 --- user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java | 51 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 32 insertions(+), 19 deletions(-) diff --git a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java index 8a5c823..5012ae0 100644 --- a/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java +++ b/user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java @@ -112,6 +112,9 @@ @Autowired private IRechargeRecordService rechargeRecordService; + @Autowired + private IOrderService orderService; + @Value("${wx.appletsAppid}") private String appletsAppid; @@ -167,7 +170,7 @@ int i = 0; Double scope = 5D; while (true){ - List<NearbyDriverWarpper> nearbyDriverWarppers = driverService.queryDriverPosition(estimatedCosts.getLng().toString(), estimatedCosts.getLat().toString(), scope); + List<NearbyDriverWarpper> nearbyDriverWarppers = driverService.queryDriverPosition(estimatedCosts.getStartLng().toString(), estimatedCosts.getStartLat().toString(), scope); if(nearbyDriverWarppers.size() == 0){ scope += 5; i++; @@ -417,18 +420,6 @@ return ResultUtil.error("您还有正在进行的订单"); } - String value = redisUtil.getValue("USER" + uid); - if(ToolUtil.isEmpty(value)){ - redisUtil.setStrValue("USER" + uid, System.currentTimeMillis() + "", 60); - }else{ - Long s = System.currentTimeMillis() - Long.valueOf(value); - if(s.compareTo(60000L) < 0){//1分钟 - return ResultUtil.error("数据处理中"); - } - redisUtil.setStrValue("USER" + uid, System.currentTimeMillis() + "", 60); - } - - String startAddress = travelOrder.getStartAddress(); startAddress = startAddress.replaceAll("& #40;", "("); startAddress = startAddress.replaceAll("& #41;", ")"); @@ -577,13 +568,16 @@ List<YouTuiDriver> youTuiDrivers = youTuiDriverService.selectList(new EntityWrapper<YouTuiDriver>().in("driverId", driverIds) .eq("state", 2).last(" and surplusQuantity > 0 and now() < endTime and now() < failureTime")); Double d = null; + + System.err.println("【" + orderId + "】所有优推司机:" + JSON.toJSONString(youTuiDrivers)); for (YouTuiDriver youTuiDriver : youTuiDrivers) { String value = redisUtil.getValue("DRIVER" + youTuiDriver.getDriverId()); if(ToolUtil.isEmpty(value)){ continue; } Driver driver1 = driverService.selectById(youTuiDriver.getDriverId()); - if(driver1.getServerStatus() == 2 || driver1.getOpenOrderQRCode() == 1){ + int count = orderService.selectCount(new EntityWrapper<Order>().eq("driverId", youTuiDriver.getDriverId()).eq("status", 1).in("state", Arrays.asList(102, 103, 104, 105, 201, 401))); + if(driver1.getServerStatus() == 2 || driver1.getOpenOrderQRCode() == 1 || count > 0){ continue; } DriverWork driverWork = driverWorkService.selectOne(new EntityWrapper<DriverWork>().eq("driverId", driver1.getId()).eq("status", 1)); @@ -598,6 +592,7 @@ youTuiDriver1 = youTuiDriver; } } + System.err.println("【" + orderId + "】优推最终司机---》距离:" + d + ",司机:" + JSON.toJSONString(driver) + ",优推数据:" + JSON.toJSONString(youTuiDriver1)); } if(null != youTuiDriver1 && youTuiDriver1.getType() == 1){ youTuiDriver1.setSurplusQuantity(youTuiDriver1.getSurplusQuantity() - 1); @@ -627,6 +622,7 @@ continue; } + System.err.println("【" + orderId + "】范围推送【第" + i + "轮】:" + JSON.toJSONString(drivers)); Integer integral = null;//积分 Double score = null;//评分 Double d = null; @@ -639,6 +635,10 @@ if(null == driverWork){ continue; } + int count = orderService.selectCount(new EntityWrapper<Order>().eq("driverId", driver1.getId()).eq("status", 1).in("state", Arrays.asList(102, 103, 104, 105, 201, 401))); + if(count > 0){ + continue; + } if(integral == null || integral.compareTo(driver1.getIntegral()) < 0){//积分大 integral = driver1.getIntegral(); @@ -647,6 +647,8 @@ Map<String, Double> distance = GeodesyUtil.getDistance(value, order.getStartLng() + "," + order.getStartLat()); Double wgs84 = distance.get("WGS84"); d = wgs84; + + System.err.println("【" + orderId + "】范围推送【第" + i + "轮】----》【积分:" + integral + "、司机:" + JSON.toJSONString(driver1)); continue; } if(integral.compareTo(driver1.getIntegral()) == 0 && score.compareTo(driver1.getScore()) < 0){//积分相同对比评分 @@ -656,6 +658,8 @@ Map<String, Double> distance = GeodesyUtil.getDistance(value, order.getStartLng() + "," + order.getStartLat()); Double wgs84 = distance.get("WGS84"); d = wgs84; + + System.err.println("【" + orderId + "】范围推送【第" + i + "轮】----》【评分:" + score + "、司机:" + JSON.toJSONString(driver1)); continue; } if(integral.compareTo(driver1.getIntegral()) == 0 && score.compareTo(driver1.getScore()) == 0){//积分相同/评分相同对比距离 @@ -666,11 +670,13 @@ integral = driver1.getIntegral(); score = driver1.getScore(); driver = driver1.getId(); + + System.err.println("【" + orderId + "】范围推送【第" + i + "轮】----》距离:" + d + "、司机:" + JSON.toJSONString(driver1)); continue; } } } - + System.err.println("【" + orderId + "】范围推送【第" + i + "轮】最终司机----》距离:" + d + "、司机:" + JSON.toJSONString(driver)); } } } @@ -836,6 +842,12 @@ @Override public ResultUtil editOrderEndAddress(Integer uid, EditOrderEndAddress editOrderEndAddress) throws Exception { Order order = this.selectById(editOrderEndAddress.getOrderId()); + + String endAddress = editOrderEndAddress.getEndAddress(); + endAddress = endAddress.replaceAll("& #40;", "("); + endAddress = endAddress.replaceAll("& #41;", ")"); + editOrderEndAddress.setEndAddress(endAddress); + order.setEndAddress(editOrderEndAddress.getEndAddress()); order.setEndLat(editOrderEndAddress.getEndLat().toString()); order.setEndLng(editOrderEndAddress.getEndLng().toString()); @@ -908,6 +920,7 @@ orderPriceWarpper.setDiscountedPrice(order.getDiscountedPrice()); orderPriceWarpper.setBadWeatherPrice(order.getBadWeatherPrice()); orderPriceWarpper.setPayMoney(order.getPayMoney()); + orderPriceWarpper.setOrderMoney(order.getOrderMoney()); if(order.getState() < 107){ orderPriceWarpper.setPayMoney(order.getOrderMoney()); } @@ -948,9 +961,9 @@ orderPriceWarpper.setCouponId(coupon.getId()); } if(payType == 1 && null == couponId && appUser.getHavDiscount() == 1 && balance.compareTo(orderMoney) >= 0){//使用余额抵扣 - orderPriceWarpper.setDiscount(9D); - orderPriceWarpper.setDiscountAmount(new BigDecimal(orderMoney * 0.1).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); - orderMoney = new BigDecimal(orderMoney * 0.9).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); + orderPriceWarpper.setDiscount(9.5D); + orderPriceWarpper.setDiscountAmount(new BigDecimal(orderMoney * 0.05).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); + orderMoney = new BigDecimal(orderMoney * 0.95).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); } if(null != couponId){ UserToCoupon userToCoupon = userToCouponService.selectById(couponId); @@ -2015,7 +2028,7 @@ revenue.setUserType(2); revenue.setUserId(driver.getId()); revenue.setOrderId(order.getId()); - revenue.setAmount(order.getPayMoney() + order.getDiscountedPrice() + order.getDiscountAmount()); + revenue.setAmount(order.getPayMoney() + order.getDiscountedPrice());//todo 折扣司机承担 revenue.setCreateTime(new Date()); revenueService.insert(revenue); -- Gitblit v1.7.1