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