zhibing.pu
2024-08-12 796dc4887bfc37eb29e5ac6c4737e51ff7ab4299
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;
@@ -215,6 +217,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 +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,13 +245,24 @@
            driver.setFrozenMoney(driver.getFrozenMoney().subtract(c));
            driverService.updateById(driver);
        }
        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.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 {
@@ -523,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());