From 9c41027041765f90a2ff7392350933e56d79fc8d Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 26 七月 2024 16:29:00 +0800
Subject: [PATCH] 2.0bug修改

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 52 insertions(+), 5 deletions(-)

diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
index 0fba0af..0a83283 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
@@ -14,6 +14,8 @@
 import com.stylefeng.guns.core.util.ExcelExportUtil;
 import com.stylefeng.guns.core.util.SinataUtil;
 import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.system.controller.util.PushUtil;
+import com.stylefeng.guns.modular.system.controller.util.TextToSpeechUtil;
 import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
 import com.stylefeng.guns.modular.system.dao.TSystemPriceMapper;
 import com.stylefeng.guns.modular.system.model.*;
@@ -31,10 +33,7 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
+import java.io.*;
 import java.math.BigDecimal;
 import java.math.MathContext;
 import java.math.RoundingMode;
@@ -215,6 +214,7 @@
         orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用
         //添加已收入明细
         TCompany company = companyService.selectById(orderPrivateCar.getCompanyId());
+        TDriver tDriver = driverService.selectById(orderPrivateCar.getDriverId());
         Double taxi = company.getSpeMoney().doubleValue();
         BigDecimal d = null;//企业收入
         BigDecimal c = null;//司机收入
@@ -235,7 +235,6 @@
             driver.setFrozenMoney(driver.getFrozenMoney().add(c));
             driverService.updateById(driver);
         }else{
-
             TDriver driver = driverService.selectById(orderPrivateCar.getDriverId());
             driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
             driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
@@ -243,13 +242,61 @@
             driver.setFrozenMoney(driver.getFrozenMoney().subtract(c));
             driverService.updateById(driver);
         }
+        if (orderPrivateCar.getIsFrozen() == 1){
+            // 冻结订单需要给司机播报一个语音内容
+            Integer language1 = tDriver.getLanguage();
+            String text = "";
+            switch (language1){
+                case 1:
+                    text = "" ;
+                    break;
+                case 2:
+                    text = "";
+                    break;
+                case 3:
+                    text = "";
+                    break;
+            }
+            TOrderPrivateCar finalOrderPrivateCar = orderPrivateCar;
+            String audioUrl = "";
+            try {
+                audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, "pushOrder" + orderPrivateCar.getDriverId() + ".mp3");
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+            //定时任务删除语音文件
+            new Timer().schedule(new TimerTask() {
+                @Override
+                public void run() {
+                    Process process = null;
+                    try {
+                        process = Runtime.getRuntime().exec("rm -rf /usr/local/nginx/html/files/audio/pushOrder" + finalOrderPrivateCar.getDriverId() + ".mp3");
+                    } catch (IOException e) {
+                        throw new RuntimeException(e);
+                    }
+                    if (process != null) {
+                        process.destroy();
+                    }
+                }
+            }, 30000);
 
+            String finalAudioUrl = audioUrl;
+
+            new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    pushUtil.pushOrderState(2, finalOrderPrivateCar.getDriverId(), finalOrderPrivateCar.getId(), 1, 2, 0, finalAudioUrl);
+                }
+            }).start();
+        }
         orderPrivateCar.setIsFrozen(orderPrivateCar.getIsFrozen()==1?2:1);
         orderPrivateCar.setState(7);
         tOrderPrivateCarService.updateAllColumnById(orderPrivateCar);
 
         return SUCCESS_TIP;
     }
+    @Autowired
+    private PushUtil pushUtil;
     @Resource
     private TSystemPriceMapper systemPriceMapper;
     public TOrderPrivateCar setMoney(TOrderPrivateCar orderPrivateCar, Double parkingFee, Double crossingFee) throws Exception {

--
Gitblit v1.7.1