DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -1806,14 +1806,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName + ".mp3"); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName + ".mp3"); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverOnlineServiceImpl.java
@@ -257,14 +257,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); @@ -334,14 +341,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ReassignServiceImpl.java
@@ -33,7 +33,9 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; @@ -228,7 +230,7 @@ text = "Received a new ride order, starting from " + orderPrivateCar.getStartAddress() + ", the whole journey is about " + orderPrivateCar.getEstimatedMileage() + "kilometre"; break; case 3: text = "J'ai reçu une nouvelle commande de course, à partir de " + orderPrivateCar.getStartAddress() + ", le trajet complet est d’environ " + orderPrivateCar.getEstimatedMileage() + "kilométrage"; text = "Reçu une nouvelle commande de course, à partir de " + orderPrivateCar.getStartAddress() + ", le trajet complet est d’environ " + orderPrivateCar.getEstimatedMileage(); break; } @@ -243,14 +245,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); @@ -479,7 +488,7 @@ text = "Received a new delivery order, starting from " + orderLogistics.getStartAddress() + ", the whole journey is about " + orderLogistics.getEstimatedMileage() + "kilometre"; break; case 3: text = "J'ai reçu une nouvelle commande de livraison, à partir de " + orderLogistics.getStartAddress() + ", le trajet complet est d’environ " + orderLogistics.getEstimatedMileage() + "kilométrage"; text = "Reçu une nouvelle commande de livraison, à partir de " + orderLogistics.getStartAddress() + ", le trajet complet est d’environ " + orderLogistics.getEstimatedMileage(); break; } @@ -494,14 +503,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SettlementRecordServiceImpl.java
@@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.IOException; @@ -132,6 +133,7 @@ * @return */ @Override @Transactional public ResultUtil paymentSettlementAmount(Integer driverId, Integer payType, Integer bankCardId, Integer language) throws Exception { Driver driver1 = driverService.selectById(driverId); QuerySettlementAmount querySettlementAmount = querySettlementAmount(language, driverId); @@ -172,7 +174,7 @@ ResultUtil resultUtil = ResultUtil.success(""); if(payType == 1){//手机支付 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String merchantTransactionId = sdf.format(new Date()) + language + payType + driver1; String merchantTransactionId = sdf.format(new Date()) + language + payType + driver1.getId(); CheckoutRequest checkoutRequest = new CheckoutRequest(); checkoutRequest.setMsisdn(Long.valueOf(driver1.getPhone())); checkoutRequest.setCustomerEmail(driver1.getEmail()); @@ -196,7 +198,7 @@ if(payType == 2){//银行卡支付 BankCard bankCard = bankCardService.selectById(bankCardId); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); String merchantTransactionId = sdf.format(new Date()) + language + payType + driver1; String merchantTransactionId = sdf.format(new Date()) + language + payType + driver1.getId(); CheckoutRequest checkoutRequest = new CheckoutRequest(); checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode())); checkoutRequest.setCustomerEmail(driver1.getEmail()); @@ -224,76 +226,48 @@ Double laveActivityMoney = driver1.getLaveActivityMoney(); Double laveBusinessMoney = driver1.getLaveBusinessMoney(); //活动余额小于结算金额 if(null != laveActivityMoney && 0 < laveActivityMoney && laveActivityMoney.compareTo(payMoney) < 0){ driver1.setLaveActivityMoney(0D); for (SettlementRecord settlementRecord : settlementRecords) { Double payMoney1 = settlementRecord.getPayMoney(); if(laveActivityMoney >= payMoney1){ settlementRecord.setPayMoney(payMoney1); for (SettlementRecord settlementRecord : settlementRecords) { Double payMoney1 = settlementRecord.getPayMoney(); if(laveActivityMoney >= payMoney1){ settlementRecord.setPayMoney(payMoney1); settlementRecord.setPaymentStatus(2); settlementRecord.setPayType(payType); settlementRecord.setBalanceType(1); settlementRecord.setPayTime(new Date()); this.updateById(settlementRecord); balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, payMoney1, settlementRecord.getType() + 2); laveActivityMoney = new BigDecimal(laveActivityMoney).subtract(new BigDecimal(payMoney1)).doubleValue(); }else{ if(laveActivityMoney > 0){ settlementRecord.setPayMoney(laveActivityMoney); settlementRecord.setPaymentStatus(2); settlementRecord.setPayType(payType); settlementRecord.setBalanceType(1); settlementRecord.setPayTime(new Date()); this.updateById(settlementRecord); balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, payMoney1, settlementRecord.getType() + 2); laveActivityMoney = new BigDecimal(laveActivityMoney).subtract(new BigDecimal(payMoney1)).doubleValue(); }else{ Double m = payMoney1; if(laveActivityMoney > 0){ settlementRecord.setPayMoney(laveActivityMoney); settlementRecord.setPaymentStatus(2); settlementRecord.setPayType(payType); settlementRecord.setBalanceType(1); settlementRecord.setPayTime(new Date()); this.updateById(settlementRecord); balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, laveActivityMoney, settlementRecord.getType() + 2); laveActivityMoney = 0D; m = new BigDecimal(payMoney1).subtract(new BigDecimal(laveActivityMoney)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); } SettlementRecord settlementRecord1 = new SettlementRecord(); BeanUtils.copyProperties(settlementRecord, settlementRecord1); settlementRecord1.setId(null); settlementRecord1.setPayMoney(m.doubleValue()); settlementRecord1.setBalanceType(2); this.insert(settlementRecord1); balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 2, m.doubleValue(), settlementRecord.getType() + 2); laveBusinessMoney = new BigDecimal(laveBusinessMoney).subtract(new BigDecimal(m)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, laveActivityMoney, settlementRecord.getType() + 2); laveActivityMoney = 0D; payMoney1 = new BigDecimal(payMoney1).subtract(new BigDecimal(laveActivityMoney)).setScale(2, RoundingMode.HALF_EVEN).doubleValue(); } } driver1.setLaveBusinessMoney(laveBusinessMoney); } //活动余额大于结算金额 if(null != laveActivityMoney && 0 < laveActivityMoney && laveActivityMoney.compareTo(payMoney) >= 0){ driver1.setLaveActivityMoney(new BigDecimal(laveActivityMoney).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); for (SettlementRecord settlementRecord : settlementRecords) { settlementRecord.setPaymentStatus(2); settlementRecord.setPayType(payType); settlementRecord.setBalanceType(1); settlementRecord.setPayTime(new Date()); this.updateById(settlementRecord); balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 1, payMoney, settlementRecord.getType() + 2); } } if(null == laveActivityMoney || 0 == laveActivityMoney){ driver1.setLaveActivityMoney(0D); driver1.setLaveBusinessMoney(new BigDecimal(laveBusinessMoney).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); for (SettlementRecord settlementRecord : settlementRecords) { settlementRecord.setPaymentStatus(2); settlementRecord.setPayType(payType); settlementRecord.setBalanceType(1); settlementRecord.setPayTime(new Date()); this.updateById(settlementRecord); balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 2, payMoney, settlementRecord.getType() + 2); } } driver1.setBalance(new BigDecimal(driver1.getBalance()).subtract(new BigDecimal(payMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); SettlementRecord settlementRecord1 = new SettlementRecord(); BeanUtils.copyProperties(settlementRecord, settlementRecord1); settlementRecord1.setId(null); settlementRecord1.setPayMoney(payMoney1.doubleValue()); settlementRecord1.setBalanceType(2); this.insert(settlementRecord1); balanceUsageRecordService.saveBalanceUsageRecord(settlementRecord.getDriverId(), 2, payMoney1.doubleValue(), settlementRecord.getType() + 2); laveBusinessMoney = new BigDecimal(laveBusinessMoney).subtract(new BigDecimal(payMoney1)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); } } driver1.setLaveBusinessMoney(laveBusinessMoney); driver1.setLaveActivityMoney(laveActivityMoney); driver1.setBalance(new BigDecimal(laveBusinessMoney).add(new BigDecimal(laveActivityMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver1); //添加交易明细 transactionDetailsService.saveData(driverId, "支付结算费用", payMoney, 2, 1, 2, null, null); driverService.updateById(driver1); return ResultUtil.success(""); } return resultUtil; DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/quartz/jobs/OrderTimeOutJob.java
@@ -22,7 +22,9 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.List; @@ -210,14 +212,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TDriverMapper.xml
@@ -91,7 +91,7 @@ else '' end ) as serverStr,driverId from t_driver_service GROUP BY driverId) as ds on ds.driverId = dd.id ) as o <where> FIND_IN_SET(o.authState,'1,4') and o.flag != 3 FIND_IN_SET(o.authState,'1,4') and o.flag != 3 and o.lastName is not null <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''"> AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59')) </if> ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserActivityDiscount1ServiceImpl.java
@@ -383,7 +383,7 @@ french_go.text("Demander une livraison avec I-GO"); } Element french_discount = document1.getElementById("french_discount"); french_discount.text("Profitez aujourd’hui de " + new BigDecimal(100).subtract(new BigDecimal(aDouble)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() + "% de réduction sur les commandes de livraison, allez sur la plate-forme I-GO pour voir le détail."); french_discount.text("Profitez aujourd’hui de " + new BigDecimal(100).subtract(new BigDecimal(aDouble)).setScale(2, RoundingMode.HALF_EVEN).doubleValue() + "% de réduction sur les commandes de " + (key.equals("ride") ? "course" : "livraison") + ", allez sur la plate-forme I-GO pour voir le détail."); EmailUtil.send(user.getEmail(), "Activités à rabais", document1.html()); } //开始生成pdf收据和html收据 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -1398,14 +1398,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName + ".mp3"); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName + ".mp3"); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/controller/OrderLogisticsController.java
@@ -27,7 +27,9 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.*; @@ -404,13 +406,13 @@ String text = ""; switch (language){ case 1: text = "您的包裹订单申请补差价 GSH " + difference + " 已被用户拒绝,请重新与用户协商"; text = "您的包裹订单申请补差价 GHS " + difference + " 已被用户拒绝,请重新与用户协商"; break; case 2: text = "Your delivery order,Request difference GSH " + difference + " was rejected, please renegotiate with the subscriber"; text = "Your delivery order,Request difference GHS " + difference + " was rejected, please renegotiate with the subscriber"; break; case 3: text = "Votre commande de livraison,Demande de différence GSH " + difference + " a été rejeté, veuillez renégocier avec l’abonné"; text = "Votre commande de livraison,Demande de différence GHS " + difference + " a été rejeté, veuillez renégocier avec l’abonné"; break; } @@ -424,14 +426,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -596,14 +596,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); @@ -817,14 +824,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); @@ -934,14 +948,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); @@ -1811,7 +1832,50 @@ 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, orderLogistics.getPayMoney()); Integer language1 = driver.getLanguage(); String text = ""; switch (language1){ case 1: text = "客户已选择支付现金,因此您必须收款。确定您已收到此订单费用:现金GHS " + orderLogistics.getPayMoney(); break; case 2: text = "The client chose to pay in cash, so you must collect the payment.Confirm if you received the charge for this order: Cash GHS " + orderLogistics.getPayMoney(); break; case 3: text = "Le client a choisi de payer en espèces, vous devez donc encaisser le paiement.Confirmez si vous avez reçu les frais pour cette commande : Espèces GHS " + orderLogistics.getPayMoney(); break; } String audioUrl = ""; String fileName = "offlinePayment" + orderLogistics.getDriverId() + UUIDUtil.getRandomCode(5) + ".mp3"; try { audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, fileName); } catch (Exception e) { throw new RuntimeException(e); } //定时任务删除语音文件 new Timer().schedule(new TimerTask() { @Override public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); pushUtil.pushOfflinePayment(2, orderLogistics.getDriverId(), orderLogistics.getId(), 4, orderLogistics.getPayMoney(), audioUrl); } }).start(); UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -426,14 +426,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); @@ -543,14 +550,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); @@ -1072,14 +1086,21 @@ new Timer().schedule(new TimerTask() { @Override public void run() { Process process = null; try { process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); } catch (IOException e) { throw new RuntimeException(e); } if (process != null) { process.destroy(); // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); @@ -2382,7 +2403,50 @@ 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, orderPrivateCar.getPayMoney()); Integer language1 = driver.getLanguage(); String text = ""; switch (language1){ case 1: text = "客户已选择支付现金,因此您必须收款。确定您已收到此订单费用:现金GHS " + orderPrivateCar.getPayMoney(); break; case 2: text = "The client chose to pay in cash, so you must collect the payment.Confirm if you received the charge for this order: Cash GHS " + orderPrivateCar.getPayMoney(); break; case 3: text = "Le client a choisi de payer en espèces, vous devez donc encaisser le paiement.Confirmez si vous avez reçu les frais pour cette commande : Espèces GHS " + orderPrivateCar.getPayMoney(); break; } String audioUrl = ""; String fileName = "offlinePayment" + orderPrivateCar.getDriverId() + UUIDUtil.getRandomCode(5) + ".mp3"; try { audioUrl = TextToSpeechUtil.create(language1 == 1 ? "cmn-CN" : language1 == 2 ? "en-US" : "fr-FR", text, fileName); } catch (Exception e) { throw new RuntimeException(e); } //定时任务删除语音文件 new Timer().schedule(new TimerTask() { @Override public void run() { try { // 使用Runtime执行命令 Process process = Runtime.getRuntime().exec("sudo rm -rf /home/igotechgh/nginx/html/files/audio/" + fileName); // 读取命令的输出 BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // 等待命令执行完成 process.waitFor(); // 关闭流 reader.close(); } catch (IOException | InterruptedException e) { e.printStackTrace(); } } }, 30000); pushUtil.pushOfflinePayment(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getPayMoney(), audioUrl); } }).start(); UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
@@ -458,7 +458,7 @@ * @param orderId * @param orderType */ public void pushOfflinePayment(Integer type, Integer uid, Integer orderId, Integer orderType, Double money){ public void pushOfflinePayment(Integer type, Integer uid, Integer orderId, Integer orderType, Double money, String audioUrl){ JSONObject jsonObject = new JSONObject(); jsonObject.put("code", 200); jsonObject.put("msg", "SUCCESS"); @@ -467,6 +467,7 @@ map.put("orderId", orderId); map.put("orderType", orderType); map.put("money", money); map.put("audioUrl", audioUrl); jsonObject.put("data", map); //调用推送