From 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 16 五月 2025 10:27:41 +0800 Subject: [PATCH] 修改文档bug --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java | 105 ++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 73 insertions(+), 32 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java index 8efb8a6..5a6b32d 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java @@ -400,6 +400,8 @@ orderLogistics.setTravelTime(null == travelTime ? new Date() : travelTime); orderLogistics.setOrderSource(orderSource); orderLogistics.setIsDelete(1); + orderLogistics.setTripId(tripId); + orderLogistics.setIsover(0); this.insert(orderLogistics); //添加消息 @@ -620,7 +622,7 @@ } } }, 30000); - pushUtil.pushOrderState(2, driver.getId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), pushOrder.getPushTime(), audioUrl); + pushUtil.pushOrderState(2, driver.getId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), pushOrder.getPushTime(), audioUrl, "user"); } } Thread.sleep(pushOrder.getPushTime() * 1000);//设置等待时间 @@ -670,8 +672,7 @@ if(ToolUtil.isEmpty(userInfo.getPhone())){ return ResultUtil.error(language == 1 ? "请先绑定手机号码" : language == 2 ? "Please bind your mobile phone number first." : "Veuillez d’abord vous inscrire en liant votre numéro de téléphone portable."); } - String[] split1 = placementLon.split(","); - Company company = companyCityService.query1(uid, split1[0], split1[1]); + Company company = companyCityService.query1(uid, placementLon, placementLat); if(null != userInfo && null != company){ userInfo.setCompanyId(company.getId()); userInfoService.updateById(userInfo); @@ -779,6 +780,7 @@ orderLogistics.setIsReassign(1); orderLogistics.setIsDelete(1); orderLogistics.setTripId(tripId); + orderLogistics.setIsover(0); DistancematrixVo distancematrix1 = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), orderLogistics.getEndLat(), orderLogistics.getEndLon(), tripId); Long distance1 = distancematrix1.getDistance(); orderLogistics.setEstimatedMileage(new BigDecimal(distance1).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); @@ -902,8 +904,8 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, uid, orderLogistics.getId(), 4, 2, 0, ""); - pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, 2, 0, finalAudioUrl); + pushUtil.pushOrderState(1, uid, orderLogistics.getId(), 4, 2, 0, "", "user"); + pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, 2, 0, finalAudioUrl, "user"); } }).start(); } @@ -971,10 +973,20 @@ dr.getCompanyId() != null && dr.getCompanyId() != 0 ? dr.getCompanyId() : 1)); orderLogistics.setState(2); orderLogistics.setCarId(dr.getCarId()); - CarService query1 = carServiceMapper.query(1, dr.getCarId()); + CarService query1 = carServiceMapper.query(4, dr.getCarId()); orderLogistics.setServerCarModelId(query1.getServerCarModelId()); orderLogistics.setSnatchOrderTime(new Date()); + String value = redisUtil.getValue("DRIVER" + driver1.getId()); + if(ToolUtil.isNotEmpty(value)) { + String[] split = value.split(","); + DistancematrixVo distancematrix = GoogleMapUtil.getDistancematrix(orderLogistics.getStartLat(), orderLogistics.getStartLon(), Double.valueOf(split[1]), Double.valueOf(split[0]), tripId); + //超时时间 + long timeOut = System.currentTimeMillis() + (distancematrix.getDuration() * 1000); + orderLogistics.setEstimateArriveTime(new Date(timeOut)); + orderLogistics.setEstimateArriveMileage(distancematrix.getDistance()); + } + dr.setState(3); driverService.updateById(dr); this.updateById(orderLogistics); @@ -1026,10 +1038,12 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, uid, orderLogistics.getId(), 4, 2, 0, ""); - pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, 2, 0, finalAudioUrl); + System.err.println("直推司机后推送司机订单状态"); + pushUtil.pushOrderState(1, uid, orderLogistics.getId(), 4, 2, 0, "", "user"); + pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, 2, 0, finalAudioUrl, "user"); } }).start(); + } } } @@ -1128,10 +1142,9 @@ if(null != redDeduction && 1 == redDeduction && null == orderLogistics.getRedPacketId()){ RedEnvelopePaymentSettings redEnvelopePaymentSettings = redEnvelopePaymentSettingsService.getRedEnvelopePaymentSettings(); if(null != redEnvelopePaymentSettings){ - Double total = userRedPacketRecordService.queryRemainingAmount(uid); List<UserRedPacketRecord> userRedPacketRecords = userRedPacketRecordService.selectList(new EntityWrapper<UserRedPacketRecord>().eq("userId", uid) .eq("state", 1).eq("companyId", orderLogistics.getCompanyId()).gt("remainingAmount", 0).orderBy("insertTime", false)); - + Double total = userRedPacketRecords.stream().mapToDouble(UserRedPacketRecord::getRemainingAmount).sum(); BigDecimal deductionRatio = redEnvelopePaymentSettings.getDeductionRatio(); BigDecimal multiply1 = orderMoney.multiply(deductionRatio.divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_EVEN); if(total > 0 && multiply1.doubleValue() > 0 && total.compareTo(multiply1.doubleValue()) >= 0){ @@ -1315,8 +1328,8 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); - pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); + pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); + pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); } }).start(); @@ -1344,6 +1357,9 @@ if(null != orderLogistics.getDriverId()){ aDouble = orderEvaluateService.queryDriverScore(orderLogistics.getDriverId()); } + + Double aDouble1 = new BigDecimal(orderLogistics.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); + Long serviceTime = new BigDecimal(orderLogistics.getEndServiceTime().getTime() - orderLogistics.getStartServiceTime().getTime()).divide(new BigDecimal(60000)).setScale(0, RoundingMode.HALF_EVEN).longValue(); if(1 == finalLanguage1){ document.getElementById("english").remove(); document.getElementById("french").remove(); @@ -1444,6 +1460,8 @@ cp_chinese.text("车牌:" + car.getCarLicensePlate()); Element pf_chinese = document.getElementById("pf_chinese"); pf_chinese.text("司机评分:" + aDouble); + Element lc_chinese = document.getElementById("lc_chinese"); + lc_chinese.text("里程:" + aDouble1 + "公里 /" + serviceTime + "分钟"); Element start_address_chinese = document.getElementById("start_address_chinese"); start_address_chinese.text(orderLogistics.getStartAddress()); Element end_address_chinese = document.getElementById("end_address_chinese"); @@ -1552,6 +1570,8 @@ cp_english.text("Number Plate:" + car.getCarLicensePlate()); Element pf_english = document.getElementById("pf_english"); pf_english.text("Driver Rating:" + aDouble); + Element lc_english = document.getElementById("lc_english"); + lc_english.text("Mileage:" + aDouble1 + "KM / " + serviceTime + "Minutes"); Element start_address_english = document.getElementById("start_address_english"); start_address_english.text(orderLogistics.getStartAddress()); Element end_address_english = document.getElementById("end_address_english"); @@ -1660,6 +1680,8 @@ cp_french.text("Plaque: GS " + car.getCarLicensePlate()); Element pf_french = document.getElementById("pf_french"); pf_french.text("Note du chauffeur: " + aDouble); + Element lc_french = document.getElementById("lc_french"); + lc_french.text("Distance: " + aDouble1 + "km / " + serviceTime + "minutes"); Element start_address_french = document.getElementById("start_address_french"); start_address_french.text(orderLogistics.getStartAddress()); Element end_address_french = document.getElementById("end_address_french"); @@ -1912,8 +1934,8 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); - pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); + pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); + pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); Integer language1 = driver.getLanguage(); String text = ""; switch (language1){ @@ -1981,6 +2003,8 @@ if(null != orderLogistics.getDriverId()){ aDouble = orderEvaluateService.queryDriverScore(orderLogistics.getDriverId()); } + Double aDouble1 = new BigDecimal(orderLogistics.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); + Long serviceTime = new BigDecimal(orderLogistics.getEndServiceTime().getTime() - orderLogistics.getStartServiceTime().getTime()).divide(new BigDecimal(60000)).setScale(0, RoundingMode.HALF_EVEN).longValue(); if(1 == finalLanguage){ document.getElementById("english").remove(); document.getElementById("french").remove(); @@ -2081,6 +2105,8 @@ cp_chinese.text("车牌:" + car.getCarLicensePlate()); Element pf_chinese = document.getElementById("pf_chinese"); pf_chinese.text("司机评分:" + aDouble); + Element lc_chinese = document.getElementById("lc_chinese"); + lc_chinese.text("里程:" + aDouble1 + "公里 /" + serviceTime + "分钟"); Element start_address_chinese = document.getElementById("start_address_chinese"); start_address_chinese.text(orderLogistics.getStartAddress()); Element end_address_chinese = document.getElementById("end_address_chinese"); @@ -2189,6 +2215,8 @@ cp_english.text("Number Plate:" + car.getCarLicensePlate()); Element pf_english = document.getElementById("pf_english"); pf_english.text("Driver Rating:" + aDouble); + Element lc_english = document.getElementById("lc_english"); + lc_english.text("Mileage:" + aDouble1 + "KM / " + serviceTime + "Minutes"); Element start_address_english = document.getElementById("start_address_english"); start_address_english.text(orderLogistics.getStartAddress()); Element end_address_english = document.getElementById("end_address_english"); @@ -2297,6 +2325,8 @@ cp_french.text("Plaque: GS " + car.getCarLicensePlate()); Element pf_french = document.getElementById("pf_french"); pf_french.text("Note du chauffeur: " + aDouble); + Element lc_french = document.getElementById("lc_french"); + lc_french.text("Distance: " + aDouble1 + "km / " + serviceTime + "minutes"); Element start_address_french = document.getElementById("start_address_french"); start_address_french.text(orderLogistics.getStartAddress()); Element end_address_french = document.getElementById("end_address_french"); @@ -2477,8 +2507,8 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); - pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); + pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); + pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); } }).start(); @@ -2535,8 +2565,8 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); - pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); + pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); + pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); } }).start(); @@ -2607,8 +2637,8 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); - pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); + pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); + pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); } }).start(); @@ -2629,6 +2659,8 @@ if(null != orderLogistics.getDriverId()){ aDouble = orderEvaluateService.queryDriverScore(orderLogistics.getDriverId()); } + Double aDouble1 = new BigDecimal(orderLogistics.getMileage()).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); + Long serviceTime = new BigDecimal(orderLogistics.getEndServiceTime().getTime() - orderLogistics.getStartServiceTime().getTime()).divide(new BigDecimal(60000)).setScale(0, RoundingMode.HALF_EVEN).longValue(); if(1 == language){ document.getElementById("english").remove(); document.getElementById("french").remove(); @@ -2729,6 +2761,8 @@ cp_chinese.text("车牌:" + car.getCarLicensePlate()); Element pf_chinese = document.getElementById("pf_chinese"); pf_chinese.text("司机评分:" + aDouble); + Element lc_chinese = document.getElementById("lc_chinese"); + lc_chinese.text("里程:" + aDouble1 + "公里 /" + serviceTime + "分钟"); Element start_address_chinese = document.getElementById("start_address_chinese"); start_address_chinese.text(orderLogistics.getStartAddress()); Element end_address_chinese = document.getElementById("end_address_chinese"); @@ -2837,6 +2871,8 @@ cp_english.text("Number Plate:" + car.getCarLicensePlate()); Element pf_english = document.getElementById("pf_english"); pf_english.text("Driver Rating:" + aDouble); + Element lc_english = document.getElementById("lc_english"); + lc_english.text("Mileage:" + aDouble1 + "KM / " + serviceTime + "Minutes"); Element start_address_english = document.getElementById("start_address_english"); start_address_english.text(orderLogistics.getStartAddress()); Element end_address_english = document.getElementById("end_address_english"); @@ -2945,6 +2981,8 @@ cp_french.text("Plaque: GS " + car.getCarLicensePlate()); Element pf_french = document.getElementById("pf_french"); pf_french.text("Note du chauffeur: " + aDouble); + Element lc_french = document.getElementById("lc_french"); + lc_french.text("Distance: " + aDouble1 + "km / " + serviceTime + "minutes"); Element start_address_french = document.getElementById("start_address_french"); start_address_french.text(orderLogistics.getStartAddress()); Element end_address_french = document.getElementById("end_address_french"); @@ -3070,8 +3108,8 @@ new Thread(new Runnable() { @Override public void run() { - pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); - pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, ""); + pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); + pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getState(), 0, "", "user"); } }).start(); @@ -3223,16 +3261,16 @@ if(orderLogistics.getState() > 5 && orderLogistics.getState() != 11 && orderLogistics.getState() != 12){ return ResultUtil.error(language == 1 ? "取消订单失败,不合法的操作" : language == 2 ? "Failed to cancel order, illegal operation." : "Échec de l’annulation de la commande, opération illégale."); } - + orderCancelService.delete(new EntityWrapper<OrderCancel>().eq("orderId", orderLogistics.getId()).eq("orderType", 4)); if(null == orderLogistics.getDriverId()){//没有接单的情况 - integer = orderCancelService.saveData(id, 4, language == 1 ? "无司机接单" : language == 2 ? "No driver to take orders" : "Pas de chauffeur pour prendre les commandes", language == 1 ? "无司机接单" : language == 2 ? "No driver to take orders" : "Pas de chauffeur pour prendre les commandes", null, null, 2, 1, uid); + integer = orderCancelService.saveData(id, 4, language == 1 ? "无司机接单" : language == 2 ? "No driver to take orders" : "Pas de chauffeur pour prendre les commandes", language == 1 ? "无司机接单" : language == 2 ? "No driver to take orders" : "Pas de chauffeur pour prendre les commandes", null, 0D, 2, 1, uid); orderLogistics.setState(10); this.updateById(orderLogistics); }else { BaseWarpper data = queryCancleAmount(id, language).getData(); Double amount = data.getAmount(); if(0 == amount){ - integer = orderCancelService.saveData(id, 4, reason, remark, null, null, 2, 1, uid); + integer = orderCancelService.saveData(id, 4, reason, remark, null, 0D, 2, 1, uid); if(5 == orderLogistics.getState()){ orderLogistics.setState(6); orderLogistics.setGetoffLon(lon); @@ -3280,8 +3318,8 @@ audioUrl = "https://igo.i-go.group/files/audio/system/UserCancelledOrder-FR.mp3"; break; } - pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, ""); - pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, orderLogistics.getState() == 12 ? orderLogistics.getState() : 10, 0, audioUrl); + pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, "", "user"); + pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, orderLogistics.getState() == 12 ? orderLogistics.getState() : 10, 0, audioUrl, "user"); } }).start(); driver.setState(2); @@ -3499,7 +3537,10 @@ BaseWarpper baseWarpper = new BaseWarpper(); double amount = 0; CancleOrder query = cancleOrderService.query(orderLogistics.getCompanyId()); - if(null == query || null == orderLogistics.getDriverId() || orderLogistics.getState() == 11){ + if(null == query){ + return ResultUtil.error("请先添加取消规则"); + } + if(null == orderLogistics.getDriverId() || orderLogistics.getState() == 11){ baseWarpper.setAmount(amount); return ResultUtil.success(baseWarpper); } @@ -3682,11 +3723,11 @@ } this.deleteTask(id);//删除定时任务 - pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, ""); + pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, "", "user"); }else{ incomeService.saveData(1, orderLogistics.getCompanyId(), 3, orderLogistics.getId(), 4, amount.doubleValue()); } - pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, ""); + pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, "", "user"); //添加消息 @@ -3759,11 +3800,11 @@ } this.deleteTask(orderLogistics.getId());//删除定时任务 - pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, ""); + pushUtil.pushOrderState(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, "", "user"); }else{ incomeService.saveData(1, orderLogistics.getCompanyId(), 3, orderLogistics.getId(), 4, amount.doubleValue()); } - pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, ""); + pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, "", "user"); //添加消息 systemNoticeService.addSystemNotice(1, language == 1 ? "您已使用余额成功支付取消订单费用,谢谢使用!" : language == 2 -- Gitblit v1.7.1