From 287cbb376dea7b3972e5f38a38fad043aa4d3b68 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期四, 01 八月 2024 16:05:33 +0800 Subject: [PATCH] 修改2.0 bug --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java | 58 ++++++++----- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 60 +++++++++++++- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 2 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java | 3 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java | 11 ++ UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 52 +++++++++--- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java | 5 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml | 6 + UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java | 4 9 files changed, 151 insertions(+), 50 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java index a334df0..40e2820 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java @@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.*; import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.*; @@ -201,6 +202,9 @@ if(null == uid){ return ResultUtil.tokenErr(); } + UserInfo userInfo = userInfoService.selectById(uid); + userInfo.setLanguage(language); + userInfoService.updateById(userInfo); List<Map<String, Object>> list = null; switch (type){ case 1: @@ -639,7 +643,31 @@ }) public ResultUtil queryTrack_(Integer orderId, Integer orderType){ try { - List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, orderType); + List<Map<String, Object>> list = new ArrayList<>(); + switch (orderType){ + case 1: + OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); + Map<String, Object> map = new HashMap<>(); + map.put("lon", orderPrivateCar.getStartLon()); + map.put("lat", orderPrivateCar.getStartLat()); + list.add(map); + map = new HashMap<>(); + map.put("lon", orderPrivateCar.getEndLon()); + map.put("lat", orderPrivateCar.getEndLat()); + list.add(map); + break; + case 4: + OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); + Map<String, Object> map1 = new HashMap<>(); + map1.put("lon", orderLogistics.getStartLon()); + map1.put("lat", orderLogistics.getStartLat()); + list.add(map1); + map1 = new HashMap<>(); + map1.put("lon", orderLogistics.getEndLon()); + map1.put("lat", orderLogistics.getEndLat()); + list.add(map1); + break; + } return ResultUtil.success(list); }catch (Exception e){ e.printStackTrace(); @@ -1702,17 +1730,39 @@ return ResultUtil.tokenErr(); } Double payMoney = 0D; + Integer companyId = 1; switch (orderType){ case 1: OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId); - payMoney = orderPrivateCar.getPayMoney(); + Double orderMoney = orderPrivateCar.getOrderMoney(); + UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderPrivateCar.getCompanyId()); + if(null != query2){ + Integer orderNum=orderPrivateCarService.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId", uid).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())")); + if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){ + Double special = query2.getSpecial(); + if(null != special){ + double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + payMoney = v; + } + } + } break; case 4: OrderLogistics orderLogistics = orderLogisticsService.selectById(orderId); - payMoney = orderLogistics.getPayMoney(); + Double orderMoney1 = orderLogistics.getOrderMoney(); + UserActivityDiscount1 query1 = userActivityDiscount1Mapper.query(orderLogistics.getCompanyId()); + if(null != query1){ + Integer orderNum=orderLogisticsService.selectCount(new EntityWrapper<OrderLogistics>().eq("userId", uid).eq("activityId",query1.getId()).last(" and to_days(getoffTime) = to_days(now())")); + if(query1.getDistance()*1000>orderLogistics.getMileage() && query1.getOrderNum()>orderNum){ + Double special = query1.getSpecial(); + if(null != special){ + double v = new BigDecimal(orderMoney1).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + payMoney = v; + } + } + } break; } - Double aDouble = userRedPacketRecordService.queryRemainingAmount(uid); Map<String, Object> map = new HashMap<>(); map.put("redTotal", aDouble); @@ -1721,7 +1771,7 @@ map.put("deductionAmount", 0D); return ResultUtil.success(map); } - Double deductionAmount = new BigDecimal(payMoney).multiply(redEnvelopePaymentSettings.getDeductionRatio().divide(new BigDecimal(100))).doubleValue(); + Double deductionAmount = new BigDecimal(payMoney).multiply(redEnvelopePaymentSettings.getDeductionRatio().divide(new BigDecimal(100))).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); map.put("deductionAmount", deductionAmount); return ResultUtil.success(map); }catch (Exception e){ diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java index c7d6e74..bb323ee 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java @@ -407,8 +407,9 @@ break; } + String fileName = "difference" + driver.getId() + ".mp3"; try { - audioUrl = TextToSpeechUtil.create(language == 1 ? "cmn-CN" : language == 2 ? "en-US" : "fr-FR", text, "difference" + driver.getId() + ".mp3"); + audioUrl = TextToSpeechUtil.create(language == 1 ? "cmn-CN" : language == 2 ? "en-US" : "fr-FR", text, fileName); } catch (Exception e) { throw new RuntimeException(e); } @@ -418,7 +419,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/difference" + driver.getId() + ".mp3"); + process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml index f32ab2b..21c2778 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml @@ -162,7 +162,8 @@ (select price from t_order_logistics_spread where orderLogisticsId = a.id) as differenceMoney, cancelMidway, tripId, - remark + remark, + companyId from t_order_logistics as a where userId = #{uid} and isDelete = 1 order by insertTime desc limit #{pageNum}, #{size} </select> @@ -286,7 +287,8 @@ h.reason as cancelReason, h.remark as cancelRemark, a.tripId, - a.snatchOrderTime + a.snatchOrderTime, + a.startDuration from t_order_logistics a left join t_driver b on (a.driverId = b.id) left join t_car c on (a.carId = c.id) 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 cc9ef4f..3cc0ac7 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 @@ -574,8 +574,9 @@ } String audioUrl = ""; + String fileName = "pushOrder" + orderLogistics.getDriverId() + UUIDUtil.getRandomCode(5) + ".mp3"; try { - audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, "pushOrder" + orderLogistics.getDriverId() + ".mp3"); + audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, fileName); } catch (Exception e) { throw new RuntimeException(e); } @@ -585,7 +586,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/pushOrder" + orderLogistics.getDriverId() + ".mp3"); + process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -744,6 +745,10 @@ orderLogistics.setEstimatedMileage(new BigDecimal(distance1).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); this.insert(orderLogistics); + UserInfo userInfo = userInfoService.selectById(uid); + userInfo.setLanguage(language); + userInfoService.updateById(userInfo); + new Thread(() -> { try { String vehicleId = null; @@ -789,8 +794,9 @@ } String audioUrl = ""; + String fileName = "pushOrder" + orderLogistics.getDriverId() + UUIDUtil.getRandomCode(5) + ".mp3"; try { - audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, "pushOrder" + orderLogistics.getDriverId() + ".mp3"); + audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, fileName); } catch (Exception e) { throw new RuntimeException(e); } @@ -800,7 +806,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/pushOrder" + orderLogistics.getDriverId() + ".mp3"); + process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -901,8 +907,9 @@ } String audioUrl = ""; + String fileName = "pushOrder" + orderLogistics.getDriverId() + UUIDUtil.getRandomCode(5) + ".mp3"; try { - audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, "pushOrder" + orderLogistics.getDriverId() + ".mp3"); + audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, fileName); } catch (Exception e) { throw new RuntimeException(e); } @@ -912,7 +919,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/pushOrder" + orderLogistics.getDriverId() + ".mp3"); + process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -1647,7 +1654,7 @@ 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.pushOfflinePayment(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4); + pushUtil.pushOfflinePayment(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, orderLogistics.getPayMoney()); } }).start(); @@ -2584,12 +2591,15 @@ OrderLogistics orderLogistics = this.selectById(orderId); long timeOutCancel = 0L; + long driverTimeOut = 0L; if(null != orderLogistics.getEstimateArriveTime()){ CancleOrder cancleOrder = cancleOrderService.selectOne(new EntityWrapper<CancleOrder>().eq("companyId", orderLogistics.getCompanyId())); JSONObject jsonObject = JSON.parseObject(cancleOrder.getContent()); int driverTimeout = jsonObject.getIntValue("driverTimeout") * 60000; timeOutCancel = orderLogistics.getEstimateArriveTime().getTime() + driverTimeout; + driverTimeOut = orderLogistics.getEstimateArriveTime().getTime(); } + map.put("driverTimeOut", driverTimeOut); map.put("timeOutCancel", timeOutCancel); } return maps; @@ -2648,7 +2658,7 @@ if(null == orderLogistics){ return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Failed to cancel order, order-information error." : "Échec de l’annulation de la commande, erreur d’information de commande."); } - if(orderLogistics.getState() > 5 && orderLogistics.getState() != 11){ + if(orderLogistics.getState() > 5 && 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."); } @@ -2699,13 +2709,13 @@ String audioUrl = ""; switch (language1){ case 1: - audioUrl = "http://182.160.16.251:81/files/audio/UserCancelledOrder-CN.mp3"; + audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-CN.mp3"; break; case 2: - audioUrl = "http://182.160.16.251:81/files/audio/UserCancelledOrder-EN.mp3"; + audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-EN.mp3"; break; case 3: - audioUrl = "http://182.160.16.251:81/files/audio/UserCancelledOrder-FR.mp3"; + audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-FR.mp3"; break; } pushUtil.pushOrderState(1, orderLogistics.getUserId(), orderLogistics.getId(), 4, orderLogistics.getState(), 0, ""); @@ -2812,6 +2822,11 @@ if(state == 11){ map.put("state", map.get("oldState")); } + if(state == 12){ + OrderCancel query = orderCancelService.query(orderId, 4, null, null, 1); + map.put("cancelPayMoney", null == query ? 0 : query.getMoney()); + map.put("cancelMoney", null == query ? 0 : query.getMoney()); + } if(Integer.valueOf(String.valueOf(map.get("state"))) != 8 && Integer.valueOf(String.valueOf(map.get("state"))) != 9){ map.put("redPacketMoney", null); map.put("couponMoney", null); @@ -2822,6 +2837,7 @@ Integer orderNum=this.selectCount(new EntityWrapper<OrderLogistics>().eq("userId",orderLogistics.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())")); if(query2.getDistance()*1000>orderLogistics.getMileage() && query2.getOrderNum()>orderNum){ Double special = query2.getLogistics(); + map.put("discount", special); orderLogistics.setDiscount(special); Double orderMoney = orderLogistics.getOrderMoney(); double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); @@ -2832,17 +2848,11 @@ } } -// Map<String, String> geocode = gdMapGeocodingUtil.geocode(map.get("startLon").toString(), map.get("startLat").toString()); -// map.put("startCity", geocode.get("city")); -// geocode = gdMapGeocodingUtil.geocode(map.get("endLon").toString(), map.get("endLat").toString()); -// map.put("endCity", geocode.get("city")); -// GoogleMapUtil.getReverseGeocode() - String driverId = redisUtil.getValue("DEVICE_" + map.get("driverId")); map.put("device", ToolUtil.isNotEmpty(driverId) ? 2 : 1); map.put("orderType", orderLogistics.getType()); - if(state == 8){ + if(state == 8 || state == 9){ map.put("receipt", "http://182.160.16.251:81/files/html/parcel_receipt_" + orderId + ".html"); }else{ map.put("receipt", ""); @@ -2852,12 +2862,14 @@ companyId = Integer.valueOf(String.valueOf(map.get("companyId"))); } map.put("timeOutCancel", 0); + map.put("driverTimeOut", 0); if(null != orderLogistics.getEstimateArriveTime()){ CancleOrder cancleOrder = cancleOrderService.selectOne(new EntityWrapper<CancleOrder>().eq("companyId", companyId)); JSONObject jsonObject = JSON.parseObject(cancleOrder.getContent()); int driverTimeout = jsonObject.getIntValue("driverTimeout"); long timeOutCancel = orderLogistics.getEstimateArriveTime().getTime() + driverTimeout; map.put("timeOutCancel", timeOutCancel); + map.put("driverTimeOut", orderLogistics.getEstimateArriveTime().getTime()); } return map; } @@ -2980,7 +2992,7 @@ if(null == orderLogistics){ return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Failed to cancel order, order-information error." : "Échec de l’annulation de la commande, erreur d’information de commande.", ""); } - if(orderLogistics.getState() != 13){ + if(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.", ""); } OrderCancel orderCancel = null; @@ -2990,7 +3002,7 @@ orderCancel = orderCancelService.selectById(cancleId); } - Double amount = queryCancleAmount(id, language).getData().getAmount(); + Double amount = orderCancel.getMoney(); if(0 < amount){ if(payType == 1){//手机支付 orderCancel.setPayType(1); @@ -3212,13 +3224,13 @@ String audioUrl = ""; switch (language1){ case 1: - audioUrl = "http://182.160.16.251:81/files/audio/ChangeAddress-CN.mp3"; + audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-CN.mp3"; break; case 2: - audioUrl = "http://182.160.16.251:81/files/audio/ChangeAddress-EN.mp3"; + audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-EN.mp3"; break; case 3: - audioUrl = "http://182.160.16.251:81/files/audio/ChangeAddress-FR.mp3"; + audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-FR.mp3"; break; } pushUtil.pushModifyAddress(2, orderLogistics.getDriverId(), orderId, 4, 1, audioUrl); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index d27b374..d4cd91c 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -371,6 +371,9 @@ orderPrivateCar.setEstimatedMileage(new BigDecimal(distance1).divide(new BigDecimal(1000)).setScale(2, RoundingMode.HALF_EVEN).doubleValue()); this.insert(orderPrivateCar); + UserInfo userInfo = userInfoService.selectById(uid); + userInfo.setLanguage(language); + userInfoService.updateById(userInfo); new Thread(() -> { try { @@ -416,8 +419,9 @@ } String audioUrl = ""; + String fileName = "pushOrder" + orderPrivateCar.getDriverId() + UUIDUtil.getRandomCode(5) + ".mp3"; try { - audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, "pushOrder" + orderPrivateCar.getDriverId() + ".mp3"); + audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, fileName); } catch (Exception e) { throw new RuntimeException(e); } @@ -427,7 +431,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/pushOrder" + orderPrivateCar.getDriverId() + ".mp3"); + process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -528,8 +532,9 @@ } String audioUrl = ""; + String fileName = "pushOrder" + orderPrivateCar.getDriverId() + UUIDUtil.getRandomCode(5) + ".mp3"; try { - audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, "pushOrder" + orderPrivateCar.getDriverId() + ".mp3"); + audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, fileName); } catch (Exception e) { throw new RuntimeException(e); } @@ -539,7 +544,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/pushOrder" + orderPrivateCar.getDriverId() + ".mp3"); + process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -750,7 +755,7 @@ if(null == orderPrivateCar){ return ResultUtil.error(language == 1 ? "取消订单失败,订单信息有误" : language == 2 ? "Failed to cancel order, order-information error." : "Échec de l’annulation de la commande, erreur d’information de commande."); } - if(orderPrivateCar.getState() > 5 && orderPrivateCar.getState() != 11){ + if(orderPrivateCar.getState() > 5 && orderPrivateCar.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."); } @@ -816,13 +821,25 @@ String audioUrl = ""; switch (language1){ case 1: - audioUrl = "http://182.160.16.251:81/files/audio/UserCancelledOrder-CN.mp3"; + if(orderPrivateCar.getState() == 6){ + audioUrl = "http://182.160.16.251:81/files/audio/system/MidwayCancellation-CN.mp3"; + }else{ + audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-CN.mp3"; + } break; case 2: - audioUrl = "http://182.160.16.251:81/files/audio/UserCancelledOrder-EN.mp3"; + if(orderPrivateCar.getState() == 6){ + audioUrl = "http://182.160.16.251:81/files/audio/system/MidwayCancellation-EN.mp3"; + }else{ + audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-EN.mp3"; + } break; case 3: - audioUrl = "http://182.160.16.251:81/files/audio/UserCancelledOrder-FR.mp3"; + if(orderPrivateCar.getState() == 6){ + audioUrl = "http://182.160.16.251:81/files/audio/system/MidwayCancellation-FR.mp3"; + }else{ + audioUrl = "http://182.160.16.251:81/files/audio/system/UserCancelledOrder-FR.mp3"; + } break; } pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0, ""); @@ -1052,8 +1069,9 @@ } String audioUrl = ""; + String fileName = "pushOrder" + orderPrivateCar.getDriverId() + UUIDUtil.getRandomCode(5) + ".mp3"; try { - audioUrl = TextToSpeechUtil.create(language == 1 ? "cmn-CN" : language == 2 ? "en-US" : "fr-FR", text, "pushOrder" + orderPrivateCar.getDriverId() + ".mp3"); + audioUrl = TextToSpeechUtil.create(language == 1 ? "cmn-CN" : language == 2 ? "en-US" : "fr-FR", text, fileName); } catch (Exception e) { throw new RuntimeException(e); } @@ -1063,7 +1081,7 @@ public void run() { Process process = null; try { - process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/pushOrder" + orderPrivateCar.getDriverId() + ".mp3"); + process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } @@ -2093,7 +2111,7 @@ public void run() { pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0, ""); pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0, ""); - pushUtil.pushOfflinePayment(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1); + pushUtil.pushOfflinePayment(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getPayMoney()); } }).start(); @@ -2752,6 +2770,11 @@ if(state == 11){ map.put("state", map.get("oldState")); } + if(state == 12){ + OrderCancel query = orderCancelService.query(orderId, 1, null, null, 1); + map.put("cancelPayMoney", null == query ? 0 : query.getMoney()); + map.put("cancelMoney", null == query ? 0 : query.getMoney()); + } if(Integer.valueOf(String.valueOf(map.get("state"))) != 8 && Integer.valueOf(String.valueOf(map.get("state"))) != 9){ map.put("redPacketMoney", null); map.put("couponMoney", null); @@ -2762,6 +2785,7 @@ Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())")); if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){ Double special = query2.getSpecial(); + map.put("discount", special); orderPrivateCar.setDiscount(special); Double orderMoney = orderPrivateCar.getOrderMoney(); double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); @@ -2990,13 +3014,13 @@ String audioUrl = ""; switch (language1){ case 1: - audioUrl = "http://182.160.16.251:81/files/audio/ChangeAddress-CN.mp3"; + audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-CN.mp3"; break; case 2: - audioUrl = "http://182.160.16.251:81/files/audio/ChangeAddress-EN.mp3"; + audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-EN.mp3"; break; case 3: - audioUrl = "http://182.160.16.251:81/files/audio/ChangeAddress-FR.mp3"; + audioUrl = "http://182.160.16.251:81/files/audio/system/ChangeAddress-FR.mp3"; break; } pushUtil.pushModifyAddress(2, orderPrivateCar.getDriverId(), orderId, 1, 1, audioUrl); diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java index 613241c..96ae908 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java @@ -460,7 +460,7 @@ * @param orderId * @param orderType */ - public void pushOfflinePayment(Integer type, Integer uid, Integer orderId, Integer orderType){ + public void pushOfflinePayment(Integer type, Integer uid, Integer orderId, Integer orderType, Double money){ JSONObject jsonObject = new JSONObject(); jsonObject.put("code", 200); jsonObject.put("msg", "SUCCESS"); @@ -468,6 +468,7 @@ Map<String, Object> map = new HashMap<>(); map.put("orderId", orderId); map.put("orderType", orderType); + map.put("money", money); jsonObject.put("data", map); //调用推送 diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java index 549f90a..021b764 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java @@ -69,9 +69,9 @@ private Integer cancelId; @ApiModelProperty("订单总金额") private Double orderMoney; - @ApiModelProperty("起步里程") - private Double startMoney; @ApiModelProperty("起步价") + private Double startMoney; + @ApiModelProperty("起步里程") private Double startMileage; @ApiModelProperty("里程数") private Double mileage; diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java index 932adcd..6eb9aa7 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java @@ -60,6 +60,8 @@ private String remark; @ApiModelProperty("超时取消时间") private Long timeOutCancel; + @ApiModelProperty("司机超时时间") + private Long driverTimeOut; private String tripId; @@ -223,6 +225,14 @@ this.timeOutCancel = timeOutCancel; } + public Long getDriverTimeOut() { + return driverTimeOut; + } + + public void setDriverTimeOut(Long driverTimeOut) { + this.driverTimeOut = driverTimeOut; + } + @Override public String toString() { return "OrderWarpper{" + @@ -274,6 +284,7 @@ orderWarpper.setTripId(null != map.get("tripId") ? String.valueOf(map.get("tripId")) : ""); orderWarpper.setRemark(null != map.get("remark") ? String.valueOf(map.get("remark")) : ""); orderWarpper.setTimeOutCancel(null != map.get("timeOutCancel") ? Long.valueOf(String.valueOf(map.get("timeOutCancel"))) : 0); + orderWarpper.setDriverTimeOut(null != map.get("driverTimeOut") ? Long.valueOf(String.valueOf(map.get("driverTimeOut"))) : 0); list.add(orderWarpper); } } diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java index 7acf651..ded228b 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java @@ -413,7 +413,7 @@ if(null == orderTaxi){ return ResultUtil.error("取消订单失败,订单信息有误"); } - if(orderTaxi.getState() > 5 && orderTaxi.getState() != 11){ + if(orderTaxi.getState() > 5 && orderTaxi.getState() != 12){ return ResultUtil.error("取消订单失败,不合法的操作"); } if(null == orderTaxi.getDriverId()){//没有接单的情况 -- Gitblit v1.7.1