From 796dc4887bfc37eb29e5ac6c4737e51ff7ab4299 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期一, 12 八月 2024 11:41:46 +0800 Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/IgoTravel into 2.0 --- ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java | 55 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 37 insertions(+), 18 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 8bcef47..9ab399f 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; @@ -72,6 +71,9 @@ @Autowired private FleetEngineUtil fleetEngineUtil; + + @Resource + private ITUserService userService; @@ -212,9 +214,10 @@ @ResponseBody public Object frozenOrder(@RequestParam Integer tOrderPrivateCarId) throws Exception { TOrderPrivateCar orderPrivateCar = tOrderPrivateCarService.selectById(tOrderPrivateCarId); - + 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 +238,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,21 +245,28 @@ driver.setFrozenMoney(driver.getFrozenMoney().subtract(c)); driverService.updateById(driver); } - - orderPrivateCar.setIsFrozen(orderPrivateCar.getIsFrozen()==1?2:1); - - - - if(orderPrivateCar.getArriveTime()==null){ - orderPrivateCar.setArriveTime(orderPrivateCar.getStartServiceTime()); + if (orderPrivateCar.getIsFrozen() == 1){ + // 冻结订单需要给司机推送一个消息; + TOrderPrivateCar finalOrderPrivateCar = orderPrivateCar; + new Thread(new Runnable() { + @Override + public void run() { + pushUtil.pushOrderState(2, finalOrderPrivateCar.getDriverId(), finalOrderPrivateCar.getId(), 1, 7, 0, ""); + } + }).start(); } - orderPrivateCar = this.setMoney(orderPrivateCar, 0D, 0D);//计算费用 + 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 { + System.err.println("计算金额:"+orderPrivateCar); Map<String, Object> query1 = systemPriceMapper.query(orderPrivateCar.getCompanyId(), 1, orderPrivateCar.getServerCarModelId()); //开始根据不同的方式计算金额 double amount = 0; @@ -295,7 +304,15 @@ Date date = new Date(); double d = (null == orderPrivateCar.getMileage() ? 0D : orderPrivateCar.getMileage()) / 1000;//实际公里 - double t = ((orderPrivateCar.getEndServiceTime().getTime() - orderPrivateCar.getStartServiceTime().getTime()) / 60000) + 1;//实际时间(不满一分钟按一分钟算) + if (orderPrivateCar.getEndServiceTime() == null){ + orderPrivateCar.setEndServiceTime(new Date()); + } + double t=1; + if (orderPrivateCar.getStartServiceTime() == null){ + t = 1;//实际时间(不满一分钟按一分钟算) + }else{ + t = ((orderPrivateCar.getEndServiceTime().getTime() - orderPrivateCar.getStartServiceTime().getTime()) / 60000) + 1;//实际时间(不满一分钟按一分钟算) + } double w = ((orderPrivateCar.getStartServiceTime().getTime() - orderPrivateCar.getArriveTime().getTime()) / 60000) + 1;//等待分钟(不满一分钟按一分钟算) double d1 = (d - num2) < 0 ? 0 : d - num2;//超出起步里程的公里 double t1 = (t - num3) < 0 ? 0 : new BigDecimal(t - num3).setScale(0, BigDecimal.ROUND_UP).doubleValue();//超过起步分钟数的时间 @@ -519,12 +536,14 @@ tOrderPrivateCar.setState(10); tOrderPrivateCarService.updateById(tOrderPrivateCar); - + + TUser tUser = userService.selectById(tOrderPrivateCar.getUserId()); + Integer language = tUser.getLanguage(); OrderCancel orderCancel = new OrderCancel(); orderCancel.setOrderId(tOrderPrivateCarId); orderCancel.setOrderType(1); - orderCancel.setReason("The platform cancels the order"); - orderCancel.setRemark("The platform cancels the order"); + orderCancel.setReason(language == 1 ? "平台取消订单" : language == 2 ? "The platform cancelled the order" : "La plateforme a annulé la commande"); + orderCancel.setRemark(language == 1 ? "平台取消订单" : language == 2 ? "The platform cancelled the order" : "La plateforme a annulé la commande"); orderCancel.setUserType(2); orderCancel.setState(2); orderCancel.setInsertTime(new Date()); -- Gitblit v1.7.1